simonc / memfs

MemFs provides a fake file system that can be used for tests. Strongly inspired by FakeFS.
MIT License
320 stars 27 forks source link

Current spec failures #38

Closed djberg96 closed 2 years ago

djberg96 commented 2 years ago

I was going to take a stab at an nlink PR, but the current specs aren't even passing for me, so I thought I better mention this. Current spec failures:

Run options: include {:focus=>true}
All examples were filtered out; ignoring {:focus=>true}
Randomized with seed 16442

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) MemFs::File.write when +offset+ is provided starts writing from the offset
     # Offsets not yet implemented in IO.write
     # ./spec/memfs/file_spec.rb:1917

  2) MemFs::File#print when no argument is given prints $_
     # I don't know how to test with $_
     # ./spec/memfs/file_spec.rb:2610

Failures:

  1) MemFs::File.read when the last argument is a hash passes the contained options to +open+
     Failure/Error: file = open(path, *open_args)

       #<MemFs::File (class)> received :open with unexpected arguments
         expected: ("/test-file", 0, {:encoding=>"UTF-8"})
              got: ("/test-file", 0, {:encoding=>"UTF-8"})
     # ./lib/memfs/io.rb:25:in `read'
     # ./spec/memfs/file_spec.rb:1079:in `block (4 levels) in <module:MemFs>'
     # <internal:core> core/kernel.rb:376:in `load'
     # <internal:core> core/kernel.rb:376:in `load'

  2) FileUtils.install copies +src+ to +dest+
     Failure/Error: yield file

     NoMethodError:
       undefined method `ensure_open_and_readable' for #<MemFs::File:0x50178>
     # <internal:core> core/io.rb:382:in `run'
     # <internal:core> core/io.rb:425:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:514:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:883:in `block in install'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1597:in `block in fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1613:in `fu_each_src_dest0'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1595:in `fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:879:in `install'
     # ./spec/fileutils_spec.rb:471:in `block (3 levels) in <top (required)>'
     # <internal:core> core/kernel.rb:376:in `load'
     # <internal:core> core/kernel.rb:376:in `load'

  3) FileUtils.install when +:mode+ is set changes the permission mode to +mode+
     Failure/Error: yield file

     NoMethodError:
       undefined method `ensure_open_and_readable' for #<MemFs::File:0x502a8>
     # <internal:core> core/io.rb:382:in `run'
     # <internal:core> core/io.rb:425:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:514:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:883:in `block in install'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1597:in `block in fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1613:in `fu_each_src_dest0'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1595:in `fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:879:in `install'
     # ./spec/fileutils_spec.rb:478:in `block (4 levels) in <top (required)>'
     # <internal:core> core/kernel.rb:376:in `load'
     # <internal:core> core/kernel.rb:376:in `load'

  4) FileUtils.install when +dest+ already exists removes destination before copy
     Failure/Error: yield file

     NoMethodError:
       undefined method `ensure_open_and_readable' for #<MemFs::File:0x503d8>
     # <internal:core> core/io.rb:382:in `run'
     # <internal:core> core/io.rb:425:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:514:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:883:in `block in install'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1597:in `block in fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1613:in `fu_each_src_dest0'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1595:in `fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:879:in `install'
     # ./spec/fileutils_spec.rb:493:in `block (4 levels) in <top (required)>'
     # <internal:core> core/kernel.rb:376:in `load'
     # <internal:core> core/kernel.rb:376:in `load'

  5) FileUtils.install when +dest+ already exists and +dest+ is a directory installs +src+ in dest/src
     Failure/Error: yield file

     NoMethodError:
       undefined method `ensure_open_and_readable' for #<MemFs::File:0x50508>
     # <internal:core> core/io.rb:382:in `run'
     # <internal:core> core/io.rb:425:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:514:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:883:in `block in install'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1597:in `block in fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1611:in `fu_each_src_dest0'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1595:in `fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:879:in `install'
     # ./spec/fileutils_spec.rb:499:in `block (5 levels) in <top (required)>'
     # <internal:core> core/kernel.rb:376:in `load'
     # <internal:core> core/kernel.rb:376:in `load'

  6) FileUtils.copy_file copies file contents of src to dest
     Failure/Error: yield file

     NoMethodError:
       undefined method `ensure_open_and_readable' for #<MemFs::File:0x50678>
     # <internal:core> core/io.rb:382:in `run'
     # <internal:core> core/io.rb:425:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:514:in `copy_file'
     # ./spec/fileutils_spec.rb:371:in `block (3 levels) in <top (required)>'
     # <internal:core> core/kernel.rb:376:in `load'
     # <internal:core> core/kernel.rb:376:in `load'

  7) FileUtils.cp_r copies +src+ to +dest+
     Failure/Error: yield file

     NoMethodError:
       undefined method `ensure_open_and_readable' for #<MemFs::File:0x507a8>
     # <internal:core> core/io.rb:382:in `run'
     # <internal:core> core/io.rb:425:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1379:in `copy'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:500:in `block in copy_entry'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1513:in `wrap_traverse'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:497:in `copy_entry'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:471:in `block in cp_r'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1597:in `block in fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1613:in `fu_each_src_dest0'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1595:in `fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:470:in `cp_r'
     # ./spec/fileutils_spec.rb:422:in `block (3 levels) in <top (required)>'
     # <internal:core> core/kernel.rb:376:in `load'
     # <internal:core> core/kernel.rb:376:in `load'

  8) FileUtils.cp_r when +dest+ is a directory copies +src+ to +dest/src+
     Failure/Error: yield file

     NoMethodError:
       undefined method `ensure_open_and_readable' for #<MemFs::File:0x508d8>
     # <internal:core> core/io.rb:382:in `run'
     # <internal:core> core/io.rb:425:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1379:in `copy'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:500:in `block in copy_entry'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1513:in `wrap_traverse'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1516:in `block in wrap_traverse'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1515:in `each'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1515:in `wrap_traverse'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1516:in `block in wrap_traverse'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1515:in `each'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1515:in `wrap_traverse'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:497:in `copy_entry'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:471:in `block in cp_r'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1597:in `block in fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1611:in `fu_each_src_dest0'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1595:in `fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:470:in `cp_r'
     # ./spec/fileutils_spec.rb:441:in `block (4 levels) in <top (required)>'
     # <internal:core> core/kernel.rb:376:in `load'
     # <internal:core> core/kernel.rb:376:in `load'

  9) FileUtils.cp_r when +src+ is a list of files copies each of them in +dest+
     Failure/Error: yield file

     NoMethodError:
       undefined method `ensure_open_and_readable' for #<MemFs::File:0x50d38>
     # <internal:core> core/io.rb:382:in `run'
     # <internal:core> core/io.rb:425:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
     # ./lib/memfs/file.rb:160:in `open'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1379:in `copy'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:500:in `block in copy_entry'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1513:in `wrap_traverse'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1516:in `block in wrap_traverse'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1515:in `each'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1515:in `wrap_traverse'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:497:in `copy_entry'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:471:in `block in cp_r'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1597:in `block in fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1606:in `block in fu_each_src_dest0'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1604:in `each'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1604:in `fu_each_src_dest0'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1595:in `fu_each_src_dest'
     # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:470:in `cp_r'
     # ./spec/fileutils_spec.rb:451:in `block (4 levels) in <top (required)>'
     # <internal:core> core/kernel.rb:376:in `load'
     # <internal:core> core/kernel.rb:376:in `load'

  10) FileUtils.cp_r when +src+ is a directory copies all its contents recursively
      Failure/Error: yield file

      NoMethodError:
        undefined method `ensure_open_and_readable' for #<MemFs::File:0x51188>
      # <internal:core> core/io.rb:382:in `run'
      # <internal:core> core/io.rb:425:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1379:in `copy'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:500:in `block in copy_entry'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1513:in `wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1516:in `block in wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1515:in `each'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1515:in `wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1516:in `block in wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1515:in `each'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1515:in `wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:497:in `copy_entry'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:471:in `block in cp_r'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1597:in `block in fu_each_src_dest'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1613:in `fu_each_src_dest0'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1595:in `fu_each_src_dest'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:470:in `cp_r'
      # ./spec/fileutils_spec.rb:431:in `block (4 levels) in <top (required)>'
      # <internal:core> core/kernel.rb:376:in `load'
      # <internal:core> core/kernel.rb:376:in `load'

  11) FileUtils.cp copies a file content +src+ to +dest+
      Failure/Error: yield file

      NoMethodError:
        undefined method `ensure_open_and_readable' for #<MemFs::File:0x51548>
      # <internal:core> core/io.rb:382:in `run'
      # <internal:core> core/io.rb:425:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:514:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:433:in `block in cp'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1597:in `block in fu_each_src_dest'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1613:in `fu_each_src_dest0'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1595:in `fu_each_src_dest'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:432:in `cp'
      # ./spec/fileutils_spec.rb:386:in `block (3 levels) in <top (required)>'
      # <internal:core> core/kernel.rb:376:in `load'
      # <internal:core> core/kernel.rb:376:in `load'

  12) FileUtils.cp when +dest+ is a directory copies +src+ to +dest/src+
      Failure/Error: yield file

      NoMethodError:
        undefined method `ensure_open_and_readable' for #<MemFs::File:0x51678>
      # <internal:core> core/io.rb:382:in `run'
      # <internal:core> core/io.rb:425:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:514:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:433:in `block in cp'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1597:in `block in fu_each_src_dest'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1613:in `fu_each_src_dest0'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1595:in `fu_each_src_dest'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:432:in `cp'
      # ./spec/fileutils_spec.rb:401:in `block (4 levels) in <top (required)>'
      # <internal:core> core/kernel.rb:376:in `load'
      # <internal:core> core/kernel.rb:376:in `load'

  13) FileUtils.copy_entry copies a file system entry +src+ to +dest+
      Failure/Error: yield file

      NoMethodError:
        undefined method `ensure_open_and_readable' for #<MemFs::File:0x517e8>
      # <internal:core> core/io.rb:382:in `run'
      # <internal:core> core/io.rb:425:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1379:in `copy'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:500:in `block in copy_entry'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1513:in `wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:497:in `copy_entry'
      # ./spec/fileutils_spec.rb:292:in `block (3 levels) in <top (required)>'
      # <internal:core> core/kernel.rb:376:in `load'
      # <internal:core> core/kernel.rb:376:in `load'

  14) FileUtils.copy_entry when +dest+ already exists overwrite it
      Failure/Error: yield file

      NoMethodError:
        undefined method `ensure_open_and_readable' for #<MemFs::File:0x51918>
      # <internal:core> core/io.rb:382:in `run'
      # <internal:core> core/io.rb:425:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1379:in `copy'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:500:in `block in copy_entry'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1513:in `wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:497:in `copy_entry'
      # ./spec/fileutils_spec.rb:346:in `block (4 levels) in <top (required)>'
      # <internal:core> core/kernel.rb:376:in `load'
      # <internal:core> core/kernel.rb:376:in `load'

  15) FileUtils.copy_entry when +preserve+ is true preserves modified time
      Failure/Error: yield file

      NoMethodError:
        undefined method `ensure_open_and_readable' for #<MemFs::File:0x51a48>
      # <internal:core> core/io.rb:382:in `run'
      # <internal:core> core/io.rb:425:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1379:in `copy'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:500:in `block in copy_entry'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1513:in `wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:497:in `copy_entry'
      # ./spec/fileutils_spec.rb:322:in `block (4 levels) in <top (required)>'
      # <internal:core> core/array.rb:957:in `reverse_each'
      # <internal:core> core/kernel.rb:376:in `load'
      # <internal:core> core/kernel.rb:376:in `load'

  16) FileUtils.copy_entry when +preserve+ is true preserves group
      Failure/Error: yield file

      NoMethodError:
        undefined method `ensure_open_and_readable' for #<MemFs::File:0x51b78>
      # <internal:core> core/io.rb:382:in `run'
      # <internal:core> core/io.rb:425:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1379:in `copy'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:500:in `block in copy_entry'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1513:in `wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:497:in `copy_entry'
      # ./spec/fileutils_spec.rb:322:in `block (4 levels) in <top (required)>'
      # <internal:core> core/array.rb:957:in `reverse_each'
      # <internal:core> core/kernel.rb:376:in `load'
      # <internal:core> core/kernel.rb:376:in `load'

  17) FileUtils.copy_entry when +preserve+ is true preserves permissions
      Failure/Error: yield file

      NoMethodError:
        undefined method `ensure_open_and_readable' for #<MemFs::File:0x51ca8>
      # <internal:core> core/io.rb:382:in `run'
      # <internal:core> core/io.rb:425:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1379:in `copy'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:500:in `block in copy_entry'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1513:in `wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:497:in `copy_entry'
      # ./spec/fileutils_spec.rb:322:in `block (4 levels) in <top (required)>'
      # <internal:core> core/array.rb:957:in `reverse_each'
      # <internal:core> core/kernel.rb:376:in `load'
      # <internal:core> core/kernel.rb:376:in `load'

  18) FileUtils.copy_entry when +preserve+ is true preserves owner
      Failure/Error: yield file

      NoMethodError:
        undefined method `ensure_open_and_readable' for #<MemFs::File:0x51dd8>
      # <internal:core> core/io.rb:382:in `run'
      # <internal:core> core/io.rb:425:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1379:in `copy'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:500:in `block in copy_entry'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1513:in `wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:497:in `copy_entry'
      # ./spec/fileutils_spec.rb:322:in `block (4 levels) in <top (required)>'
      # <internal:core> core/array.rb:957:in `reverse_each'
      # <internal:core> core/kernel.rb:376:in `load'
      # <internal:core> core/kernel.rb:376:in `load'

  19) FileUtils.copy_entry when +remove_destination+ is true removes each destination file before copy
      Failure/Error: yield file

      NoMethodError:
        undefined method `ensure_open_and_readable' for #<MemFs::File:0x51f08>
      # <internal:core> core/io.rb:382:in `run'
      # <internal:core> core/io.rb:425:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/forwardable.rb:238:in `copy_stream'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1416:in `block (2 levels) in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1415:in `block in copy_file'
      # ./lib/memfs/file.rb:160:in `open'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1414:in `copy_file'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1379:in `copy'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:500:in `block in copy_entry'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:1513:in `wrap_traverse'
      # /home/dberger/.rbenv/versions/truffleruby-22.1.0/lib/mri/fileutils.rb:497:in `copy_entry'
      # ./spec/fileutils_spec.rb:355:in `block (4 levels) in <top (required)>'
      # <internal:core> core/kernel.rb:376:in `load'
      # <internal:core> core/kernel.rb:376:in `load'

