-
-
Notifications
You must be signed in to change notification settings - Fork 175
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
OSX support tracking issue #152
Comments
So tarpaulin currently only supports linux, if anything else works it's more luck that intent. OSX compared to linux doesn't have a complete ptrace implementation so the nix crate doesn't expose the ptrace bindings. If anyone was interested in adding OSX support they'd need to either replace ptrace with appropriate mac system calls or contribute to nix to add the parts of ptrace mac exports and for the rest of it add the appropriate system calls. I don't have any Macs so while I'm open to more OS support this is something I'd appreciate help on. |
Do you know of any tools that can be used on OSX for coverage reports?, would a donation to the project help? |
You might be able to get it working with docker on mac - though I'm not really that familiar with docker so maybe not... A good start if you wanted to help for the ptrace calls on mac. It should just be a case of looking at the ptrace docs for OSX finding what's supported and changing the cfgs in https://github.com/nix-rust/nix/ to match. Once that's done and merged in it we can see what fails to compile and go from there. As for donations I hadn't considered project donations before, though I'm probably going to be rather busy with my day job till the end of the year so that probably won't change anything in reality. |
Oh realised I missed your first question on tools that can be used for coverage, there is https://github.com/SimonKagstrom/kcov which works on linux, freebsd and OSX. I've just opened a PR on rust-nix/nix nix-rust/nix#949 for ptrace support in OSX and BSD. So once that's done, released and I update tarpaulin for the new nix version tarpaulin might work on OSX or there might be other things that need adapting. I'll ping you when there' something to test though! Edit: Notes for me -
|
@dataf3l could you clone https://github.com/xd009642/nix/ checkout the branch |
@xd009642 Unfortunately, it looks like it some of the tests didn't pass... Build output``` localhost:~ b$ cd work/ localhost:work b$ git clone https://github.com/xd009642/nix.git -b issue-947 Cloning into 'nix'... remote: Enumerating objects: 16, done. remote: Counting objects: 100% (16/16), done. remote: Compressing objects: 100% (13/13), done. remote: Total 7722 (delta 4), reused 6 (delta 3), pack-reused 7706 Receiving objects: 100% (7722/7722), 2.02 MiB | 990.00 KiB/s, done. Resolving deltas: 100% (5583/5583), done. localhost:work b$ cd nix/ localhost:nix b$ ls bors.toml build.rs Cargo.toml CHANGELOG.md ci CONTRIBUTING.md CONVENTIONS.md Cross.toml LICENSE README.md RELEASE_PROCEDURE.md src test localhost:nix b$ git status . On branch issue-947 Your branch is up to date with 'origin/issue-947'. nothing to commit, working tree clean warning: unused macro definition warning: unused import: warning: unused import: warning: unused imports: warning: use of deprecated item 'nix::unistd::pipe2': pipe2(2) is not actually atomic on these platforms. Use pipe(2) and fcntl(2) instead warning: unused
running 35 tests test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
running 98 tests failures: ---- sys::test_ptrace::test_ptrace stdout ---- ---- sys::test_ptrace::test_ptrace_cont stdout ---- failures: test result: FAILED. 96 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out error: test failed, to rerun pass '--test test'
|
|
Still no dice: Build outputlocalhost:nix b$ vi src/sys/ptrace/bsd.rs localhost:nix b$ cargo clean localhost:nix b$ cargo build Compiling libc v0.2.43 (https://github.com/rust-lang/libc#41944d5c) Compiling nix v0.11.0 (file:///Users/b/work/nix) Compiling bitflags v1.0.4 Compiling cfg-if v0.1.5 Compiling void v1.0.2 Finished dev [unoptimized + debuginfo] target(s) in 8.92s localhost:nix b$ localhost:nix b$ localhost:nix b$ brew install sphinx-doc Updating Homebrew... ==> Auto-updated Homebrew! Updated 2 taps (homebrew/core and homebrew/cask). ==> Updated Formulae aws-elasticbeanstalk futhark jhipster php-code-sniffer swiftgen terragrunt ==> Downloading https://homebrew.bintray.com/bottles/sphinx-doc-1.8.1.high_sierra.bottle.tar.gz If you need to have sphinx-doc first in your PATH run: ==> Summary warning: unused macro definition warning: unused import: warning: unused import: warning: unused imports: warning: use of deprecated item 'nix::unistd::pipe2': pipe2(2) is not actually atomic on these platforms. Use pipe(2) and fcntl(2) instead warning: unused
running 35 tests test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
running 98 tests failures: ---- sys::test_ptrace::test_ptrace stdout ---- ---- sys::test_ptrace::test_ptrace_cont stdout ---- failures: test result: FAILED. 96 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out error: test failed, to rerun pass '--test test'
/// Detaches the current running process, as with |
I guess I could setup a cron job to clone the repo and run the tests on this machine, like daily, if that is something you guys would find useful. |
No that's alright I got it more working some point last night and affirmed that travis is fine for testing. Thanks for offering though! Once this is in and released I'll be able to apply some changes to tarpaulin and may ask you to test them |
Just put them here I guess
…On Tue, Oct 9, 2018 at 12:09 PM xd009642 ***@***.***> wrote:
No that's alright I got it more working some point last night and affirmed
that travis is fine for testing. Thanks for offering though! Once this is
in and released I'll be able to apply some changes to tarpaulin and may ask
you to test them
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#152 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADXWcNFIBv_nMxe6Dczdk9qo1oQU3NROks5ujNhJgaJpZM4XGjL->
.
|
There's now a tracking branch for this. https://github.com/xd009642/tarpaulin/tree/osx-support I don't yet expect it to work but the ptrace compiler errors should be gone (in theory) |
So tarpaulin now builds but doesn't work on OSX. I'm going to edit your first comment to add a checklist of things that need doing so it actually shows up towards the issue progress and to generally keep things tidy. Gonna try and keep the original text in a collapsable markdown block for posterity though |
I like it because it makes my comment look more professional. |
So as an update since I've been working on this issue this week. I appear to have ported over most of the ptrace stuff launch a test add the breakpoints to instrument it but after initialising the test it times out. This makes me think the trace isn't being passed down to the child threads and rustc_test does spawn a thread for each test so it can kill it if it runs too long. Hopefully, once I solve this issue I might see some coverage results come out (if I'm really lucky and everything else works to some degree). |
@dataf3l it would be helpful if you could take the latest build off the osx-support branch and create the default lib project Also, if the outputs big upload it in a text file or link to a gist |
@xd009642 I've just wandered in from "This Week in Rust" and have zero context for this issue, but I gave it a go:
|
Oh that's actually super useful! Could you run ddbug on the dsym file? |
Awesome that's what I expected to see! I've been trying to debug and develop this via travis and apples online docs which has been a bit of a mare. I've pushed a change to the If more work is needed (I have a feeling there is more) and you're interested in working on the tarpaulin code I've got a developer wiki that explains some of how the project works https://github.com/xd009642/tarpaulin/wiki/Developers if there are any missing parts or issues I do also have a tracking issue for the wiki since it's relatively new 👍 |
That overview's given me the gist of how this is supposed to work 👍. At the minute #[cfg(target_os = "macos")]
fn open_symbols_file(test: &Path) -> io::Result<File> {
- let d_sym = test.with_extension("dSYM");
+ let mut d_sym = test.with_extension("dSYM");
+ d_sym.push("Contents/Resources/DWARF");
+ d_sym.push(test.file_stem().unwrap());
println!("Test file {}", d_sym.display());
File::open(&d_sym)
} Which leads to:
I guess this could be a privilege issue (codesigning/entitlements) or some macOS API deviation. I've got to shelf this for the moment but I'll try and circle back to this in the next few days. |
So the mach-o loading side of thing looks like it's working with that change as it's found the traces from the DWARF tables. This is in the update loop actually attempting to trace. I think this is a case of Apple doesn't expose the constants but provides more ptrace functionality than they advertise so I hard coded it myself to see if it would work. So looks like back to the apple ptrace drawing board for that |
@nathanwhit sorry for the random tag but I saw you tried some stuff with OSX support in a fork, did you make any progress or have any insights? I'm going to be borrowing a mac from a friend this week so might be able to make some real progress once I can run the code locally |
@xd009642 No worries! I did make some progress. The main issue is that (as you noticed) ptrace on macOS doesn't have the right capabilities so you have to work through other means. More specifically you have to go through the kernel's mach interface. I have two branches with my progress, I'll go through the progress and problems with each. My first attempt was the My second attempt was the I've pushed my latest changes to both branches, you're welcome to continue where I left off. |
One important note is that for any of it to work you have to run with Also, if you want to work/mess around with just the mach side of things I have a repo with some basic tests I used for debugging/developing the mach interface. Just build a binary with the name Feel free to ping me if you have any questions/thoughts. I'm still open to working on this, just right now I don't have enough bandwidth to continue. |
I am happy to see some progress on this. I would love to help, but I am swamped with a lot of other projects. |
@nathanwhit could you explain a bit what the build.rs is doing in the macos-v2 branch? |
@xd009642 Ah yeah sure, forgot about that. The following is what I've gathered from a few sources: the The mach messaging/RPC interface (headers, etc.) is actually generated by a program on the system (called |
Awesome, and I've never looked at the lldb code only gdb but that seemed extra opaque with mac stuff. I'll start looking to lldb for reference when gdb is too much 😅 |
So few issues so far, I'm working with Darwin and the Mac system headers moved but I've updated the build script. Now my current roadblock is |
just found this https://github.com/kattrali/rust-mac-app-examples/tree/master/3-packaging-a-mac-app which I think shows me how to handle the permissions for an app 🎉 I'll have another play with this at the weekend |
Hi! Do you have any updates of plan for this? I've been using Docker to run Tarpaulin, but it takes much longer and forces me to have Docker up and running. Having Tarpaulin working natively on Mac would be awesome. |
@tsauvajon so this is the current approach I'm approaching for easier cross platform support #549 the only update since I last posted on that issue is I can parse and merge the profdata formats in pure rust. I just need to extract the coverage counters from the test binaries and then set about integrating it into tarpaulin. It's just a bit of a slog since for a lot of this the LLVM source code is the documentation |
So anyone still interested go over to llvm coverage tracking issue and try it out #549 you can install from feature branch |
So mac has deviated from windows and I get a "permission denied" error on doc test coverage using the llvm coverage on CI. If anyone has a mac I'd appreciate some help 🙏 |
I think it's working fine for me! Here's the output from I'm on an M1 MacBook Pro. Let me know if you want me to try something specific out. I'm not super familiar with Tarpaulin yet |
Great to hear it works on heapless 🎉. It should work on majority of crates given number of CI tests passing, there are some failures still on Mac CI which lives in #549 . Notable ones are doc-test coverage and following spawned programs (though that's not working on linux so I can fix that). |
In MacOS 12.5 in a MacBook with M1, running it in a private project with --engine llvm I got this panic (last commit in the branch:
|
So this is now merged and some point this week there shall be a new release on crates.io (probably tomorrow). closing this issue in favour of #549 I did spend all the time from around July till now fixing edge cases and panics I found on different projects so hopefully your issue is now fixed @Razican . If not head over to #549 🙏 |
This is a tracking issue for OSX support on tarpaulin
__debug_info
sectionpersonality
ffi call)PTRACE_EVENT
based code. OSX doesn't support PTRACE_EVENTResources/links
2018/12/05 - gets into initialising the breakpoints to track coverage but none are ever hit and no exit signal.
Original issue text
localhost:src b$ rustc --version rustc 1.30.0-nightly (721913067 2018-08-26)
localhost:src b$ RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install cargo-tarpaulin
Updating registry
https://github.com/rust-lang/crates.io-index
Installing cargo-tarpaulin v0.6.7
Compiling serde v1.0.78
Compiling semver-parser v0.7.0
Compiling proc-macro2 v0.4.19
Compiling version_check v0.1.4
Compiling pkg-config v0.3.14
Compiling cc v1.0.24
Compiling unicode-xid v0.1.0
Compiling num-traits v0.2.5
Compiling void v1.0.2
Compiling build_const v0.2.1
Compiling matches v0.1.8
Compiling libc v0.2.43
Compiling stable_deref_trait v1.1.1
Compiling rand_core v0.2.1
Compiling scopeguard v0.3.3
Compiling ryu v0.2.6
Compiling unicode-normalization v0.1.7
Compiling failure_derive v0.1.2
Compiling ucd-util v0.1.1
Compiling regex v1.0.5
Compiling nodrop v0.1.12
Compiling memoffset v0.2.1
Compiling percent-encoding v1.0.1
Compiling utf8-ranges v1.0.1
Compiling core-foundation-sys v0.6.1
Compiling crossbeam-utils v0.5.0
Compiling rustc-demangle v0.1.9
Compiling cfg-if v0.1.5
Compiling itoa v0.4.3
Compiling unicode-width v0.1.5
Compiling fnv v1.0.6
Compiling bitflags v1.0.4
Compiling quick-error v1.2.2
Compiling same-file v1.0.3
Compiling byteorder v1.2.6
Compiling adler32 v1.0.3
Compiling nix v0.11.0
Compiling strsim v0.7.0
Compiling termcolor v1.0.3
Compiling remove_dir_all v0.5.1
Compiling hex v0.3.2
Compiling vec_map v0.8.1
Compiling plain v0.2.3
Compiling ansi_term v0.11.0
Compiling glob v0.2.11
Compiling md5 v0.3.8
Compiling termcolor v0.3.6
Compiling shell-escape v0.1.4
Compiling fallible-iterator v0.1.5
Compiling lazycell v0.6.0
Compiling crossbeam v0.3.2
Compiling home v0.3.3
Compiling unreachable v1.0.0
Compiling unicode-bidi v0.3.4
Compiling crc v1.8.1
Compiling owning_ref v0.3.3
Compiling lazy_static v1.1.0
Compiling rand v0.5.5
Compiling memchr v2.0.2
Compiling commoncrypto-sys v0.2.0
Compiling atty v0.2.11
Compiling fs2 v0.4.3
Compiling num_cpus v1.8.0
Compiling memmap v0.6.2
Compiling arrayvec v0.4.7
Compiling regex-syntax v0.6.2
Compiling socket2 v0.3.8
Compiling log v0.4.5
Compiling filetime v0.2.1
Compiling encoding_rs v0.8.6
Compiling uuid v0.6.5
Compiling textwrap v0.10.0
Compiling humantime v1.1.1
Compiling walkdir v2.2.5
Compiling parity-wasm v0.31.3
Compiling backtrace v0.3.9
Compiling smallvec v0.6.5
Compiling cmake v0.1.33
Compiling libz-sys v1.0.20
Compiling openssl-sys v0.9.35
Compiling curl-sys v0.4.8
Compiling miniz-sys v0.1.10
Compiling lock_api v0.1.3
Compiling aho-corasick v0.6.8
Compiling commoncrypto v0.2.0
Compiling gimli v0.16.1
Compiling jobserver v0.1.11
Compiling tar v0.4.16
Compiling clap v2.32.0
Compiling tempfile v3.0.3
Compiling libssh2-sys v0.2.10
Compiling libgit2-sys v0.7.7
Compiling num-traits v0.1.43
Compiling quote v0.6.8
Compiling crypto-hash v0.3.1
Compiling core-foundation v0.6.1
Compiling thread_local v0.3.6
Compiling crossbeam-epoch v0.6.0
Compiling enum_primitive v0.1.1
Compiling semver v0.9.0
Compiling serde_json v1.0.27
Compiling toml v0.4.6
Compiling serde_ignored v0.0.4
Compiling syn v0.14.9
Compiling syn v0.15.3
Compiling gzip-header v0.1.2
Compiling flate2 v1.0.2
Compiling curl v0.4.14
Compiling rustc_version v0.2.3
Compiling idna v0.1.5
Compiling deflate v0.7.18
Compiling parking_lot_core v0.3.1
Compiling url v1.7.1
Compiling synstructure v0.9.0
Compiling scroll_derive v0.9.4
Compiling parking_lot v0.6.4
Compiling globset v0.4.2
Compiling env_logger v0.5.13
Compiling serde_derive v1.0.78
Compiling crossbeam-channel v0.2.5
Compiling scroll v0.9.0
Compiling goblin v0.0.17
Compiling ignore v0.4.4
Compiling git2 v0.7.5
Compiling failure v0.1.2
Compiling quick-xml v0.12.3
Compiling git2-curl v0.8.1
Compiling object v0.10.0
Compiling crates-io v0.17.0
Compiling coveralls-api v0.3.3
Compiling cargo v0.29.0
Compiling cargo-tarpaulin v0.6.7
error[E0432]: unresolved import
nix::sys::ptrace
--> src/ptrace_control.rs:3:15
|
3 | use nix::sys::ptrace::*;
| ^^^^^^ Could not find
ptrace
insys
error[E0408]: variable
PTRACE_EVENT_FORK
is not bound in all patterns--> src/statemachine.rs:356:37
|
356 | PTRACE_EVENT_FORK | PTRACE_EVENT_VFORK => {
| ----------------- ^^^^^^^^^^^^^^^^^^ pattern doesn't bind
PTRACE_EVENT_FORK
| |
| variable not in all patterns
error[E0408]: variable
PTRACE_EVENT_VFORK
is not bound in all patterns--> src/statemachine.rs:356:17
|
356 | PTRACE_EVENT_FORK | PTRACE_EVENT_VFORK => {
| ^^^^^^^^^^^^^^^^^ ------------------ variable not in all patterns
| |
| pattern doesn't bind
PTRACE_EVENT_VFORK
error[E0433]: failed to resolve. Use of undeclared type or module
Options
--> src/ptrace_control.rs:13:28
|
13 | let options: Options = Options::PTRACE_O_TRACESYSGOOD |
| ^^^^^^^ Use of undeclared type or module
Options
error[E0433]: failed to resolve. Use of undeclared type or module
Options
--> src/ptrace_control.rs:14:9
|
14 | Options::PTRACE_O_TRACEEXEC | Options::PTRACE_O_TRACEEXIT |
| ^^^^^^^ Use of undeclared type or module
Options
error[E0433]: failed to resolve. Use of undeclared type or module
Options
--> src/ptrace_control.rs:14:39
|
14 | Options::PTRACE_O_TRACEEXEC | Options::PTRACE_O_TRACEEXIT |
| ^^^^^^^ Use of undeclared type or module
Options
error[E0433]: failed to resolve. Use of undeclared type or module
Options
--> src/ptrace_control.rs:15:9
|
15 | Options::PTRACE_O_TRACECLONE | Options::PTRACE_O_TRACEFORK |
| ^^^^^^^ Use of undeclared type or module
Options
error[E0433]: failed to resolve. Use of undeclared type or module
Options
--> src/ptrace_control.rs:15:40
|
15 | Options::PTRACE_O_TRACECLONE | Options::PTRACE_O_TRACEFORK |
| ^^^^^^^ Use of undeclared type or module
Options
error[E0433]: failed to resolve. Use of undeclared type or module
Options
--> src/ptrace_control.rs:16:9
|
16 | Options::PTRACE_O_TRACEVFORK;
| ^^^^^^^ Use of undeclared type or module
Options
error[E0433]: failed to resolve. Use of undeclared type or module
Request
--> src/ptrace_control.rs:31:16
|
31 | ptrace(Request::PTRACE_SINGLESTEP, pid, ptr::null_mut(), ptr::null_mut())
| ^^^^^^^ Use of undeclared type or module
Request
error[E0433]: failed to resolve. Use of undeclared type or module
Request
--> src/ptrace_control.rs:38:16
|
38 | ptrace(Request::PTRACE_PEEKDATA, pid, address as * mut c_void, ptr::null_mut())
| ^^^^^^^ Use of undeclared type or module
Request
error[E0433]: failed to resolve. Use of undeclared type or module
Request
--> src/ptrace_control.rs:47:16
|
47 | ptrace(Request::PTRACE_POKEDATA, pid, address as * mut c_void, data as * mut c_void)
| ^^^^^^^ Use of undeclared type or module
Request
error[E0433]: failed to resolve. Use of undeclared type or module
Request
--> src/ptrace_control.rs:54:16
|
54 | ptrace(Request::PTRACE_PEEKUSER, pid, RIP as * mut c_void, ptr::null_mut())
| ^^^^^^^ Use of undeclared type or module
Request
error[E0433]: failed to resolve. Use of undeclared type or module
Request
--> src/ptrace_control.rs:61:16
|
61 | ptrace(Request::PTRACE_POKEUSER, pid, RIP as * mut c_void, pc as * mut c_void)
| ^^^^^^^ Use of undeclared type or module
Request
error[E0412]: cannot find type
Persona
in this scope--> src/personality.rs:12:26
|
12 | const ADDR_NO_RANDOMIZE: Persona = 0x004_0000;
| ^^^^^^^ not found in this scope
error[E0412]: cannot find type
Persona
in this scope--> src/personality.rs:13:20
|
13 | const GET_PERSONA: Persona = 0xFFFF_FFFF;
| ^^^^^^^ not found in this scope
error[E0412]: cannot find type
Persona
in this scope--> src/personality.rs:24:25
|
24 | fn personality(persona: Persona) -> Result<c_int> {
| ^^^^^^^ not found in this scope
error[E0412]: cannot find type
Options
in this scope--> src/ptrace_control.rs:13:18
|
13 | let options: Options = Options::PTRACE_O_TRACESYSGOOD |
| ^^^^^^^ did you mean
Option
?error[E0425]: cannot find function
setoptions
in this scope--> src/ptrace_control.rs:17:5
|
17 | setoptions(pid, options)
| ^^^^^^^^^^ did you mean
options
?error[E0425]: cannot find function
detach
in this scope--> src/ptrace_control.rs:21:5
|
21 | detach(pid)
| ^^^^^^ not found in this scope
error[E0425]: cannot find function
cont
in this scope--> src/ptrace_control.rs:25:5
|
25 | cont(pid, sig)
| ^^^^ not found in this scope
error[E0425]: cannot find function
ptrace
in this scope--> src/ptrace_control.rs:31:9
|
31 | ptrace(Request::PTRACE_SINGLESTEP, pid, ptr::null_mut(), ptr::null_mut())
| ^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
|
1 | use nix::libc::ptrace;
|
error[E0425]: cannot find function
ptrace
in this scope--> src/ptrace_control.rs:38:9
|
38 | ptrace(Request::PTRACE_PEEKDATA, pid, address as * mut c_void, ptr::null_mut())
| ^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
|
1 | use nix::libc::ptrace;
|
error[E0425]: cannot find function
ptrace
in this scope--> src/ptrace_control.rs:47:9
|
47 | ptrace(Request::PTRACE_POKEDATA, pid, address as * mut c_void, data as * mut c_void)
| ^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
|
1 | use nix::libc::ptrace;
|
error[E0425]: cannot find function
ptrace
in this scope--> src/ptrace_control.rs:54:9
|
54 | ptrace(Request::PTRACE_PEEKUSER, pid, RIP as * mut c_void, ptr::null_mut())
| ^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
|
1 | use nix::libc::ptrace;
|
error[E0425]: cannot find function
ptrace
in this scope--> src/ptrace_control.rs:61:9
|
61 | ptrace(Request::PTRACE_POKEUSER, pid, RIP as * mut c_void, pc as * mut c_void)
| ^^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
|
1 | use nix::libc::ptrace;
|
error[E0425]: cannot find function
traceme
in this scope--> src/ptrace_control.rs:66:5
|
66 | traceme()
| ^^^^^^^ not found in this scope
error[E0425]: cannot find function
getevent
in this scope--> src/ptrace_control.rs:70:5
|
70 | getevent(pid)
| ^^^^^^^^ not found in this scope
error[E0599]: no associated item named
__WALL
found for typenix::sys::wait::WaitPidFlag
in the current scope--> src/statemachine.rs:231:75
|
231 | let wait = waitpid(Pid::from_raw(-1), Some(WaitPidFlag::WNOHANG | WaitPidFlag::__WALL));
| ^^^^^^^^^^^^^^^^^^^ associated item not found in
nix::sys::wait::WaitPidFlag
error[E0599]: no variant named
PtraceEvent
found for typenix::sys::wait::WaitStatus
in the current scope--> src/statemachine.rs:251:13
|
251 | WaitStatus::PtraceEvent(c,s,e) => {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ variant not found in
nix::sys::wait::WaitStatus
error: aborting due to 30 previous errors
Some errors occurred: E0408, E0412, E0425, E0432, E0433, E0599.
For more information about an error, try
rustc --explain E0408
.error: failed to compile
cargo-tarpaulin v0.6.7
, intermediate artifacts can be found at/var/folders/26/ghqp1zl50yq3bp47zljpksk80000gn/T/cargo-install5pqpq9
Caused by:
Could not compile
cargo-tarpaulin
.To learn more, run the command again with --verbose.
The text was updated successfully, but these errors were encountered: