Hello, subversion developers: Now Fedora 38 is preparing for upcoming ruby 3.2 (which is expected to be released on 2022/Dec), and current subversion fails for test suite for ruby like:
=============================================================================== Error: test_adm_ensure(SvnWcTest): NoMethodError: undefined method `exists?' for File:Class /builddir/build/BUILD/subversion-1.14.2/subversion/bindings/swig/ruby/test/test_wc.rb:345:in `test_adm_ensure' 342: 343: def test_adm_ensure 344: adm_dir = Dir.glob(File.join(@wc_path, "{.,_}svn")).first => 345: assert(File.exists?(adm_dir)) 346: FileUtils.rm_rf(adm_dir) 347: assert(!File.exists?(adm_dir)) 348: Svn::Wc.ensure_adm(@wc_path, @fs.uuid, @repos_uri, @repos_uri, 0) /builddir/build/BUILD/subversion-1.14.2/subversion/bindings/swig/ruby/test/test-unit-ext/priority.rb:115:in `run' =============================================================================== Error: test_delete(SvnWcTest): NoMethodError: undefined method `exists?' for File:Class Error: test_switch_editor(SvnWcTest): NoMethodError: undefined method `exists?' for File:Class Error: test_update_editor(SvnWcTest): NoMethodError: undefined method `exists?' for File:Class Error: test_update_editor_options(SvnWcTest): NoMethodError: undefined method `exists?' for File:Class Ruby 3.2 now completely removes "File.exists?" which were already obsoleted on ruby 2.1. Just replacing with "File.exist?" should fix these errors. https://github.com/ruby/ruby/blob/6378825df5c7abc7ef45f257057ffd21dc9e63b5/NEWS.md?plain=1#L248 https://bugs.ruby-lang.org/issues/17391 https://docs.ruby-lang.org/en/3.1/File.html#method-c-exist-3F The targets which need fixing are: =============================================================================== ./subversion/bindings/swig/ruby/test/test_wc.rb:345: assert(File.exists?(adm_dir)) ./subversion/bindings/swig/ruby/test/test_wc.rb:347: assert(!File.exists?(adm_dir)) ./subversion/bindings/swig/ruby/test/test_wc.rb:349: assert(File.exists?(adm_dir)) ./subversion/bindings/swig/ruby/test/test_wc.rb:477: assert(File.exists?(path)) ./subversion/bindings/swig/ruby/test/test_wc.rb:481: assert(!File.exists?(path)) ./subversion/bindings/swig/ruby/test/test_wc.rb:485: assert(File.exists?(path)) ./subversion/bindings/swig/ruby/test/test_wc.rb:489: assert(File.exists?(path)) ./subversion/bindings/swig/ruby/test/test_wc.rb:811: assert(File.exists?(path2)) ./subversion/bindings/swig/ruby/test/test_wc.rb:813: assert(!File.exists?(path2)) ./subversion/bindings/swig/ruby/test/test_wc.rb:851: assert(File.exists?(path2)) ./subversion/bindings/swig/ruby/test/test_wc.rb:853: assert(!File.exists?(path2)) ./subversion/bindings/swig/ruby/test/test_wc.rb:949: assert(File.exists?(path1)) ./subversion/bindings/swig/ruby/test/test_wc.rb:951: assert(File.exists?(File.join(@wc_path, file2))) ./subversion/bindings/swig/ruby/test/windows_util.rb:118: File.read(gen_make_opts).lines.to_a if File.exists?(gen_make_opts) ./subversion/bindings/swig/ruby/svn/util.rb:23: if File.exists?(svn_ext_path) =============================================================================== Regards, Mamoru TASAKA <mtas...@fedoraproject.org>