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

Windows spec failures #37

Open
djberg96 opened this issue Apr 17, 2022 · 1 comment
Open

Windows spec failures #37

djberg96 opened this issue Apr 17, 2022 · 1 comment

Comments

@djberg96
Copy link
Contributor

I ran the specs on current master on a Windows 7 VM. Here was the result:

Failures:

  1) MemFs::File::Stat#grpowned? when the effective user group does not own of the file returns false
     Failure/Error: expect(file_stat.grpowned?).to be false

       expected false
            got true
     # ./spec/memfs/file/stat_spec.rb:445:in `block (4 levels) in <module:MemFs>'

  2) MemFs::File::Stat#owned? when the effective user does not own of the file returns false
     Failure/Error: expect(file_stat.owned?).to be false

       expected false
            got true
     # ./spec/memfs/file/stat_spec.rb:474:in `block (4 levels) in <module:MemFs>'

  3) MemFs::File.absolute_path converts a pathname to an absolute pathname
     Failure/Error: expect(path).to eq '/test-dir/test-file'

       expected: "/test-dir/test-file"
            got: "C:/test-dir/test-file"

       (compared using ==)
     # ./spec/memfs/file_spec.rb:43:in `block (3 levels) in <module:MemFs>'

  4) MemFs::File.absolute_path when +dir_string+ is given uses it as the starting point
     Failure/Error: expect(path).to eq '/no-dir/test-file'

       expected: "/no-dir/test-file"
            got: "C:/no-dir/test-file"

       (compared using ==)
     # ./spec/memfs/file_spec.rb:49:in `block (4 levels) in <module:MemFs>'

  5) MemFs::File.absolute_path when the given pathname starts with a '~' does not expanded
     Failure/Error: expect(path).to eq '/test-dir/~/test-file'

       expected: "/test-dir/~/test-file"
            got: "C:/test-dir/~/test-file"

       (compared using ==)
     # ./spec/memfs/file_spec.rb:56:in `block (4 levels) in <module:MemFs>'

  6) MemFs::File.realpath when the path contains a symlink and the symlink is a middle part returns the path with the sy
mlink dereferrenced
     Failure/Error: find(path) || fail(Errno::ENOENT, path)

     Errno::ENOENT:
       No such file or directory - C:/test-dir/sub-dir-link/test-file
     # ./lib/memfs/file_system.rb:66:in `find!'
     # ./lib/memfs/file.rb:321:in `dereference_path'
     # ./lib/memfs/file.rb:177:in `realpath'
     # ./spec/memfs/file_spec.rb:1327:in `block (5 levels) in <module:MemFs>'

  7) MemFs::File.realpath when the path contains a symlink and the symlink is the last part returns the path with the sy
mlink dereferrenced
     Failure/Error: find(path) || fail(Errno::ENOENT, path)

     Errno::ENOENT:
       No such file or directory - C:/test-dir/sub-dir-link
     # ./lib/memfs/file_system.rb:66:in `find!'
     # ./lib/memfs/file.rb:321:in `dereference_path'
     # ./lib/memfs/file.rb:177:in `realpath'
     # ./spec/memfs/file_spec.rb:1334:in `block (5 levels) in <module:MemFs>'

  8) MemFs::File.realpath when the path contains useless dots returns the path with the useless dots interpolated
     Failure/Error: find(path) || fail(Errno::ENOENT, path)

     Errno::ENOENT:
       No such file or directory - C:/test-dir/sub-dir/test-file
     # ./lib/memfs/file_system.rb:66:in `find!'
     # ./lib/memfs/file.rb:321:in `dereference_path'
     # ./lib/memfs/file.rb:177:in `realpath'
     # ./spec/memfs/file_spec.rb:1342:in `block (4 levels) in <module:MemFs>'

  9) MemFs::File.realpath when the given path is relative and +dir_string+ is not provided uses the current working dire
ctory has base directory
     Failure/Error: find(path) || fail(Errno::ENOENT, path)

     Errno::ENOENT:
       No such file or directory - C:/test-dir/sub-dir/test-file
     # ./lib/memfs/file_system.rb:66:in `find!'
     # ./lib/memfs/file.rb:321:in `dereference_path'
     # ./lib/memfs/file.rb:177:in `realpath'
     # ./spec/memfs/file_spec.rb:1352:in `block (5 levels) in <module:MemFs>'

  10) MemFs::File.realpath when the given path is relative and +dir_string+ is provided uses the given directory has bas
