Check that user dependencies exist before running builders.
IMHO it's more intuitive if env.depends("my-target", "invalid-dep")
causes the build to fail when "invalid-dep" does not exist, rather
than having no effect (i.e. the build still succeeds with no warning).
This will make it more obvious, earlier, if you made a mistake in
an env.depends() call. Otherwise the mistake could sit latent for
a while until you happen to notice that a build used a out-of-date
copy of some file rather than rebuilding it.
I've only added the check for user dependencies, not for direct
sources. Listing a source file that doesn't exist will probably
cause the builder to fail anyway, so I don't think the preliminary
check is needed in that case.
This commit is contained in:
1 parent
eff9a10d0c
commit
24ed649982
4 files changed
+37
-15
No files matched your search
@@ -417,14 +417,14 @@ EOF
|
||||
expect(result.stderr).to eq ""
|
||||
expect(lines(result.stdout)).to eq(["LD simple.exe"])
|
||||
|
||||
File.unlink("program.ld")
|
||||
result = run_test(rsconsfile: "user_dependencies.rb")
|
||||
expect(result.stderr).to eq ""
|
||||
expect(lines(result.stdout)).to eq ["LD simple.exe"]
|
||||
|
||||
result = run_test(rsconsfile: "user_dependencies.rb")
|
||||
expect(result.stderr).to eq ""
|
||||
expect(result.stdout).to eq ""
|
||||
|
||||
File.unlink("program.ld")
|
||||
result = run_test(rsconsfile: "user_dependencies.rb")
|
||||
expect(result.stderr).to match /User dependency program\.ld of target simple\.exe is invalid/
|
||||
expect(result.status).to_not eq 0
|
||||
end
|
||||
|
||||
unless ENV["omit_gdc_tests"]
|
||||
|
||||
Reference in new issue
Block a user