I can run MSpec to completion for language, core, and library specs. Thank you for the encouragement :D.
I've implemented a runner that can skip known things that cause the spec to hang (e.g. Mutex specs since Artichoke has a single-threaded implementation of Mutex that deadlocks during the specs).
$ pushd spec-runner/vendor/ruby/language
$ cargo run --bin spec-runner **/*.rb
Passed 1078, skipped 35, not implemented 2, failed 476 specs.
$ popd; pushd spec-runner/vendor/ruby/core
$ cargo run --bin spec-runner **/*.rb
Passed 5412, skipped 998, not implemented 201, failed 8629 specs.
$ popd; pushd spec-runner/vendor/ruby/library
$ cargo run --bin spec-runner **/*.rb
Passed 0, skipped 22, not implemented 16, failed 3276 specs.
The library specs pass number is a bug in my spec runner. All packages added to Artichoke pass ruby/spec. Those packages are : delegate, forwardable, json, monitor, ostruct, set, srscan, and uri.
I've implemented a runner that can skip known things that cause the spec to hang (e.g. Mutex specs since Artichoke has a single-threaded implementation of Mutex that deadlocks during the specs).
The library specs pass number is a bug in my spec runner. All packages added to Artichoke pass ruby/spec. Those packages are : delegate, forwardable, json, monitor, ostruct, set, srscan, and uri.