e directory
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir/sub-dir/test-file
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:177:in `realpath'
      # ./spec/memfs/file_spec.rb:1359:in `block (5 levels) in <module:MemFs>'

  11) MemFs::File.realpath when the path does not contain any symlink or useless dots returns the path itself
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-file
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:177:in `realpath'
      # ./spec/memfs/file_spec.rb:1319:in `block (4 levels) in <module:MemFs>'

  12) MemFs::File.realdirpath when the last part of the given path is a symlink and its target does not exist uses the n
ame of the target in the resulting path
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir/sub-dir
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:316:in `dereference_dir_path'
      # ./lib/memfs/file.rb:326:in `loose_dereference_path'
      # ./lib/memfs/file.rb:173:in `realdirpath'
      # ./spec/memfs/file_spec.rb:1288:in `block (5 levels) in <module:MemFs>'

  13) MemFs::File.realdirpath when the path contains a symlink and the symlink is a middle part returns the path with th
e symlink dereferrenced
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir/sub-dir-link
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:316:in `dereference_dir_path'
      # ./lib/memfs/file.rb:326:in `loose_dereference_path'
      # ./lib/memfs/file.rb:173:in `realdirpath'
      # ./spec/memfs/file_spec.rb:1244:in `block (5 levels) in <module:MemFs>'

  14) MemFs::File.realdirpath when the path contains a symlink and the symlink is the last part returns the path with th
e symlink dereferrenced
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:316:in `dereference_dir_path'
      # ./lib/memfs/file.rb:326:in `loose_dereference_path'
      # ./lib/memfs/file.rb:173:in `realdirpath'
      # ./spec/memfs/file_spec.rb:1251:in `block (5 levels) in <module:MemFs>'

  15) MemFs::File.realdirpath when the last part of the given path does not exist uses its name in the resulting path
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir/sub-dir
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:316:in `dereference_dir_path'
      # ./lib/memfs/file.rb:326:in `loose_dereference_path'
      # ./lib/memfs/file.rb:173:in `realdirpath'
      # ./spec/memfs/file_spec.rb:1296:in `block (4 levels) in <module:MemFs>'

  16) MemFs::File.realdirpath when the path does not contain any symlink or useless dots returns the path itself
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:316:in `dereference_dir_path'
      # ./lib/memfs/file.rb:326:in `loose_dereference_path'
      # ./lib/memfs/file.rb:173:in `realdirpath'
      # ./spec/memfs/file_spec.rb:1236:in `block (4 levels) in <module:MemFs>'

  17) MemFs::File.realdirpath when the given path is relative and +dir_string+ is provided uses the given directory has
base directory
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir/sub-dir
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:316:in `dereference_dir_path'
      # ./lib/memfs/file.rb:326:in `loose_dereference_path'
      # ./lib/memfs/file.rb:173:in `realdirpath'
      # ./spec/memfs/file_spec.rb:1275:in `block (5 levels) in <module:MemFs>'

  18) MemFs::File.realdirpath when the given path is relative and +dir_string+ is not provided uses the current working
directory has base directory
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir/sub-dir
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:316:in `dereference_dir_path'
      # ./lib/memfs/file.rb:326:in `loose_dereference_path'
      # ./lib/memfs/file.rb:173:in `realdirpath'
      # ./spec/memfs/file_spec.rb:1268:in `block (5 levels) in <module:MemFs>'

  19) MemFs::File.realdirpath when the path contains useless dots returns the path with the useless dots interpolated
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir/sub-dir
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:316:in `dereference_dir_path'
      # ./lib/memfs/file.rb:326:in `loose_dereference_path'
      # ./lib/memfs/file.rb:173:in `realdirpath'
      # ./spec/memfs/file_spec.rb:1259:in `block (4 levels) in <module:MemFs>'

  20) MemFs::File.grpowned? when the named file exists and the effective user group does not own of the file returns fal
