-
-
Notifications
You must be signed in to change notification settings - Fork 925
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
Minitest rails not working on 9000 #2491
Comments
Interesting...sounds like it's bailing out when running some subprocesses. Can you make a little dummy app for us to reproduce this? I'm not sure how to set it up myself. |
@headius I tried to create an dummy app... |
I have now found the error I will put up a test app as soon as I have cleaned it up a bit. Also I found a bonus error which I also include that I found in my desperate testing.(that you will see when you run the tests on 9000 but not on 1.7.18 or MRI 2.2) I will put it on github. :) |
I created the dummy app and it's available here: |
Hmm .. I couldn't reproduce it with the test app and latest master. [subbu@earth minitest-9000-test] jruby -S rake test:controllers |
@subbuss Hmmmm... Running: .. Finished in 0.047701s, 41.9278 runs/s, 41.9278 assertions/s. 2 runs, 2 assertions, 0 failures, 0 errors, 0 skips When I run it under 9000: |
I have seen an issue when working on test_refinements that IR bugs throwing exceptions can at time cause the execution of the class body to abort but not actually raise and abort execution. We definitely should get some magic catchall (which I thought the C2 crasher was about) to see this condition. I am not clear on how it happens. |
Phew .. after digging around a bit, here is what I found. @enebo @headius So, if you instrument the at_exit method in minitest-5.5.1/lib/minitest.rb .. in IR mode, the test run exits with: "in autorun with method 'method_missing' not defined in FactoryGirl::DefinitionProxy" whereas in jruby 1.7, no such exception is raised. To be continued ... |
That might be a bogus exception, or it might be that |
So, I dug into this just now and quickly found that this is basically a dupe of #1601 which is still open. So, there are several places in the runtime where RaiseException is being caught but |
I can now confirm that with this diff below, minitest app runs to completion. Rather than do a one-off commit (which I am happy to do), will wait to chat with @enebo and @headius to see how to handle #1601 .. why the new IR runtime is requiring this change and why the old AST runtime didn't require this. I am fairly positive that the new runtime solution is the right fix, but maybe I am missing something ...
|
I've fixed all instances I could find that were missing $! save restore. This should fix this specific failure for minitest. Please reopen if it is not fixed. Let us continue the other part of the discussion on #1601 .. |
I use minitest-rails as a testsuit for my rails app but cannot get it working on 9000.
So when I run it under 1.7.18 it executes all my controller tests with:
rake test:controllers
Under jRuby 9000 it only runs:
** Invoke test:controllers (first_time)
** Invoke test:prepare (first_time)
** Execute test:prepare
** Execute test:controllers
Then just quits no output at all.
The text was updated successfully, but these errors were encountered: