Skip to content

power_assert didn't show .class result sometimes with Ruby 3.4 #53

Open

Description

@hsbt

I faced flaky result with Ruby 3.4.2 and power_assert.

https://github.com/hsbt/minitest-power_assert/actions/runs/13891945806/job/38865298257

# success
❯ rake test
Run options: --seed 18518

# Running:

.    assert { "0".class == "3".to_i.times.map {|i| i + 1 }.class }
                 |     |      |    |     |                |
                 |     |      |    |     |                Array
                 |     |      |    |     [1, 2, 3]
                 |     |      |    #<Enumerator: 3:times>
                 |     |      3
                 |     false
                 String
.......

Finished in 0.029726s, 269.1247 runs/s, 672.8117 assertions/s.

8 runs, 20 assertions, 0 failures, 0 errors, 0 skips
# failed 
❯ rake test
Run options: --seed 57838

# Running:

....    assert { "0".class == "3".to_i.times.map {|i| i + 1 }.class }
                       |      |    |     |
                       |      |    |     [1, 2, 3]
                       |      |    #<Enumerator: 3:times>
                       |      3
                       false
F...

Finished in 0.030614s, 261.3184 runs/s, 653.2959 assertions/s.

The above issue is happend with one out of every five fails.

Activity

  1. hsbt commented on Oct 29, 2025

    @hsbt
    MemberAuthor

    @k-tsj Is it okay to release 3.0.0 from the current master branch? We have a plan to next preview release after next week. It's good time to next release.

  2. k-tsj commented on Oct 30, 2025

    @k-tsj
    Member

    @hsbt I'll release 3.0.0 this weekend. (I want to update the doc before that)

  3. k-tsj commented on Nov 2, 2025

    @k-tsj
    Member
  4. hsbt commented on Nov 4, 2025

    @hsbt
    MemberAuthor

    @k-tsj Thanks! Unfortunately, I still got the flaky result with 3.0.0: https://github.com/hsbt/minitest-power_assert/actions/runs/19058217831/job/54432734168

    I forgot to root cause of this issue. Is it fixed at 3.0.0?

  5. k-tsj commented on Nov 4, 2025

    @k-tsj
    Member

    Is it fixed at 3.0.0?

    No, because it looks like a VM bug. For more details, please search for the keyword “power_assert vm_call_single_noarg_leaf_builtin” in ruby-lang slack.

    I'll take a look when I have some time, but I can’t promise anything...

    cc: @ko1

  6. hsbt commented on Nov 4, 2025

    @hsbt
    MemberAuthor

    🙏 Thanks for your explanation. It's not rush things, I will add the workaround to minitest-power_assert.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions