Macos/freebsd testers wanted for tempfile crate


#1

I’m working on a simple secure temporary file crate (https://github.com/Stebalien/tempfile) and need to test it on macos (and freebsd if possible). Specifically, I’m worried that the second test case might fail.


#2

Mac:

/tmp/tempfile % cargo test
   Compiling tempfile v0.0.1 (file:///private/tmp/tempfile)
     Running target/debug/tempfile-e22d6c55321fc688

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

     Running target/debug/test-08f06f97d4c25b9c

running 2 tests
test test_basic ... ok
test test_share ... FAILED

failures:

---- test_share stdout ----
	thread 'test_share' panicked at 'assertion failed: `(left == right)` (left: `"abcde"`, right: `""`)', tests/test.rs:22



failures:
    test_share

test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured

thread '<main>' panicked at 'Some tests failed', /Users/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-mac/build/src/libtest/lib.rs:260

Judging by a manual test, it looks like fds ‘duplicated’ with /dev/fd share their offset value here.


#3

That’s unfortunate. Can you tell if they just start off with the same offset or share it permanently?


#4

They share it permanently. The relevant code is the call to dupfdopen here:

http://www.opensource.apple.com/source/xnu/xnu-2422.1.72/bsd/vfs/vfs_syscalls.c?txt


#5

Thanks for looking into this. I ended up just dropping support for re-opening temporary files on macos.