"DIR /o" (no order specifier after /o) hasn't functioned the same as it does on Windows. This change makes the functionality of /o by itself equivalent to behavior on Windows.
--
v18: programs/cmd: Remove @todo_wine@ from working tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131
"DIR /o" (no order specifier after /o) hasn't functioned the same as it does on Windows. This change makes the functionality of /o by itself equivalent to behavior on Windows.
--
v17: programs/cmd: Remove @todo_wine@ from working tests
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131
This MR enforces alignment of TLS slots as described in PE file.
I'm not 100% happy with the deallocation scheme, as it could be slow.
If someone has a better idea, be welcome!
Didn't open the option to introduce helpers in heap.c (but maybe that's the way to go).
--
v2: ntdll: Enforce the alignment of TLS directory entries.
kernel32/tests: Add a test about TLS slot alignment.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7251
On Tue Feb 4 18:49:40 2025 +0000, eric pouech wrote:
> something is not correct. you should get something like:
> ```
> Test output:
> cmd.exe:batch start programs/cmd/tests/batch.c
> 0208:err:start:parse_command_line Unknown option 'L"/foobar"'
> 02a0:err:start:parse_command_line Unknown option 'L"/foobar"'
> batch.c:454: running TEST_BUILTINS.BAT test...
> batch.c:348: Test marked todo: unexpected char 0x39 position 11 in line
> 22 (got 'ERRORLEVEL 9009', wanted 'ERRORLEVEL 3')
> batch.c:348: Test marked todo: unexpected char 0x53 position 0 in line
> 61 (got 'SUCCESS 1', wanted 'FAILURE 1')
> batch.c:348: Test marked todo: unexpected char 0x30 position 8 in line
> 64 (got 'SUCCESS 0', wanted 'SUCCESS 666')
> batch.c:348: Test marked todo: unexpected char 0x46 position 0 in line
> 69 (got 'FAILURE 1', wanted 'a@space@')
> batch.c:348: Test marked todo: unexpected char 0x2d position 0 in line
> 70 (got '---', wanted 'b@space@')
> batch.c:348: Test marked todo: unexpected char 0x2d position 0 in line
> 71 (got '---', wanted 'FAILURE 1')
> batch.c:340: Test marked todo: excess characters on line 152 (got
> 'SUCCESS 0', wanted 'SUCCESS@space@')
> batch.c:348: Test marked todo: unexpected char 0x46 position 0 in line
> 161 (got 'FAILURE 1', wanted 'SUCCESS 666')
> batch.c:348: Test marked todo: unexpected char 0x46 position 0 in line
> 162 (got 'FAILURE 1', wanted 'SUCCESS 666')
> batch.c:337: Test marked todo: unexpected end of line 212 (got 'SUCCESS
> 666', wanted '@formfeed@SUCCESS 666')
> batch.c:337: Test marked todo: unexpected end of line 213 (got 'SUCCESS
> 666', wanted '@formfeed@SUCCESS 666')
> batch.c:454: running TEST_BUILTINS.CMD test...
> batch.c:348: Test marked todo: unexpected char 0x26 position 71 in line
> 93 (got 'C:\users\eric\AppData\Local\Temp\wct>(echo the @ character
> chains until&&@echo we leave the current depth||( ', wanted '@pwd@>(echo
> the @ character chains until && ) && echo and can hide brackets || () ||@space@')
> batch.c:348: Test marked todo: unexpected char 0x65 position 0 in line
> 94 (got 'echo hidden', wanted 'the @ character chains until')
> batch.c:348: Test marked todo: unexpected char 0x29 position 0 in line
> 95 (got '))&&echo and can hide brackets||(@echo command hidden)||@(echo
> brackets hidden)', wanted 'we leave the current depth')
> batch.c:348: Test marked todo: unexpected char 0x74 position 0 in line
> 96 (got 'the @ character chains until', wanted 'and can hide brackets')
> batch.c:348: Test marked todo: unexpected char 0x77 position 0 in line
> 97 (got 'we leave the current depth', wanted '---')
> batch.c:348: Test marked todo: unexpected char 0x61 position 0 in line
> 97 (got 'and can hide brackets', wanted '---')
> batch.c:348: Test marked todo: unexpected char 0x3d position 41 in line
> 138 (got 'C:\users\eric\AppData\Local\Temp\wct>if 1==1 echo foo ',
> wanted '@pwd@>if 1 == 1 echo foo@space@')
> batch.c:348: Test marked todo: unexpected char 0x3d position 41 in line
> 141 (got 'C:\users\eric\AppData\Local\Temp\wct>if 1==1 @echo bar ',
> wanted '@pwd@>if 1 == 1@space@')
> batch.c:337: Test marked todo: unexpected end of line 428 (got 'j2',
> wanted 'j2@space@')
> batch.c:348: Test marked todo: unexpected char 0x39 position 11 in line
> 473 (got 'ERRORLEVEL 9009', wanted 'ERRORLEVEL 3')
> batch.c:348: Test marked todo: unexpected char 0x53 position 0 in line
> 512 (got 'SUCCESS 1', wanted 'FAILURE 1')
> batch.c:348: Test marked todo: unexpected char 0x30 position 8 in line
> 515 (got 'SUCCESS 0', wanted 'SUCCESS 666')
> batch.c:348: Test marked todo: unexpected char 0x46 position 0 in line
> 520 (got 'FAILURE 1', wanted 'a@space@')
> batch.c:348: Test marked todo: unexpected char 0x2d position 0 in line
> 521 (got '---', wanted 'b@space@')
> batch.c:348: Test marked todo: unexpected char 0x2d position 0 in line
> 522 (got '---', wanted 'FAILURE 1')
> batch.c:340: Test marked todo: excess characters on line 603 (got
> 'SUCCESS 0', wanted 'SUCCESS@space@')
> batch.c:348: Test marked todo: unexpected char 0x46 position 0 in line
> 612 (got 'FAILURE 1', wanted 'SUCCESS 666')
> batch.c:348: Test marked todo: unexpected char 0x46 position 0 in line
> 613 (got 'FAILURE 1', wanted 'SUCCESS 666')
> batch.c:337: Test marked todo: unexpected end of line 663 (got 'SUCCESS
> 666', wanted '@formfeed@SUCCESS 666')
> batch.c:337: Test marked todo: unexpected end of line 664 (got 'SUCCESS
> 666', wanted '@formfeed@SUCCESS 666')
> batch.c:348: Test marked todo: unexpected char 0x5e position 5 in line
> 849 (got 'after^', wanted 'after!')
> batch.c:348: Test marked todo: unexpected char 0x20 position 5 in line
> 1773 (got '
> C:\users\eric\AppData\Local\Temp\wct\foobar\baz', wanted '
>
>
>
>
> R@spaces@@drive@@path@foobar\baz@or_broken@@spaces@@drive@@path@foobar\baz@or_broken@
> R I@spaces@@drive@@path@foobar\baz')
> batch.c:348: Test marked todo: unexpected char 0x6f position 1 in line
> 1801 (got ''one two three'', wanted '' one two three'@or_broken@Skipped
> as not enough permissions')
> batch.c:348: Test marked todo: unexpected char 0x30 position 0 in line
> 1830 (got '0', wanted '1')
> batch.c:340: Test marked todo: excess characters on line 1853 (got 'cp3
> ', wanted 'cp3')
> batch.c:340: Test marked todo: excess characters on line 1942 (got
> 'ErrLev: 0', wanted 'ErrLev:@space@')
> batch.c:348: Test marked todo: unexpected char 0x30 position 8 in line
> 1945 (got 'ErrLev: 0', wanted 'ErrLev:@space@@or_broken@ErrLev: 0')
> batch.c:348: Test marked todo: unexpected char 0x35 position 1 in line
> 2062 (got '25', wanted '21')
> batch.c:348: Test marked todo: unexpected char 0x46 position 0 in line
> 2064 (got 'Failure', wanted 'Success')
> batch.c:454: running TEST_CMDLINE.CMD test...
> 01bc:batch: 2490 tests executed (40 marked as todo, 0 as flaky, 0
> failures), 0 skipped.
> cmd.exe:batch:01bc done (0) in 37s 5389B
> cmd.exe:directory start programs/cmd/tests/directory.c
> 0754:directory: 24 tests executed (0 marked as todo, 0 as flaky, 0
> failures), 0 skipped.
> cmd.exe:directory:0754 done (0) in 0s 90B
> ```
I see; I need to remove the @todo_wine@ from the passing tests.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131#note_93605