NB: replies on wine-devel should be only the bottom
Hmm... gmail.... new style compose window.... missed the ...'s - How obvious is that... hopefully sorted?
I don't really understand your point here. You're echoing the variable
name anyway, so if the 'set foo' displays it as well; I don't see the advantage of your method
If you have a script which does e.g. set WINE_var1, then it outputs 'WINE_var1=42' or whatever, but is that the right value? With the existing echo behviour its a real pain to know, and relies on you using the make test to run all the suite, then compare the output with some predefined list of results. If you have a script which echo's something like 'wine_var1 correctly 42' or 'ERROR: wine_var1 is 42 and it should be -1' then you immediately see the result. This is especially useful in that you can then extract the portion you need to test into a standalone command file, test on multiple os's, add other tests, then put back into the test suite trivially. Far better than just a straight echo out. I'd also suggest such coding mirrors all the other testsuites, where you check the results you expect then and there, meaning the code and expected values are all side by side.
An interim option might be something like 'checkcontents var value var
value' type routine - would that be better?
Seems convoluted. Why just no go KISS?
Because of the above - I very strongly believe the above its far clearer when both writing and debugging - See the cmd copy tests, for example
Unfortunately this is the point NT4 kicks in and is a right pain...
My ideal solution: :check_vars if "%1"=="" goto :eof for /f "tokens=2 delims==" %%i in ('set %1') do ( if "%%i"=="%2" (echo %1 correctly %2) else echo ERROR: %1 incorrectly %%i [%2] ) set %1= shift shift rem shift goto :check_vars
This doesnt work as NT4s for /f is just screwed. The only solution I ended up with is the far from ideal
:check_vars if "%1"=="" goto :eof call :executecmd set wine_result=%%%1%% if "%wine_result%"=="%2" ( echo %1 correctly %2 ) else echo ERROR: %1 incorrectly %wine_result% [%2] set %1= shift shift rem shift goto :check_vars :executecmd %* goto :eof
Any alternative suggestions?
In other "non-for /a" test, there's never a WINE_foo1 anywhere. Using
"foo", "bar" and "baz" when you have at most 3 arguments seems standard practice to me.
Ok, I really dont care what they are called - easy enough to fix with a simple search/replace.
Any comments on the rest of the patches, especially the code one?
Jason