se
      Failure/Error: expect(grpowned).to be false

        expected false
             got true
      # ./spec/memfs/file_spec.rb:668:in `block (5 levels) in <module:MemFs>'

  21) MemFs::File.owned? when the named file exists and the effective user does not own of the file returns false
      Failure/Error: expect(owned).to be false

        expected false
             got true
      # ./spec/memfs/file_spec.rb:995:in `block (5 levels) in <module:MemFs>'

  22) MemFs::File.expand_path converts a pathname to an absolute pathname
      Failure/Error: expect(expanded_path).to eq '/test-file'

        expected: "/test-file"
             got: "C:/test-file"

        (compared using ==)
      # ./spec/memfs/file_spec.rb:493:in `block (3 levels) in <module:MemFs>'

  23) MemFs::File.expand_path references path from the current working directory
      Failure/Error: expect(expanded_path).to eq '/test-dir/test-file'

        expected: "/test-dir/test-file"
             got: "C:/test-dir/test-file"

        (compared using ==)
      # ./spec/memfs/file_spec.rb:500:in `block (3 levels) in <module:MemFs>'

  24) MemFs::File.expand_path when +dir_string+ is provided uses +dir_string+ as the stating point
      Failure/Error: expect(expanded_path).to eq '/test/test-file'

        expected: "/test/test-file"
             got: "C:/test/test-file"

        (compared using ==)
      # ./spec/memfs/file_spec.rb:506:in `block (4 levels) in <module:MemFs>'

  25) FileUtils.cp_r copies +src+ to +dest+
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-file
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:177:in `realpath'
      # ./spec/fileutils_spec.rb:422:in `block (3 levels) in <top (required)>'

  26) FileUtils.cp_r when +src+ is a directory copies all its contents recursively
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:177:in `realpath'
      # ./spec/fileutils_spec.rb:431:in `block (4 levels) in <top (required)>'

  27) FileUtils.cp_r when +src+ is a list of files copies each of them in +dest+
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test/dir
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:177:in `realpath'
      # ./spec/fileutils_spec.rb:451:in `block (4 levels) in <top (required)>'

  28) FileUtils.cp_r when +dest+ is a directory copies +src+ to +dest/src+
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file.rb:321:in `dereference_path'
      # ./lib/memfs/file.rb:177:in `realpath'
      # ./spec/fileutils_spec.rb:441:in `block (4 levels) in <top (required)>'

  29) FileUtils.remove_entry_secure removes a file system entry +path+
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file/stat.rb:59:in `initialize'
      # ./lib/memfs/file.rb:149:in `new'
      # ./lib/memfs/file.rb:149:in `lstat'
      # ./spec/fileutils_spec.rb:819:in `block (3 levels) in <top (required)>'

  30) FileUtils.remove_entry_secure when +path+ is a directory removes it recursively
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file/stat.rb:59:in `initialize'
      # ./lib/memfs/file.rb:149:in `new'
      # ./lib/memfs/file.rb:149:in `lstat'
      # ./spec/fileutils_spec.rb:826:in `block (4 levels) in <top (required)>'

  31) FileUtils.remove_entry_secure when +path+ is a directory and is word writable calls chmod(2) on all sub directorie
s
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file/stat.rb:59:in `initialize'
      # ./lib/memfs/file.rb:149:in `new'
      # ./lib/memfs/file.rb:149:in `lstat'
      # ./spec/fileutils_spec.rb:842:in `block (5 levels) in <top (required)>'

  32) FileUtils.remove_entry_secure when +path+ is a directory and is word writable calls chown(2) on it
      Failure/Error: find(path) || fail(Errno::ENOENT, path)

      Errno::ENOENT:
        No such file or directory - C:/test-dir
      # ./lib/memfs/file_system.rb:66:in `find!'
      # ./lib/memfs/file/stat.rb:59:in `initialize'
      # ./lib/memfs/file.rb:149:in `new'
      # ./lib/memfs/file.rb:149:in `lstat'
      # ./spec/fileutils_spec.rb:835:in `block (5 levels) in <top (required)>'

Finished in 2.93 seconds (files took 1.05 seconds to load)
816 examples, 32 failures, 2 pending

Failed examples:

rspec ./spec/memfs/file/stat_spec.rb:443 # MemFs::File::Stat#grpowned? when the effective user group does not own of the
 file returns false
