Tests for version 0.21.8 are failing in ruby 3.2.2 with rbs 2.8.2
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 833
- Forks
- 99
- Avg merge
- 9h 30m
- Merged PRs (30d)
- 12
Description
When running the tests for this gem I get the following error:
(none):1: warning: possibly useless use of a literal in void context
Loaded suite /usr/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/rake_test_loader
Started
....Initialized empty Git repository in /build/ruby-typeprof/src/typeprof-0.21.8/testbed/diff-lcs/.git/
From https://github.com/mame/diff-lcs
* branch de838d2df80514adbf22c26daed728ddd06af60b -> FETCH_HEAD
.(none):25: warning: possibly useless use of a constant in void context
path/to/file:25: warning: possibly useless use of a constant in void context
....TypeProf for IDE is started successfully
......................................................................
...............................................................................
............F
===============================================================================
Failure: test: smoke/integer.rb(TypeProf::SmokeTest)
/build/ruby-typeprof/src/typeprof-0.21.8/test/typeprof/smoke_test.rb:36:in `block (2 levels) in <class:SmokeTest>'
33: expected = actual
34: end
35:
=> 36: assert_equal(expected, actual)
37: end
38: end
39: end
<"# Classes\n" +
"class Object\n" +
" private\n" +
" def foo: (Integer? x) -> nil\n" +
"end\n"> expected but was
<"# Classes\n" +
"class Object\n" +
" private\n" +
" def foo: (Integer x) -> nil\n" +
"end\n">
diff:
# Classes
class Object
private
? def foo: (Integer? x) -> nil
end
===============================================================================
...............................................................................
....................................................................
Finished in 43.381750919 seconds.
-------------------------------------------------------------------------------
318 tests, 361 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
99.6855% passed
-------------------------------------------------------------------------------
7.33 tests/s, 8.32 assertions/s
rake aborted!
Command failed with status (1)
Tasks: TOP => test
(See full trace by running task with --trace)
This seems to be a regression from https://github.com/ruby/typeprof/commit/30a334ee36d843e549c9f2bc0df0daeec18f2cd1 which is designed to make the tests compatible to rbs 3.2.0. This seems to make the tests only support rbs >= 3.2.0, but the gemspec file stills says rbs >= 1.8.1 is required and supported: https://github.com/ruby/typeprof/blob/v0.21.8/typeprof.gemspec#L33
So I guess either the test needs to be updated to somehow support all the rbs versions, or the gem needs to update its requirements for the minimal required version of rbs.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the failing test suite and read test/typeprof/smoke_test.rb, especially the smoke/integer.rb expectation. Then inspect typeprof.gemspec and the referenced compatibility change to determine whether the supported rbs range or the test behavior should change. Done means the suite passes with the declared rbs support, with the minimum-version decision reflected consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100