Auto-generated by cargo test -p rubyrs --test spec_status.
Regenerate with UPDATE_SPEC_STATUS=1 cargo test -p rubyrs --test spec_status.
The example count below is "examples in the corpus". Passing is
gated separately by tests/ruby_spec.rs (full cargo test -p rubyrs
/ CI); when both this test and ruby_spec are green together, the
count below is also the passing count.
| Metric | Count |
|---|---|
| Files | 171 |
| Examples in corpus | 1138 |
Skipped it traces |
155 |
| Category | Count |
|---|---|
divergent |
2 |
fixture |
53 |
method-not-implemented |
81 |
mock |
19 |
Most categories come from crates/rubyrs-spec-extract/scripts/polish.py's
DROP_PATTERNS (fixture / mock / method-not-implemented plus the
hook-form before-not-lifted / after-not-supported). Specs may also
introduce manually-authored categories — e.g. divergent marks a block
rubyrs runs but with intentionally-different observable behavior.
Find blocks unlocked by a future feature with e.g.
git grep "# skipped (method-not-implemented)".
| Class | Files | Examples | Skipped |
|---|---|---|---|
| Array | 26 | 171 | 49 |
| Autoload | 1 | 20 | 0 |
| BasicObject | 3 | 15 | 0 |
| Block | 1 | 8 | 0 |
| Complex | 1 | 5 | 0 |
| Float | 3 | 15 | 0 |
| Hash | 41 | 207 | 51 |
| Integer | 39 | 340 | 30 |
| Method | 12 | 61 | 1 |
| Module | 3 | 15 | 0 |
| Numeric | 1 | 8 | 0 |
| Range | 2 | 30 | 0 |
| Rational | 10 | 60 | 0 |
| String | 24 | 165 | 24 |
| UnboundMethod | 4 | 18 | 0 |
| File | Describe | Upstream | Examples | Skipped |
|---|---|---|---|---|
alias_method_spec.rb |
Module#alias_method | core/module/alias_method_spec.rb |
5 | 0 |
array_all_spec.rb |
Array#all? | core/array/all_spec.rb |
3 | 3 |
array_any_spec.rb |
Array#any? | core/array/any_spec.rb |
3 | 3 |
array_clear_spec.rb |
Array#clear | core/array/clear_spec.rb |
6 | 0 |
array_compact_spec.rb |
Array#compact | core/array/compact_spec.rb |
5 | 0 |
array_count_spec.rb |
Array#count | core/array/count_spec.rb |
3 | 0 |
array_each_slice_spec.rb |
Array#each_slice | core/array/each_slice_spec.rb / each_cons_spec.rb (Enumerable-inherited behaviour) |
15 | 0 |
array_empty_spec.rb |
Array#empty? | core/array/empty_spec.rb |
1 | 0 |
array_find_index_spec.rb |
Array#find_index | core/array/index_spec.rb + find_index_spec.rb |
12 | 0 |
array_first_spec.rb |
Array#first | core/array/first_spec.rb |
11 | 4 |
array_include_spec.rb |
Array#include? | core/array/include_spec.rb + shared/index.rb |
1 | 2 |
array_last_spec.rb |
Array#last | core/array/last_spec.rb |
10 | 4 |
array_length_spec.rb |
Array#length | core/array/length_spec.rb + shared/length.rb |
1 | 1 |
array_map_spec.rb |
Array#map | core/array/map_spec.rb + shared/collect.rb |
3 | 3 |
array_none_spec.rb |
Array#none? | core/array/none_spec.rb |
3 | 3 |
array_pop_shift_first_last_arity_spec.rb |
Array#pop arity & type guards | core/array/pop_spec.rb / shift_spec.rb / first_spec.rb / last_spec.rb (arity + Float coerce) |
12 | 0 |
array_pop_spec.rb |
Array#pop | core/array/pop_spec.rb |
8 | 7 |
array_reject_spec.rb |
Array#reject | core/array/reject_spec.rb |
2 | 4 |
array_reverse_spec.rb |
Array#reverse | core/array/reverse_spec.rb |
2 | 4 |
array_select_spec.rb |
Array#select | core/array/select_spec.rb + shared/select.rb |
1 | 4 |
array_shift_spec.rb |
Array#shift | core/array/shift_spec.rb |
9 | 6 |
array_size_spec.rb |
Array#size | core/array/size_spec.rb + shared/length.rb |
1 | 1 |
array_take_spec.rb |
Array#take | core/array/take_spec.rb |
5 | 0 |
array_uniq_spec.rb |
Array#uniq | core/array/uniq_spec.rb |
13 | 0 |
autoload_phase1_spec.rb |
toplevel autoload(:Sym, path) registration | 20 | 0 | |
block_rescue_propagation_spec.rb |
Block exception propagation through iter drivers | 8 | 0 | |
class_eval_spec.rb |
Module#class_eval | core/module/class_eval_spec.rb |
6 | 0 |
collection_arity_arg1_int_spec.rb |
Array#each_slice / #each_cons arity & type guards | core/array/each_slice_spec.rb (error-class assertions) |
16 | 0 |
collection_float_coerce_spec.rb |
Array#each_slice / #each_cons Float coercion | core/array/each_slice_spec.rb (Float coerce semantics) |
10 | 0 |
complex_protocol_spec.rb |
Complex#numerator / #denominator | core/complex/{numerator,denominator,finite, infinite,zero,rationalize}_spec.rb |
5 | 0 |
define_method_spec.rb |
Module#define_method | core/module/define_method_spec.rb |
4 | 0 |
float_adjacent_spec.rb |
Float#next_float / #prev_float | core/float/{next_float,prev_float}_spec.rb |
4 | 0 |
float_rationalize_spec.rb |
Float#rationalize | core/float/rationalize_spec.rb |
7 | 0 |
float_to_r_spec.rb |
Float#to_r | core/float/to_r_spec.rb |
4 | 0 |
hash_any_spec.rb |
Hash#any? | core/hash/any_spec.rb |
5 | 1 |
hash_compact_spec.rb |
Hash#compact | core/hash/compact_spec.rb |
2 | 4 |
hash_count_spec.rb |
Hash#count | core/hash/count_spec.rb + core/enumerable/count_spec.rb |
3 | 1 |
hash_default_proc_spec.rb |
Hash#default_proc | core/hash/default_proc_spec.rb |
2 | 1 |
hash_default_spec.rb |
Hash#default | core/hash/default_spec.rb |
3 | 1 |
hash_drop_spec.rb |
Hash#drop | core/hash/drop_spec.rb |
8 | 0 |
hash_each_pair_spec.rb |
Hash#each_pair | core/hash/each_pair_spec.rb + shared/each.rb |
3 | 2 |
hash_each_slice_spec.rb |
Hash#each_slice | core/hash/each_slice_spec.rb / each_cons_spec.rb / chunk_while_spec.rb (Enumerable-inherited behaviour) |
24 | 0 |
hash_each_with_object_spec.rb |
Hash#each_with_object | core/enumerable/each_with_object_spec.rb |
3 | 1 |
hash_empty_spec.rb |
Hash#empty? | core/hash/empty_spec.rb |
2 | 0 |
hash_except_spec.rb |
Hash#except | core/hash/except_spec.rb |
3 | 1 |
hash_fetch_spec.rb |
Hash#fetch | core/hash/fetch_spec.rb |
5 | 1 |
hash_find_index_spec.rb |
Hash#find_index | core/hash/find_index_spec.rb |
8 | 0 |
hash_first_spec.rb |
Hash#first | core/hash/first_spec.rb |
7 | 0 |
hash_flat_map_spec.rb |
Hash#flat_map | core/hash/flat_map_spec.rb |
6 | 1 |
hash_group_by_spec.rb |
Hash#group_by | core/enumerable/group_by_spec.rb + core/hash/group_by_spec.rb |
2 | 2 |
hash_inject_spec.rb |
Hash#inject | core/hash/inject_spec.rb |
7 | 1 |
hash_invert_spec.rb |
Hash#invert | core/hash/invert_spec.rb |
3 | 4 |
hash_keys_spec.rb |
Hash#keys | core/hash/keys_spec.rb |
2 | 0 |
hash_max_by_spec.rb |
Hash#max_by | core/enumerable/max_by_spec.rb |
3 | 2 |
hash_merge_spec.rb |
Hash#merge | core/hash/merge_spec.rb |
1 | 6 |
hash_min_by_spec.rb |
Hash#min_by | core/enumerable/min_by_spec.rb |
3 | 2 |
hash_min_max_spec.rb |
Hash#min | core/hash/{min,max}_spec.rb |
7 | 2 |
hash_nan_key_spec.rb |
Hash with Float::NAN keys | 4 | 0 | |
hash_one_spec.rb |
Hash#one? | core/hash/one_spec.rb |
6 | 0 |
hash_partition_spec.rb |
Hash#partition | core/hash/partition_spec.rb |
6 | 0 |
hash_range_first_last_arity_spec.rb |
Hash#first arity & type guards | core/hash/first_spec.rb / core/range/first_spec.rb / last_spec.rb (arity + Float coerce) |
14 | 0 |
hash_select_spec.rb |
Hash#select | core/hash/select_spec.rb + shared/select.rb |
2 | 2 |
hash_size_spec.rb |
Hash#size | core/hash/size_spec.rb |
3 | 0 |
hash_slice_spec.rb |
Hash#slice | core/hash/slice_spec.rb |
3 | 1 |
hash_store_spec.rb |
Hash#store | core/hash/store_spec.rb |
2 | 1 |
hash_sum_spec.rb |
Hash#sum | core/hash/sum_spec.rb |
6 | 1 |
hash_take_spec.rb |
Hash#take | core/hash/take_spec.rb |
8 | 0 |
hash_take_while_spec.rb |
Hash#take_while | core/hash/take_while_spec.rb |
11 | 0 |
hash_tally_spec.rb |
Hash#tally | core/hash/tally_spec.rb |
6 | 1 |
hash_to_a_spec.rb |
Hash#to_a | core/hash/to_a_spec.rb |
1 | 1 |
hash_transform_keys_spec.rb |
Hash#transform_keys | core/hash/transform_keys_spec.rb |
3 | 5 |
hash_transform_values_spec.rb |
Hash#transform_values | core/hash/transform_values_spec.rb |
2 | 4 |
hash_uniq_spec.rb |
Hash#uniq | core/hash/uniq_spec.rb |
9 | 0 |
hash_values_spec.rb |
Hash#values | core/hash/values_spec.rb |
1 | 0 |
hash_zip_spec.rb |
Hash#zip | core/hash/zip_spec.rb |
8 | 2 |
instance_eval_spec.rb |
BasicObject#instance_eval | core/basicobject/instance_eval_spec.rb |
4 | 0 |
integer_abs_spec.rb |
Integer#abs | core/integer/abs_spec.rb + shared/abs.rb |
1 | 1 |
integer_allbits_spec.rb |
Integer#allbits? | core/integer/allbits_spec.rb |
5 | 1 |
integer_anybits_spec.rb |
Integer#anybits? | core/integer/anybits_spec.rb |
5 | 1 |
integer_bit_and_spec.rb |
Integer#& | core/integer/bit_and_spec.rb |
11 | 0 |
integer_bit_length_spec.rb |
Integer#bit_length | core/integer/bit_length_spec.rb |
4 | 0 |
integer_bit_or_spec.rb |
Integer#| | core/integer/bit_or_spec.rb |
10 | 0 |
integer_bit_range_spec.rb |
Integer#[] with a Range | core/integer/element_reference_spec.rb |
7 | 0 |
integer_bit_xor_spec.rb |
Integer#^ | core/integer/bit_xor_spec.rb |
11 | 0 |
integer_case_compare_spec.rb |
Integer#=== | core/integer/case_compare_spec.rb + core/integer/shared/equal.rb |
9 | 1 |
integer_ceil_spec.rb |
Integer#ceil | core/integer/ceil_spec.rb + shared/to_i.rb + shared/integer_rounding.rb + shared/integer_ceil_precision.rb |
10 | 1 |
integer_chr_spec.rb |
Integer#chr | core/integer/chr_spec.rb |
8 | 2 |
integer_coerce_spec.rb |
Integer#coerce | core/integer/coerce_spec.rb |
9 | 1 |
integer_comparison_spec.rb |
Integer#<=> | core/integer/comparison_spec.rb |
23 | 2 |
integer_complement_spec.rb |
Integer#~ | core/integer/complement_spec.rb |
2 | 0 |
integer_digits_spec.rb |
Integer#digits | core/integer/digits_spec.rb |
7 | 0 |
integer_divmod_spec.rb |
Integer#divmod | core/integer/divmod_spec.rb |
12 | 0 |
integer_downto_spec.rb |
Integer#downto [stop] when self and stop are Integers | core/integer/downto_spec.rb |
5 | 1 |
integer_eql_spec.rb |
Integer#eql? | core/integer/eql_spec.rb |
10 | 1 |
integer_equal_value_spec.rb |
Integer#== | core/integer/equal_value_spec.rb + core/integer/shared/equal.rb |
10 | 1 |
integer_even_spec.rb |
Integer#even? | core/integer/even_spec.rb |
5 | 1 |
integer_fdiv_spec.rb |
Integer#fdiv | core/integer/fdiv_spec.rb |
10 | 1 |
integer_floor_spec.rb |
Integer#floor | core/integer/floor_spec.rb + shared/to_i.rb + shared/integer_rounding.rb + shared/integer_floor_precision.rb |
9 | 1 |
integer_gcd_spec.rb |
Integer#gcd | core/integer/gcd_spec.rb |
11 | 0 |
integer_lcm_spec.rb |
Integer#lcm | core/integer/lcm_spec.rb |
11 | 0 |
integer_left_shift_spec.rb |
Integer#<< | core/integer/left_shift_spec.rb |
26 | 0 |
integer_nobits_spec.rb |
Integer#nobits? | core/integer/nobits_spec.rb |
5 | 1 |
integer_odd_spec.rb |
Integer#odd? | core/integer/odd_spec.rb |
5 | 1 |
integer_pow_spec.rb |
Integer#pow | core/integer/pow_spec.rb |
7 | 0 |
integer_rationalize_spec.rb |
Integer#rationalize | core/integer/rationalize_spec.rb |
4 | 1 |
integer_right_shift_spec.rb |
Integer#>> | core/integer/right_shift_spec.rb |
26 | 0 |
integer_round_spec.rb |
Integer#round | core/integer/round_spec.rb + shared/to_i.rb + shared/integer_rounding.rb |
14 | 3 |
integer_succ_spec.rb |
Integer#succ / Integer#next | core/integer/succ_spec.rb + core/integer/next_spec.rb + shared/next.rb |
5 | 4 |
integer_times_spec.rb |
Integer#times | core/integer/times_spec.rb |
7 | 1 |
integer_to_r_spec.rb |
Integer#to_r | core/integer/to_r_spec.rb |
6 | 0 |
integer_to_s_spec.rb |
Integer#to_s | core/integer/to_s_spec.rb |
6 | 2 |
integer_truncate_spec.rb |
Integer#truncate | core/integer/truncate_spec.rb + shared/to_i.rb + shared/integer_rounding.rb |
6 | 0 |
integer_upto_spec.rb |
Integer#upto [stop] when self and stop are Integers | core/integer/upto_spec.rb |
5 | 1 |
integer_zero_spec.rb |
Integer#zero? | core/integer/zero_spec.rb |
2 | 0 |
method_arity_spec.rb |
Method#arity | core/method/arity_spec.rb |
6 | 0 |
method_bind_call_spec.rb |
Method#bind_call | core/method/bind_call_spec.rb |
4 | 0 |
method_call_spec.rb |
Method#call | core/method/call_spec.rb (+ shared/call.rb) |
6 | 0 |
method_compose_spec.rb |
Method#<< | core/method/compose_spec.rb |
6 | 0 |
method_curry_spec.rb |
Method#curry | core/method/curry_spec.rb |
5 | 0 |
method_equal_spec.rb |
Method#== | core/method/equal_value_spec.rb + shared/eql.rb |
5 | 0 |
method_missing_spec.rb |
BasicObject#method_missing | core/basicobject/method_missing_spec.rb |
4 | 0 |
method_owner_spec.rb |
Method#owner | core/method/owner_spec.rb |
4 | 0 |
method_parameters_spec.rb |
Method#parameters | core/method/parameters_spec.rb |
8 | 1 |
method_receiver_spec.rb |
Method#receiver | core/method/receiver_spec.rb |
4 | 0 |
method_source_location_spec.rb |
Method#source_location | core/method/source_location_spec.rb |
2 | 0 |
method_to_proc_spec.rb |
Method#to_proc | core/method/to_proc_spec.rb |
7 | 0 |
method_unbind_spec.rb |
Method#unbind | core/method/unbind_spec.rb |
4 | 0 |
numeric_complex_protocol_spec.rb |
Numeric complex-decomposition protocol | core/numeric/{real,imaginary,conjugate, rectangular,polar,arg,abs2,real}_spec.rb |
8 | 0 |
numeric_to_rational_helpers_spec.rb |
Integer numeric helpers | core/{integer,float}/{integer,numerator, denominator,finite,infinite}_spec.rb |
11 | 0 |
range_chunk_while_spec.rb |
Range#chunk_while | core/range/chunk_while_spec.rb (Enumerable-inherited behaviour) |
10 | 0 |
range_each_slice_spec.rb |
Range#each_slice | core/range/each_slice_spec.rb / each_cons_spec.rb (Enumerable-inherited behaviour) |
20 | 0 |
rational_abs_spec.rb |
Rational#abs | core/rational/{abs,uminus,abs2}_spec.rb |
7 | 0 |
rational_coerce_spec.rb |
Rational#coerce | core/rational/coerce_spec.rb |
4 | 0 |
rational_denominator_spec.rb |
Rational#denominator | core/rational/denominator_spec.rb |
3 | 0 |
rational_equal_value_spec.rb |
Rational#== when given a Rational | core/rational/equal_value_spec.rb (Rational#==) |
7 | 0 |
rational_exponent_spec.rb |
Rational#** | core/rational/exponent_spec.rb |
7 | 0 |
rational_literal_spec.rb |
Rational literal | language/literal/numeric_spec.rb |
6 | 0 |
rational_numerator_spec.rb |
Rational#numerator | core/rational/numerator_spec.rb |
3 | 0 |
rational_plus_spec.rb |
Rational#+ when given a Rational | core/rational/plus_spec.rb |
7 | 0 |
rational_predicate_spec.rb |
Rational#zero? | core/rational/{zero,positive,negative}_spec.rb |
4 | 0 |
rational_round_spec.rb |
Rational#floor | core/rational/{floor,ceil,round,truncate}_spec.rb |
12 | 0 |
singleton_method_spec.rb |
def obj.name | core/basicobject/singleton_method_spec.rb + core/kernel/define_singleton_method_spec.rb |
7 | 0 |
string_capitalize_spec.rb |
String#capitalize | core/string/capitalize_spec.rb |
9 | 1 |
string_center_spec.rb |
String#center | core/string/center_spec.rb |
4 | 2 |
string_chars_spec.rb |
String#chars | core/string/chars_spec.rb + shared/chars.rb |
2 | 3 |
string_count_spec.rb |
String#count | core/string/count_spec.rb |
7 | 0 |
string_downcase_spec.rb |
String#downcase | core/string/downcase_spec.rb |
7 | 1 |
string_empty_spec.rb |
String#empty? | core/string/empty_spec.rb |
5 | 0 |
string_end_with_spec.rb |
String#end_with? | core/string/end_with_spec.rb + shared/string/end_with.rb |
3 | 3 |
string_gsub_spec.rb |
String#gsub with pattern and replacement | core/string/gsub_spec.rb |
20 | 0 |
string_include_spec.rb |
String#include? with String | core/string/include_spec.rb |
8 | 0 |
string_length_spec.rb |
String#length | core/string/length_spec.rb |
1 | 0 |
string_ljust_spec.rb |
String#ljust | core/string/ljust_spec.rb |
4 | 1 |
string_lstrip_spec.rb |
String#lstrip | core/string/lstrip_spec.rb |
5 | 0 |
string_multiply_spec.rb |
String#* | core/string/multiply_spec.rb (negative-arg parity) |
6 | 0 |
string_reverse_spec.rb |
String#reverse | core/string/reverse_spec.rb |
7 | 0 |
string_rjust_spec.rb |
String#rjust | core/string/rjust_spec.rb |
4 | 1 |
string_rstrip_spec.rb |
String#rstrip | core/string/rstrip_spec.rb |
5 | 0 |
string_size_spec.rb |
String#size | core/string/size_spec.rb |
1 | 0 |
string_squeeze_spec.rb |
String#squeeze | core/string/squeeze_spec.rb |
9 | 1 |
string_start_with_spec.rb |
String#start_with? | core/string/start_with_spec.rb + shared/string/start_with.rb |
3 | 7 |
string_strip_spec.rb |
String#strip | core/string/strip_spec.rb |
6 | 2 |
string_sub_spec.rb |
String#sub with pattern, replacement | core/string/sub_spec.rb |
19 | 0 |
string_swapcase_spec.rb |
String#swapcase | core/string/swapcase_spec.rb |
9 | 1 |
string_tr_spec.rb |
String#tr | core/string/tr_spec.rb |
14 | 0 |
string_upcase_spec.rb |
String#upcase | core/string/upcase_spec.rb |
7 | 1 |
take_drop_arity_float_spec.rb |
Array#take / #drop arity & type guards | core/array/take_spec.rb / drop_spec.rb (arity + Float coerce) |
15 | 0 |
unbound_method_arity_spec.rb |
UnboundMethod#arity | core/unboundmethod/arity_spec.rb |
4 | 0 |
unbound_method_bind_call_spec.rb |
UnboundMethod#bind_call | core/unboundmethod/bind_call_spec.rb |
4 | 0 |
unbound_method_bind_spec.rb |
UnboundMethod#bind | core/unboundmethod/bind_spec.rb |
4 | 0 |
unbound_method_equal_spec.rb |
Class#instance_method / Method#unbind | core/unboundmethod/equal_value_spec.rb |
6 | 0 |