Finished in 2.35 seconds (files took 3.38 seconds to load)
816 examples, 19 failures, 2 pending

Failed examples:

rspec ./spec/memfs/file_spec.rb:1073 # MemFs::File.read when the last argument is a hash passes the contained options to +open+
rspec ./spec/fileutils_spec.rb:470 # FileUtils.install copies +src+ to +dest+
rspec ./spec/fileutils_spec.rb:476 # FileUtils.install when +:mode+ is set changes the permission mode to +mode+
rspec ./spec/fileutils_spec.rb:491 # FileUtils.install when +dest+ already exists removes destination before copy
rspec ./spec/fileutils_spec.rb:497 # FileUtils.install when +dest+ already exists and +dest+ is a directory installs +src+ in dest/src
rspec ./spec/fileutils_spec.rb:369 # FileUtils.copy_file copies file contents of src to dest
rspec ./spec/fileutils_spec.rb:419 # FileUtils.cp_r copies +src+ to +dest+
rspec ./spec/fileutils_spec.rb:437 # FileUtils.cp_r when +dest+ is a directory copies +src+ to +dest/src+
rspec ./spec/fileutils_spec.rb:447 # FileUtils.cp_r when +src+ is a list of files copies each of them in +dest+
rspec ./spec/fileutils_spec.rb:427 # FileUtils.cp_r when +src+ is a directory copies all its contents recursively
rspec ./spec/fileutils_spec.rb:385 # FileUtils.cp copies a file content +src+ to +dest+
rspec ./spec/fileutils_spec.rb:399 # FileUtils.cp when +dest+ is a directory copies +src+ to +dest/src+
rspec ./spec/fileutils_spec.rb:290 # FileUtils.copy_entry copies a file system entry +src+ to +dest+
rspec ./spec/fileutils_spec.rb:343 # FileUtils.copy_entry when +dest+ already exists overwrite it
rspec ./spec/fileutils_spec.rb:337 # FileUtils.copy_entry when +preserve+ is true preserves modified time
rspec ./spec/fileutils_spec.rb:329 # FileUtils.copy_entry when +preserve+ is true preserves group
rspec ./spec/fileutils_spec.rb:333 # FileUtils.copy_entry when +preserve+ is true preserves permissions
rspec ./spec/fileutils_spec.rb:325 # FileUtils.copy_entry when +preserve+ is true preserves owner
rspec ./spec/fileutils_spec.rb:352 # FileUtils.copy_entry when +remove_destination+ is true removes each destination file before copy

Randomized with seed 16442
djberg96 commented 2 years ago

Please disregard, I forgot I was fiddling with Truffleruby when I ran the specs. Though now I'm curious what's got Truffleruby confused.