On Mon, Nov 19, 2012 at 10:03 PM, Ann and Jason Edmeades jason@edmeades.me.uk wrote:
Existance of external environment variables should not cause make test to fail, but it can cause extra lines in some of the set commands if the test does not first clear them out.
[Fixes bug 32087]
diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd index a1a3c4a..3efcd2a 100644 --- a/programs/cmd/tests/test_builtins.cmd +++ b/programs/cmd/tests/test_builtins.cmd @@ -239,6 +239,9 @@ set FOO=
echo ------------ Testing 'set' ------------ call :setError 0 +rem Remove any FOO* BA* environment variables from shell before proceeding +for /f "delims==" %%i in ('set ba') do set %%i= +for /f "delims==" %%i in ('set foo') do set %%i= set FOOBAR 2> nul > nul echo %ErrorLevel% set FOOBAR = baz
IMHO it might be better to use variable names like WINE_xxx for tests involving "enumerations" to avoid needlessly altering the environment. (not that BAR, FOO or FOOBAR are likely to be already used environment variables)
Frédéric
IMHO it might be better to use variable names like WINE_xxx for tests involving "enumerations" to avoid needlessly altering the environment. (not that BAR, FOO or FOOBAR are likely to be already used environment variables)
Frédéric
Thanks!
We dont really change the environment long term, as the test spawns a process which has its process modified and runs to completion ie any changes are thrown away. However, I do agree that if there was an important environment variable which controlled the shell (in the bug's case it was BASH_xxx, but could be anything) then it would be wise to leave it in place, so such a change probably isnt a bad idea anyway. (I'll make this change in try 2, as I need to fix the broken NT4 stuff from patch 1 anyway)
Jason
On 11/20/12 12:39 AM, Ann and Jason Edmeades wrote:
(I'll make this change in try 2, as I need to fix the broken NT4 stuff from patch 1 anyway)
I think it's time to consider skipping all cmd tests on NT4. Adding @or_broken@ for NT4 mostly pollutes those tests.
Jacek
On 20 November 2012 12:15, Jacek Caban jacek@codeweavers.com wrote:
On 11/20/12 12:39 AM, Ann and Jason Edmeades wrote:
(I'll make this change in try 2, as I need to fix the broken NT4 stuff from patch 1 anyway)
I think it's time to consider skipping all cmd tests on NT4. Adding @or_broken@ for NT4 mostly pollutes those tests.
Jacek
Please...please... please.... please....
I'm fed up with working around broken and missing functionality in NT4 for the tests - its taken longer sometimes than writing the code!
Who makes this decision, and if agreed, how is the skipping done?
Jason
On 11/20/12 16:00, Ann and Jason Edmeades wrote:
On 20 November 2012 12:15, Jacek Caban <jacek@codeweavers.com mailto:jacek@codeweavers.com> wrote:
On 11/20/12 12:39 AM, Ann and Jason Edmeades wrote: (I'll make this change in try 2, as I need to fix the broken NT4 stuff from patch 1 anyway) I think it's time to consider skipping all cmd tests on NT4. Adding @or_broken@ for NT4 mostly pollutes those tests. Jacek
Please...please... please.... please....
I'm fed up with working around broken and missing functionality in NT4 for the tests - its taken longer sometimes than writing the code!
Yeah, that's why I hope at some point we will obsolete NT4 just like we did with Win9x, but that's a subject for separated discussion. Let's concentrate on skipping individual tests for now.
Who makes this decision, and if agreed,
It's the usual, someone has to write a patch, send it and see if anyone objects and is accepted by Alexandre. In this case I don't expect anyone to object.
how is the skipping done?
See cmd_available in batch.c. The easiest way to skip NT4 would be probably to change it to return FALSE on this platform. Note that you can't explicitly test windows version, but if something like running a script that you know that fails only on NT4 would do the trick.
Jacek
Jacek Caban jacek@codeweavers.com writes:
Yeah, that's why I hope at some point we will obsolete NT4 just like we did with Win9x, but that's a subject for separated discussion. Let's concentrate on skipping individual tests for now.
We can probably retire NT4 when we switch to the new testbot.