Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test fails on ruby2.7 #50

Closed
terceiro opened this issue Mar 5, 2020 · 4 comments · Fixed by #51
Closed

test fails on ruby2.7 #50

terceiro opened this issue Mar 5, 2020 · 4 comments · Fixed by #51

Comments

@terceiro
Copy link
Contributor

terceiro commented Mar 5, 2020

$ rake test
Mocha deprecation warning at /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:168:in `require': Require 'mocha/test_unit', 'mocha/minitest' or 'mocha/api' instead of 'mocha/setup'.
Loaded suite /home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rake_test_loader
Started
......E
==============================================================================================================================================================================
F
==============================================================================================================================================================================
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit.rb:511:in `block (2 levels) in <top (required)>'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb:66:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb:438:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb:495:in `change_work_directory'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb:439:in `block in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnerutilities.rb:24:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunner.rb:25:in `start'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunner.rb:40:in `start_mediator'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:39:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:39:in `catch'/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:41:in `block in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:102:in `with_listener'/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:45:in `block (2 levels) in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:67:in `run_suite'/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:53:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:124:in `run_test'/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:53:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:124:in `run_test'/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:53:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:124:in `run_test'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:527:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:527:in `catch'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:528:in `block in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb:286:in `run_setup'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb:251:in `run_fixture'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb:270:in `block in create_fixtures_runner'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb:270:in `block in create_fixtures_runner'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb:270:in `block in create_fixtures_runner'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:529:in `block (2 levels) in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:535:in `rescue in block (2 levels) in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:837:in `handle_exception'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:837:in `each'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:841:in `block in handle_exception'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/error.rb:93:in `handle_all_exception'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/error.rb:121:in `add_error'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/error.rb:131:in `add_error'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testresult.rb:128:in `notify_fault'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `notify_listeners'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `each'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `block in notify_listeners'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:98:in `block in with_listener'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `notify_listeners'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `each'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `block in notify_listeners'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:101:in `add_fault'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:504:in `output_progress_in_detail'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:200:in `output_fault_in_detail'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:236:in `output_fault_backtrace'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:236:in `each_with_index'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:236:in `each'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:239:in `block in output_fault_backtrace'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:265:in `fetch_code_snippet'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/code-snippet-fetcher.rb:10:in `fetch'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/code-snippet-fetcher.rb:22:in `source'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/code-snippet-fetcher.rb:29:in `read_source'
Failure: test_download_file_with_metacharacters_in_name_should_escape_remote_file_name(TestDownload):
  unexpected invocation: File.open("/home/terceiro/src/debian/ruby-team/ruby-net-scp/test/test_download.rb", "rb") { ... }
  satisfied expectations:
  - allowed any number of times, invoked never: File.new("/path/to/local/\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\v\f\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\e\u001C\u001D\u001E\u001F !\"\#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F.txt", "wb", 438)
  - allowed any number of times, invoked never: File.open("/path/to/local/\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\v\f\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\e\u001C\u001D\u001E\u001F !\"\#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F.txt", "rb")
  - allowed any number of times, invoked never: File.file?("/path/to/local/\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\v\f\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\e\u001C\u001D\u001E\u001F !\"\#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F.txt")
  - allowed any number of times, invoked never: File.directory?("/path/to/local/\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\v\f\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\e\u001C\u001D\u001E\u001F !\"\#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F.txt")
  - allowed any number of times, invoked never: File.stat("/path/to/local/\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\v\f\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\e\u001C\u001D\u001E\u001F !\"\#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F.txt")
