@kulshekhar, please contact me via email. We have to add webhook to repo settings in order to run builds on appveyor(Windows testing) when something pushed.
Plus, it would be great, if you take a look at appveyor.yml, because our builds failed when they don't have to.
It looks like appveyor is now building in response to a PR. Let me know if you still need me to contact you via email.
The appveyor.yml file looks fine to me. Based on the build logs also it seems fine. It's only one test that's failing and it doesn't seem to failing due to configuration issues.
This looks quite similar to that error that we had a bit of a discussion around (async/await related). It seems that the way the external Jest process is handled on Windows might be the cause behind this failure.
@kulshekhar, it's not a problem with test or killing, because on my windows machine tests are successfully passed. Seems to be some issues with build machines.
I've checked my tests on 3 different windows machines and everywhere it works just fine.
I'll take a closer look at this issue with Appveyor this weekend
@Igmat the issue was the use of beforeAll and afterAll. Do you think replacing them with beforeEach and afterEach as done in #55 is fine? (that PR causes one test in this file to fail but that can probably be looked at if this change is fine)
Based on some debugging, it seemed like the then blocks for two of the tests were not even being executed earlier.
@kulshekhar, unfortunately we can't use beforEach because test logic is based on that we are running one Jest process in watch mode for several changes, and in PR #55 you are running different process for each change.
If the point is to see whether the watch mode behaves as expected when a change is made, I don't see the problem in running it separately for each test. As it stands, two of the tests are anyways not being run (even on linux, I suspect)
The latest batch of changes seems to have done the job.
@Igmat if you still want to run a single jest process, the problem might be here. You might want to check for Ran all in the stdout of the process. It seems that as soon as the first test (whose error stream contains Ran all) is run, the listeners are removed.
It's most likely this that prevents the other tests from running. that didn't help
And if you're fine with running separate Jest processes, just merge this PR
@kulshekhar, why did you decide that second and third tests aren`t running?
As we can see here they were executed.
I remember log statements in 2 tests not printing several times. However, I could be mistaken on this (I was testing a lot of different things and could've changed something that caused this). Please ignore that comment.
That aside, I think #55 tests all the scenarios:
Hello.tsHello.ts and Hello.test.tsSo if you're fine with it, I'll merge that in. If not, I'll close that PR.
Let's wait a little bit. I'm trying to check some stuff that could help...
Sure. I'm not looking at this issue for now so if you need any help, let me know
I guess that it's an AppVeyor problem, so I've created issue on their GitHub repo and at help forum.
@Igmat It seems that Appveyor can't figure out the problem without a simpler setup (which I'm also not sure how to provide). Should we just work around it like in #55? If so, I'll rebase and merge that PR in
Nope, that PR just breaks test logic and they become useless. I think we have to change config in way which just will omit watch-tests on AppVeyor. I'll propbably do it today.
Ok, I've fixed it in #74.
@kulshekhar, please change badge in readme to that you have inside AppVeyor, because now it points to my account and that's why shows incorrect build status.
P.S.
Let leave this issue open - I hope that sometime I'll be able to narrow real problem and AppVeyor support or myself will fix this strange issue.