-
Notifications
You must be signed in to change notification settings - Fork 1
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
Run main Ruby tests with MMTk enabled in CI #78
Commits on Jul 18, 2024
-
This commit creates a github actions workflow that builds Ruby with the latest commit of the mmtk-ruby binding and runs `make test-all` with MMTk enabled. Several changes were necessary to make this CI pipeline pass: - C99 prohibits empty compile units, so some code had to be moved around in mmtk_support.c to introduce some superfluous #include directives. These should either be optimised out or remain unused so have little impact on the final binary. - Correct the dependancy lists in common.mk, by building with the appropiate flags defined in `tool/update-deps` and subsequently running `make update-deps` - Pre-fixing all externally visible MMTk related symbols and globals with `rb_` - Skipping tests related to GC compaction or other functionality specific to Ruby's GC. - Updating YJIT bindings
Configuration menu - View commit details
-
Copy full SHA for aaa64d1 - Browse repository at this point
Copy the full SHA aaa64d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for f1f5046 - Browse repository at this point
Copy the full SHA f1f5046View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a82448 - Browse repository at this point
Copy the full SHA 0a82448View commit details -
Configuration menu - View commit details
-
Copy full SHA for a358315 - Browse repository at this point
Copy the full SHA a358315View commit details -
Configuration menu - View commit details
-
Copy full SHA for 633976c - Browse repository at this point
Copy the full SHA 633976cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4507574 - Browse repository at this point
Copy the full SHA 4507574View commit details -
Configuration menu - View commit details
-
Copy full SHA for e6c2909 - Browse repository at this point
Copy the full SHA e6c2909View commit details -
Configuration menu - View commit details
-
Copy full SHA for b39b230 - Browse repository at this point
Copy the full SHA b39b230View commit details -
Configuration menu - View commit details
-
Copy full SHA for c9c7655 - Browse repository at this point
Copy the full SHA c9c7655View commit details -
Configuration menu - View commit details
-
Copy full SHA for faf842b - Browse repository at this point
Copy the full SHA faf842bView commit details -
Configuration menu - View commit details
-
Copy full SHA for a5b04c9 - Browse repository at this point
Copy the full SHA a5b04c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5399882 - Browse repository at this point
Copy the full SHA 5399882View commit details
Commits on Jul 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e0b0964 - Browse repository at this point
Copy the full SHA e0b0964View commit details -
The native extension is missing a symbol
Configuration menu - View commit details
-
Copy full SHA for 8f0b8df - Browse repository at this point
Copy the full SHA 8f0b8dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 14bcd7d - Browse repository at this point
Copy the full SHA 14bcd7dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2aa6a87 - Browse repository at this point
Copy the full SHA 2aa6a87View commit details -
Configuration menu - View commit details
-
Copy full SHA for a76bea9 - Browse repository at this point
Copy the full SHA a76bea9View commit details -
don't override the name for the generic make job
the result job depends on it
Configuration menu - View commit details
-
Copy full SHA for 5691191 - Browse repository at this point
Copy the full SHA 5691191View commit details -
Configuration menu - View commit details
-
Copy full SHA for e4dc631 - Browse repository at this point
Copy the full SHA e4dc631View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd30650 - Browse repository at this point
Copy the full SHA cd30650View commit details -
Configuration menu - View commit details
-
Copy full SHA for c227ebb - Browse repository at this point
Copy the full SHA c227ebbView commit details -
Configuration menu - View commit details
-
Copy full SHA for cfd5a24 - Browse repository at this point
Copy the full SHA cfd5a24View commit details
Commits on Jul 22, 2024
-
don't resize if str capacity is already big enough
fixes segv in open_ssl/test_ssl.rb test related to ruby assertion that capacity was sized correctly.
Configuration menu - View commit details
-
Copy full SHA for 313e4b2 - Browse repository at this point
Copy the full SHA 313e4b2View commit details -
Use excludes-dir for which tests to skip
If we use the `excludes-dir` functionality instead of making a method to skip tests we: 1) get a smaller diff 2) can just skip entire files without needing to include a module 3) don't run into the missing symbol problem caused when checking enabled? in certain tests Locally tests can be run like this to skip the problematic tests/files: ``` make -j12 test-all RUBY_TESTOPTS="--excludes-dir=test/.excludes-mmtk" RUN_OPTS="--mmtk --mmtk-plan=StickyImmix" TESTS=test/objspace/test_objspace.rb ```
Configuration menu - View commit details
-
Copy full SHA for d33d28f - Browse repository at this point
Copy the full SHA d33d28fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a278827 - Browse repository at this point
Copy the full SHA a278827View commit details -
Configuration menu - View commit details
-
Copy full SHA for 93c8592 - Browse repository at this point
Copy the full SHA 93c8592View commit details
Commits on Jul 23, 2024
-
* The filename was incorrect * We don't need to skip all of them, only 6 are segfaulting
Configuration menu - View commit details
-
Copy full SHA for 9c09477 - Browse repository at this point
Copy the full SHA 9c09477View commit details -
Without this, nogc won't run at all and is completely broken. It's required to set a max heap for NoGC.
Configuration menu - View commit details
-
Copy full SHA for 1b24fd4 - Browse repository at this point
Copy the full SHA 1b24fd4View commit details -
Add StringCapacity test skip file
These tests are testing an implementation detail of Ruby's GC.
Configuration menu - View commit details
-
Copy full SHA for cc01d30 - Browse repository at this point
Copy the full SHA cc01d30View commit details -
The crash reports don't include `+MMTK` in the version string. They don't for prism or yjit either, but instead of working around it and "fixing" it in the test, just skip them.
Configuration menu - View commit details
-
Copy full SHA for c2aa89f - Browse repository at this point
Copy the full SHA c2aa89fView commit details -
Skip gc compaction tests in TestWeakKeyMap
GC compaction isn't supported by mmtk
Configuration menu - View commit details
-
Copy full SHA for 7e30307 - Browse repository at this point
Copy the full SHA 7e30307View commit details -
These are just testing the bug report matches the expected output, not really worth fixing for this
Configuration menu - View commit details
-
Copy full SHA for bcbcf74 - Browse repository at this point
Copy the full SHA bcbcf74View commit details -
Object allocation tracing isn't supported in MMTk
Configuration menu - View commit details
-
Copy full SHA for 650b5d8 - Browse repository at this point
Copy the full SHA 650b5d8View commit details -
Auto compaction isn't implemented in mmtk, we can skip these
Configuration menu - View commit details
-
Copy full SHA for c54bccd - Browse repository at this point
Copy the full SHA c54bccdView commit details -
Skip objspace test in test_file_exhaustive
ObjectSpace isn't implemented for mmtk
Configuration menu - View commit details
-
Copy full SHA for 4c3945e - Browse repository at this point
Copy the full SHA 4c3945eView commit details
Commits on Jul 24, 2024
-
Configuration menu - View commit details
-
Copy full SHA for bd6bc5e - Browse repository at this point
Copy the full SHA bd6bc5eView commit details -
Otherwise we run out of space and it panics trying to do a GC. Note: I don't think mmtk should try to GC if we run out of space, it should panic and say ran out of space. It's confusing that it tries to GC at all.
Configuration menu - View commit details
-
Copy full SHA for 5b27245 - Browse repository at this point
Copy the full SHA 5b27245View commit details -
Increase string size so it's embedded
In MMTK the str_embed_capa is much larger (64) than CRuby (which is 16) so increase the string size to test mmtk
Configuration menu - View commit details
-
Copy full SHA for 06de000 - Browse repository at this point
Copy the full SHA 06de000View commit details -
The other builds have a `working-directory` key, but this one did not.
Configuration menu - View commit details
-
Copy full SHA for d72c0e8 - Browse repository at this point
Copy the full SHA d72c0e8View commit details
Commits on Jul 29, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 89ee17a - Browse repository at this point
Copy the full SHA 89ee17aView commit details -
* Remove diffs that change nothing * Fix skipped nogc test * We don't need --mmtk flag if we set the plan, mmtk is turned on automatically
Configuration menu - View commit details
-
Copy full SHA for d833fa5 - Browse repository at this point
Copy the full SHA d833fa5View commit details