==============================================================================================================================================================================
.................E
==============================================================================================================================================================================
F
==============================================================================================================================================================================
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit.rb:511:in `block (2 levels) in <top (required)>'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb:66:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb:438:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb:495:in `change_work_directory'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb:439:in `block in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnerutilities.rb:24:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunner.rb:25:in `start'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunner.rb:40:in `start_mediator'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:39:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:39:in `catch'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:41:in `block in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:102:in `with_listener'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:45:in `block (2 levels) in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:67:in `run_suite'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:53:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:124:in `run_test'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:53:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:124:in `run_test'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:53:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb:124:in `run_test'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:527:in `run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:527:in `catch'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:528:in `block in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb:286:in `run_setup'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb:251:in `run_fixture'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb:270:in `block in create_fixtures_runner'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb:270:in `block in create_fixtures_runner'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb:270:in `block in create_fixtures_runner'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:529:in `block (2 levels) in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:535:in `rescue in block (2 levels) in run'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:837:in `handle_exception'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:837:in `each'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb:841:in `block in handle_exception'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/error.rb:93:in `handle_all_exception'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/error.rb:121:in `add_error'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/error.rb:131:in `add_error'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testresult.rb:128:in `notify_fault'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `notify_listeners'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `each'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `block in notify_listeners'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb:98:in `block in with_listener'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `notify_listeners'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `each'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb:78:in `block in notify_listeners'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:101:in `add_fault'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:504:in `output_progress_in_detail'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:200:in `output_fault_in_detail'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:236:in `output_fault_backtrace'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:236:in `each_with_index'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:236:in `each'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:239:in `block in output_fault_backtrace'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb:265:in `fetch_code_snippet'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/code-snippet-fetcher.rb:10:in `fetch'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/code-snippet-fetcher.rb:22:in `source'
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/code-snippet-fetcher.rb:29:in `read_source'
Failure: test_upload_file_with_metacharacters_in_name_should_escape_remote_file_name(TestUpload):
  unexpected invocation: File.open("/home/terceiro/src/debian/ruby-team/ruby-net-scp/test/test_upload.rb", "rb") { ... }
  satisfied expectations:
  - allowed any number of times, invoked never: File.new("/path/to/local/\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\v\f\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\e\u001C\u001D\u001E\u001F !\"\#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F.txt", "wb", 438)
  - allowed any number of times, invoked never: File.open("/path/to/local/\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\v\f\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\e\u001C\u001D\u001E\u001F !\"\#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F.txt", "rb")
  - allowed any number of times, invoked never: File.file?("/path/to/local/\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\v\f\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\e\u001C\u001D\u001E\u001F !\"\#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F.txt")
  - allowed any number of times, invoked never: File.directory?("/path/to/local/\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\v\f\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\e\u001C\u001D\u001E\u001F !\"\#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F.txt")
  - allowed any number of times, invoked never: File.stat("/path/to/local/\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\v\f\r\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\e\u001C\u001D\u001E\u001F !\"\#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007F.txt")
==============================================================================================================================================================================
.........
Finished in 0.25847355 seconds.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
34 tests, 64 assertions, 2 failures, 2 errors, 0 pendings, 0 omissions, 0 notifications
94.1176% passed
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
131.54 tests/s, 247.61 assertions/s
rake aborted!
Command failed with status (1)
/home/terceiro/.ruby-standalone/gems/ruby/2.7.0/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => test
(See full trace by running task with --trace)

I'm still not sure why. I don't understand the issue yet, but by trial and error I came out with the following patch, but I'm pretty sure it's not the correct fix:

diff --git a/test/common.rb b/test/common.rb
index 1216933..de620b5 100644
--- a/test/common.rb
+++ b/test/common.rb
@@ -62,11 +62,11 @@ class Net::SCP::TestCase < Test::Unit::TestCase
     # handles newlines just fine, so we can be reasonably confident that they
     # will work in practice
     def awful_file_name
-      (((0x00..0x7f).to_a - [0x00, 0x0a, 0x2f]).map { |n| n.chr }).join + '.txt'
+      (((0x00..0x7f).to_a - [0x00, 0x0a, 0x2b, 0x2f]).map { |n| n.chr }).join + '.txt'
     end
 
     def escaped_file_name
-      "\\\001\\\002\\\003\\\004\\\005\\\006\\\a\\\b\\\t\\\v\\\f\\\r\\\016\\\017\\\020\\\021\\\022\\\023\\\024\\\025\\\026\\\027\\\030\\\031\\\032\\\e\\\034\\\035\\\036\\\037\\ \\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+,-.0123456789:\\;\\<\\=\\>\\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\[\\\\\\]\\^_\\`abcdefghijklmnopqrstuvwxyz\\{\\|\\}\\~\\\177.txt"
+      "\\\001\\\002\\\003\\\004\\\005\\\006\\\a\\\b\\\t\\\v\\\f\\\r\\\016\\\017\\\020\\\021\\\022\\\023\\\024\\\025\\\026\\\027\\\030\\\031\\\032\\\e\\\034\\\035\\\036\\\037\\ \\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*,-.0123456789:\\;\\<\\=\\>\\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\[\\\\\\]\\^_\\`abcdefghijklmnopqrstuvwxyz\\{\\|\\}\\~\\\177.txt"
     end
 
     class FileEntry
@terceiro
Copy link
Contributor Author

terceiro commented Mar 5, 2020

i.e. the problem seems to be the "+" (0x2b) - but why?

@terceiro terceiro changed the title tests fails on ruby2.7 test fails on ruby2.7 Mar 8, 2020
@voxik
Copy link
Contributor

voxik commented Apr 3, 2020

ruby/ruby@43a16c9

?

@voxik
Copy link
Contributor

voxik commented Apr 3, 2020

IOW if your patch removes +, then it is probably intended change aligned with Ruby upstream.

@terceiro
Copy link
Contributor Author

terceiro commented Apr 3, 2020

aha, thanks for the investigation!

terceiro added a commit to terceiro/net-scp that referenced this issue Apr 3, 2020
In ruby2.7 `+` is no longer escaped ShellWords.shellescape. In order to
make this test pass on ruby2.7 but also on older versions, drop the +
the string that is expected to be escaped.

Fixes net-ssh#50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants