-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MinGW and parallel tests #27
Comments
Hello, The So if I understand, what happens is one of the mspec-run subprocesses do not clear their rubyspec_temp_#{i}, causing the main process to fail? Could you try running with |
Setting CHECK_LEAKS=True doesn't change the output. The contents of rubyspec_temp are:
Log is essentially the same for both
|
|
All I've got is what's shown above. It fails/stops pretty quickly. Only the Using the patch file (before your real commit) the footer was
|
OK, I pushed a few fixes to mspec (this repo), could you try running with that? Parallel mspec is still new and experimental, sorry for that. |
The last commit, b4236a6, should now show which file produced the extra output. Hopefully it will help to narrow down the issue. |
@eregon Sorry for the delay, had to step out One temp dir, Below is the log file, I don't know if all the spaces after the quoted file name are significant --
|
Ah, you are probably running mspec with |
@eregon Sorry, I'm not sure when I added that. Maybe disable that options if -j is used? It works, Thank you. Just ran mspec
I just checked, and I've been running test-spec & mspec since 14-May, and I think shortly thereafter I went to parallel, as I can see the times drop. I wish I could say how, why, or when I added the -V. At present, I don't save the scripts for each build. Maybe I should start... As builds are often logged, anyway to remove the line for each file? I'm logging with a Windows specific syntax that pipes both STDOUT and STDERR to one file... Thanks again. |
Great! I think either we should forbid
Remove which line(s)? |
Yes. or, any option that will just output results when using Updating my MinGW test results page shortly, both |
On my TODO list is writing code to doc the When I get to it, I may have some questions... |
Right, currently this is a limitation that the formatter handling parallel mspec always uses a progress bar. |
86c3bee now allows
Please ask :) There is some old documentation at http://ruby.github.io/rubyspec.github.io/ but it's quite outdated and incomplete. I filed #28 and #29 to track improvements to the parallel functionality of mspec. |
I apologize for the -V issue. I just got back to looking at this, and I noticed that my last build used the internal ruby/spec/mspec files, so it ran fine parallel without the -V. MSYS2 / MinGW is kind of a combination of *nix and Windows. The make.exe file is normally in a I created a :mingw group in Thanks again. |
No worry, it was good to improve the error message and figure this out. AppVeyor seems to have Feel free to post a ruby/spec issue with these failures if you want to test on that platform. |
@eregon As long as we're here... This is somewhat messy, as MinGW / MSYS / MSYS2 issues are somewhat messy. DevKit is part of RubyInstaller. DevKit was a 'hand-assembled' build system (based on MSYS & MinGW) that could build Ruby and extension gems. For all sorts of reasons, it was replaced with RubyInstaller2, which is what Ruby 2.4+ builds are using. RubyInstaller2 forgoes the 'hand-assembled' and uses the standard MSYS2 / MinGW build system. Windows Re So, yes, at present, the appveyor configuration used by ruby does include Sorry for the history, but I thought it might explain some things... |
I think it would be worth discussing this on the CRuby tracker. |
@eregon
When trying to get
make test-spec
work parallel, Windows / MinGW has an issue with temp files, often when they're used in a block. Seems to be due to a process not closing all files before ending.This generates the error in
lib/mspec/helpers/tmp.rb at_exit
.I added the following patch file, tests report the same, CAPI *.so files are created, etc. I tested both using
make test-spec
andmspec
.I'm just not sure if this allows other possible failures/errors/skips to not be reported...
The text was updated successfully, but these errors were encountered: