Resolve compiler source paths through file descriptors
This commit is contained in:
@@ -73,6 +73,16 @@ if [[ "$(http_marker)" != *"dependency-marker-a"* ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Compiler source canonicalization must retain symlink-target identity while
|
||||
# avoiding realpath's repeated per-segment probes on ordinary source graphs.
|
||||
printf '%s\n' 'String symlink_dependency_marker() { return("symlink-marker-a"); }' >"$source_dir/symlink-target-a.uce"
|
||||
printf '%s\n' 'String symlink_dependency_marker() { return("symlink-marker-b"); }' >"$source_dir/symlink-target-b.uce"
|
||||
ln -s "symlink-target-a.uce" "$source_dir/symlink-child.uce"
|
||||
printf '%s\n' '#load "symlink-child.uce"' 'CLI(Request& context) { print(symlink_dependency_marker()); }' >"$source_dir/symlink-parent.uce"
|
||||
assert_marker symlink-parent symlink-marker-a
|
||||
ln -sfn "symlink-target-b.uce" "$source_dir/symlink-child.uce"
|
||||
assert_marker symlink-parent symlink-marker-b
|
||||
|
||||
# HTTP entry units can resolve route/components dynamically. A changed dynamic
|
||||
# component must enter the demand-priority queue just like a changed entry unit;
|
||||
# otherwise a common dependency rebuild can leave the requested page stale for
|
||||
|
||||
Reference in New Issue
Block a user