testdouble / teenytest

A very simple, zero-config test runner for Node.js
MIT License
96 stars 14 forks source link

Get the build onto windows #26

Open searls opened 8 years ago

searls commented 8 years ago

I mistakenly thought this repo had Appveyor set up already (like scripty does).

Things teenytest should do:

searls commented 8 years ago

Teenytest seems to run OK on windows as evidenced by this https://ci.appveyor.com/project/searls/test-smells/build/1.0.37

I think the core issue is our build won't itself work on Windows b/c of all the unix hackery

webstech commented 1 year ago

Documenting my Windows experience. Maybe this can go in a wiki page the README.md can point to. There have been a number of changes in the tests since this issue was opened. Hopefully this can be helpful. The main issues encountered:

webstech commented 1 year ago

Regarding the previous comment, several items under Making it Work can be done and should not cause a problem for any platform.

There are other win32 issues with child_process.spawn that other issues linked in this issue mention. These will be addressed separately.

webstech commented 1 year ago

PRs #74 and #75 have been opened to improve Windows support.

searls commented 1 year ago

Hi @webstech -- thanks for putting in the effort to get us closer here. I merged your two PRs and added a github action to monitor progress. I also updated all dependencies and cut a release as v6.0.4

searls commented 1 year ago

@webstech Here's an example of where the windows build is failing in CI https://github.com/testdouble/teenytest/actions/runs/4156748629/jobs/7190751458

webstech commented 1 year ago

@searls I opened a PR implementing the changes listed above under 'Making it Work'. No issue if you disagree with the directions I chose - just trying to get it to work.

I noticed a difference in the tests between platforms that I have not researched. test:unit has 9 tests on bashy platforms and 10 tests on Windows. The missing test is:

ok 10 - "counts the number of deeply nested things with 'type' test" - test #1 in `test/plugins/tap13/count-tests-test.js`

Seems like ** in the glob did not get the multi-level subdirs.