sorawee
2020-12-21 14:07:39

~@shu—hung: https://github.com/racket/racket/runs/1586174409 is run after your PR is merged. It contains failures, and yet it is reported as succeed. Do you know what’s going on?~

Re foreign tests: https://github.com/ilammy/msvc-dev-cmd might be useful to get cl.exe (required by dynext, which in turn is required by the foreign tests) installed.


sorawee
2020-12-21 14:13:53

Hmm. It looks like VS2019 is already installed, too.


sorawee
2020-12-21 14:14:06

Would changing 10.0 to 2019 fix the problem?


sorawee
2020-12-21 14:18:35

Yep, https://github.com/racket/racket/blob/master/racket/src/worksp/build.bat indicates that cl should be available already.


shu--hung
2020-12-21 17:38:19

From the README in worksp, build depends on msvcprep.bat which in turn calls vcvarsall.bat to set the environment variables. So I tried running msvcprep.bat before running the core tests, but it still doesn’t work. https://github.com/shhyou/racket/commit/92d5d0afaf32636edfa0f288ed8f61dfee7e17de


mflatt
2020-12-21 18:07:45

A long shot: The dynext library checks the CC environment variable before looking for cl.exe. The CC environmet variable is not set, right?


mflatt
2020-12-21 18:08:47

Nevermind: it also checks whether CC works


shu--hung
2020-12-21 19:17:01

Okay: a bug the setup code in the foreign.rktl tests on Windows deletes the existing content of PATH. However, there are some other issues with the include path. Probably the content of those variables should be kept as well. https://github.com/racket/racket/blob/master/pkgs/racket-test-core/tests/racket/foreign-test.rktl#L78-L86


shu--hung
2020-12-21 19:20:55

Another test failuare in the date.rktl tests is beyond what I can understand. The call (seconds->date -1), (seconds->date -86300) and (seconds->date -86400) are failing specifically for Racket CS on Windows. At the rumble layer, time-utc->date is failing for (make-time 'time-utc 0 -1), (make-time 'time-utc 0 -86400) and so on.

I can open an issue for this later.