mirror of
https://github.com/ruby/ruby.git
synced 2026-10-28 16:36:20 +08:00
test_for_fd in rbs 4.2.0 calls Dir.for_fd twice with the fd of a Dir it
then closes, and never closes the two Dirs Dir.for_fd returned. Both
still own that fd number. When GC later finalizes them, closedir()
closes whatever file has since been given the same number, and the
owner of that file fails on close with:
Errno::EBADF: Bad file descriptor @ fptr_finalize_flush
In test-bundled-gems this usually hits FileTestSingletonTest, which
runs right after Dir_test.rb and opens files in every test. Whether it
fails depends on GC timing, so it shows up as a flake.
https://github.com/ruby/rbs/pull/3191 fixes the test upstream, but no released rbs has it yet.
Skip the test until the bundled rbs includes that fix.
94 lines
4.6 KiB
Plaintext
94 lines
4.6 KiB
Plaintext
# Running tests of RBS gem may fail because of various reasons.
|
|
# You can skip tests of RBS gem using this file, instead of pushing a new commit to `ruby/rbs` repository.
|
|
#
|
|
# The most frequently seen reason is the incompatibilities introduced to the unreleased version, including
|
|
#
|
|
# * Strict argument type check is introduced
|
|
# * A required method parameter is added
|
|
# * A method/class is removed
|
|
#
|
|
# Feel free to skip the tests with this file for that case.
|
|
#
|
|
# Syntax:
|
|
#
|
|
# $(test-case-name) ` ` $(optional comment) # Skipping single test case
|
|
# $(test-class-name) ` ` $(optional comment) # Skipping a test class
|
|
#
|
|
|
|
## Failed tests because of testing environment
|
|
|
|
test_collection_install(RBS::CliTest) running tests without Bundler
|
|
test_collection_install__mutex_m__bundled(RBS::CliTest) running tests without Bundler
|
|
test_collection_install__mutex_m__config__bundled(RBS::CliTest) running tests without Bundler
|
|
test_collection_install__mutex_m__config__no_bundled(RBS::CliTest) running tests without Bundler
|
|
test_collection_install__mutex_m__config__stdlib_source(RBS::CliTest) running tests without Bundler
|
|
test_collection_install__mutex_m__dependency_no_bundled(RBS::CliTest) running tests without Bundler
|
|
test_collection_install__mutex_m__no_bundled(RBS::CliTest) running tests without Bundler
|
|
test_collection_install__mutex_m__rbs_dependency_and__gem_dependency(RBS::CliTest) running tests without Bundler
|
|
test_collection_install__nongem_stdlib_no_warning(RBS::CliTest) running tests without Bundler
|
|
test_collection_install_frozen(RBS::CliTest) running tests without Bundler
|
|
test_collection_install_gemspec(RBS::CliTest) running tests without Bundler
|
|
test_collection_update(RBS::CliTest) running tests without Bundler
|
|
|
|
NetSingletonTest depending on external resources
|
|
NetInstanceTest depending on external resources
|
|
TestHTTPRequest depending on external resources
|
|
TestSingletonNetHTTPResponse depending on external resources
|
|
TestInstanceNetHTTPResponse depending on external resources
|
|
test_URI_open(OpenURISingletonTest) depending on external resources
|
|
|
|
test_TOPDIR(RbConfigSingletonTest) `TOPDIR` is `nil` during CI while RBS type is declared as `String`
|
|
|
|
# Failing because ObjectSpace.count_nodes has been removed
|
|
test_count_nodes(ObjectSpaceTest)
|
|
|
|
# Class#initialize has been removed
|
|
test_initialize(ClassInstanceTest)
|
|
|
|
## Unknown failures
|
|
|
|
# NoMethodError: undefined method 'inspect' for an instance of RBS::UnitTest::Convertibles::ToInt
|
|
test_compile(RegexpSingletonTest)
|
|
test_linear_time?(RegexpSingletonTest)
|
|
test_new(RegexpSingletonTest)
|
|
|
|
# Errno::ENOENT: No such file or directory - bundle
|
|
test_collection_install__pathname_set(RBS::CliTest)
|
|
test_collection_install__set_pathname__manifest(RBS::CliTest)
|
|
|
|
# json-schema passes the obsolete `quirks_mode` parameter, but json gem v3 rejects it
|
|
RBS::SchemaTest
|
|
|
|
# RBS 4.0.3's JSON tests use APIs removed or changed in json gem v3
|
|
test_dump(JSONInstanceTest)
|
|
test_parse(JSONInstanceTest)
|
|
test_parse!(JSONInstanceTest)
|
|
test_create_id(JSONSingletonTest)
|
|
test_create_id_eq(JSONSingletonTest)
|
|
test_dump(JSONSingletonTest)
|
|
test_load(JSONSingletonTest)
|
|
test_load_file(JSONSingletonTest)
|
|
test_load_file!(JSONSingletonTest)
|
|
test_parse(JSONSingletonTest)
|
|
test_parse!(JSONSingletonTest)
|
|
|
|
# RBS 4.0.3's RDoc plugin is incompatible with the RDoc 7.2.0 development revision
|
|
test_attr_decl_1(RDocPluginParserTest)
|
|
test_attr_decl_2(RDocPluginParserTest)
|
|
test_instance_method_1(RDocPluginParserTest)
|
|
test_instance_method_comment_and_tokens(RDocPluginParserTest)
|
|
test_instance_method_generic(RDocPluginParserTest)
|
|
test_instance_method_with_block(RDocPluginParserTest)
|
|
test_method_alias_decl_1(RDocPluginParserTest)
|
|
test_method_alias_decl_2(RDocPluginParserTest)
|
|
|
|
## Restore-state bug in the test itself (fixed in ruby/rbs after 4.0.3)
|
|
|
|
test_enable(GCSingletonTest) leaves GC disabled for the rest of the process (GC.enable return value misread); every later stdlib test then runs with GC off and the process peaks multi-GB (NoMemoryError on Windows CI)
|
|
test_stress_and_stress=(GCSingletonTest) runs assert_send_type with GC.stress enabled; the type check allocates heavily and cannot finish in CI time (was hidden while test_enable left GC disabled)
|
|
test_reachable_objects_from_root(ObjectSpaceTest) assert_send_type eagerly builds trace.inspect of the whole roots hash; with per-Ractor GC roots the inspect is huge and the process peaks multi-GB (NoMemoryError on Windows CI)
|
|
|
|
## Descriptor leak in the test itself (fixed in ruby/rbs#3191, not in rbs 4.2.0)
|
|
|
|
test_for_fd(DirSingletonTest) passes the same fd to Dir.for_fd twice and never closes the returned Dirs; once their finalizers run, closedir closes whatever file reused that fd, and a later test fails with Errno::EBADF (e.g. FileTestSingletonTest)
|