builder.py: correctly set $3 to include the subdir path.

If we're using a .do file from a parent directory, we should set $3 using
the same path prefix as $1.  We were previously using just the basename,
which mostly works (since we would rename it to $1$2 eventually anyway) but
is not quite right, and you can't safely rename files across filesystems, so
it could theoretically cause problems.

Also improved t/defaults-nested to test for this behaviour.

Reported by Eric Kow.
This commit is contained in:
Avery Pennarun 2011-01-18 00:40:55 -08:00
commit c077d77285
3 changed files with 15 additions and 14 deletions

View file

@ -15,19 +15,19 @@ check()
fi
}
check file.x.y.z "root file.x.y.z"
check file.z "root file.z"
check file "root file"
check file.x.y.z "root file.x.y.z ."
check file.z "root file.z ."
check file "root file ."
check a/file.x.y.z "default.x.y.z file .x.y.z"
check a/file.y.z "default.z file.y .z"
check a/file.z "default.z file .z"
check a/file "root a/file"
check a/file "root a/file a"
check a/b/file.x.y.z "file file.x.y.z"
check a/b/file.y.z "default.y.z file .y.z"
check a/b/file.z "default.z b/file .z"
check a/b/file "root a/b/file"
check a/b/file "root a/b/file a/b"
check a/d/file.x.y.z "default file.x.y.z"
check a/d/file.y.z "default file.y.z"