alire
alire copied to clipboard
Running Windows CI, problem with alr run
I’ve made a couple of crates now (one pending, one new) with the test crate in a subdirectory.
One of the crates’ test program takes no parameters, and this works fine on Ubuntu and Windows:
cd test; alr --non-interactive run
The other one’s test does take parameters; if I say
cd tests; alr --non-interactive run tashtest --args=tashtest.tcl
then it works fine on Ubuntu, but on Windows I get
[link] tashtest.adb
Build finished successfully in 9.84 seconds.
ERROR: The requested executable is not built by this release (see declared list with 'alr run --list')
Error: Process completed with exit code 1.
This worked OK on both Ubuntu and Windows:
cd tests; alr --non-interactive build; ./tashtest tashtest.tcl
Sounds like a weird bug.
Can you please run: cd tests; alr --non-interactive -vv run tashtest --args=tashtest.tcl on both?
OK, running here: https://github.com/simonjwright/tcladashell/actions. The interesting ones are 19 & 21; 19 had
cd tests; alr --non-interactive -vv run --args tashtest.tcl
and 21 had this (I put in the -d because 20 asked for it; it doesn't look very enlightening)
cd tests; alr --non-interactive -vv -d run tashtest --args tashtest.tcl
My diagnosis would be that when I tell alr run to run tashtest, it's looking specifically for tashtest and not spotting tashtest.exe. When I let it look for the one and only executable for itself, it gets it right.
Why did I name the executable to run? -- because originally there were two executables generated. On reviewing them, I found that one was (now) pointless, so removed it from executables in the manifest.
Thanks Simon, from the summary you provide in your last post it's clear what the problem is. We're fixing the file extension for the default executable name but not when it's explicitly given.
(In regard to -d, this is only useful when there is some exception being internally caught. Otherwise it makes no difference.)