
~@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.

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

Would changing 10.0 to 2019 fix the problem?

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

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

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

Nevermind: it also checks whether CC
works

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

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.