rspec ./spec/memfs/file/stat_spec.rb:472 # MemFs::File::Stat#owned? when the effective user does not own of the file ret
urns false
rspec ./spec/memfs/file_spec.rb:41 # MemFs::File.absolute_path converts a pathname to an absolute pathname
rspec ./spec/memfs/file_spec.rb:47 # MemFs::File.absolute_path when +dir_string+ is given uses it as the starting point
rspec ./spec/memfs/file_spec.rb:54 # MemFs::File.absolute_path when the given pathname starts with a '~' does not expand
ed
rspec ./spec/memfs/file_spec.rb:1326 # MemFs::File.realpath when the path contains a symlink and the symlink is a middle
 part returns the path with the symlink dereferrenced
rspec ./spec/memfs/file_spec.rb:1333 # MemFs::File.realpath when the path contains a symlink and the symlink is the last
 part returns the path with the symlink dereferrenced
rspec ./spec/memfs/file_spec.rb:1341 # MemFs::File.realpath when the path contains useless dots returns the path with th
e useless dots interpolated
rspec ./spec/memfs/file_spec.rb:1349 # MemFs::File.realpath when the given path is relative and +dir_string+ is not prov
ided uses the current working directory has base directory
rspec ./spec/memfs/file_spec.rb:1358 # MemFs::File.realpath when the given path is relative and +dir_string+ is provided
 uses the given directory has base directory
rspec ./spec/memfs/file_spec.rb:1318 # MemFs::File.realpath when the path does not contain any symlink or useless dots r
eturns the path itself
rspec ./spec/memfs/file_spec.rb:1287 # MemFs::File.realdirpath when the last part of the given path is a symlink and its
 target does not exist uses the name of the target in the resulting path
rspec ./spec/memfs/file_spec.rb:1243 # MemFs::File.realdirpath when the path contains a symlink and the symlink is a mid
dle part returns the path with the symlink dereferrenced
rspec ./spec/memfs/file_spec.rb:1250 # MemFs::File.realdirpath when the path contains a symlink and the symlink is the l
ast part returns the path with the symlink dereferrenced
rspec ./spec/memfs/file_spec.rb:1295 # MemFs::File.realdirpath when the last part of the given path does not exist uses
its name in the resulting path
rspec ./spec/memfs/file_spec.rb:1235 # MemFs::File.realdirpath when the path does not contain any symlink or useless dot
s returns the path itself
rspec ./spec/memfs/file_spec.rb:1274 # MemFs::File.realdirpath when the given path is relative and +dir_string+ is provi
ded uses the given directory has base directory
rspec ./spec/memfs/file_spec.rb:1266 # MemFs::File.realdirpath when the given path is relative and +dir_string+ is not p
rovided uses the current working directory has base directory
rspec ./spec/memfs/file_spec.rb:1258 # MemFs::File.realdirpath when the path contains useless dots returns the path with
 the useless dots interpolated
rspec ./spec/memfs/file_spec.rb:664 # MemFs::File.grpowned? when the named file exists and the effective user group does
 not own of the file returns false
rspec ./spec/memfs/file_spec.rb:991 # MemFs::File.owned? when the named file exists and the effective user does not own
of the file returns false
rspec ./spec/memfs/file_spec.rb:489 # MemFs::File.expand_path converts a pathname to an absolute pathname
rspec ./spec/memfs/file_spec.rb:496 # MemFs::File.expand_path references path from the current working directory
rspec ./spec/memfs/file_spec.rb:504 # MemFs::File.expand_path when +dir_string+ is provided uses +dir_string+ as the sta
ting point
rspec ./spec/fileutils_spec.rb:419 # FileUtils.cp_r copies +src+ to +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:447 # FileUtils.cp_r when +src+ is a list of files copies each of them in +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:817 # FileUtils.remove_entry_secure removes a file system entry +path+
rspec ./spec/fileutils_spec.rb:824 # FileUtils.remove_entry_secure when +path+ is a directory removes it recursively
rspec ./spec/fileutils_spec.rb:838 # FileUtils.remove_entry_secure when +path+ is a directory and is word writable calls
 chmod(2) on all sub directories
rspec ./spec/fileutils_spec.rb:831 # FileUtils.remove_entry_secure when +path+ is a directory and is word writable calls
 chown(2) on it

Randomized with seed 35952

[Coveralls] Outside the CI environment, not sending data.
@simonc
Copy link
Owner

simonc commented May 3, 2022

Hi. Thanks for reporting this issue. Sadly I'm on an extremely tight schedule and can't spend to much time maintaining the project. I'm open to reviewing a PR if you'd like to have a stab at it though 😊

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

No branches or pull requests

2 participants