-
Notifications
You must be signed in to change notification settings - Fork 555
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
Spec classes aren't marshallable #794
Comments
There is a fix for this in blowmage/minitest-rails#218 |
This looks like a duplicate of #716 ? |
I did come across that PR while searching for solutions to this issue (probably should have mentioned that in the issue description). However it looks like your patch linked in the gist only fixed marshalling for the |
Previously, spec test classes could not be marshalled because Marshal does not work on singleton classes. This prevented use cases like parallelizing test runs across multiple processes using DRb to pass tests to forked processes. This commit defines a unique constant for every spec class which will allow them to be marshalled/unmarshalled and sent through DRb. minitest#794
Previously, spec test classes could not be marshalled because Marshal does not work on singleton classes. This prevented use cases like parallelizing test runs across multiple processes using DRb to pass tests to forked processes. This commit defines a unique constant for every spec class which will allow them to be marshalled/unmarshalled and sent through DRb. minitest#794
Right... but my patch decouples the results from the classes entirely. So this isn't for sending results over the wire? Why do you need to marshal the spec class? |
Poke... @blowmage as well. |
The way I understand it, with Rails 6 parallel testing, the parent process collects all of the test classes/methods in a queue and serializes each one. Then the child processes pull jobs from that queue (over DRB), run the test, and pass the result back. |
I've got this working with a slightly different solution. Sorry it took me so long. |
Spec classes can't be marshal dumped. This prevents Rails 6 parallel testing from being used with minitest specs.
Reproduced with ruby-2.6.3:
The text was updated successfully, but these errors were encountered: