Closed KarthikNedunchezhiyan closed 4 years ago
I probably only apply the workspace filtering rules on rust source files, l'll work to fix the filtering. In the meantime you could use some variant of --exclude-files
maybe --exclude-files */usr/*
(I think those wildcards should work)
Oh I forgot to ask, do you have a public project I can try or do you know which dependencies are bringing in those headers? Just so I can test my fix :smile:
Hi @xd009642 , Great to hear this. I have very huge dependencies list so, i am really not sure what makes it to include this. Is there any way to find this, kindly let me know i will try that 😃 .
Additional context: It is reproducing in 0.14.3 but not in 0.12.4
Hmm you could always run cargo tree and paste the output here, I should be able to figure it out from thatb(though might take some time if there's truly a lot)
ya sure, below is the output of cargo tree -p yyyyy
yyyyy v0.1.0 (/workspace/xxxxx/src/yyyyy)
├── channel v0.1.0 (/workspace/xxxxx/src/channel)
│ └── nix v0.18.0
│ ├── bitflags v1.2.1
│ ├── cfg-if v0.1.10
│ └── libc v0.2.76
│ [dev-dependencies]
│ └── mio v0.7.0
│ ├── libc v0.2.76 (*)
│ └── log v0.4.11
│ └── cfg-if v0.1.10 (*)
├── clap v2.33.3
│ ├── ansi_term v0.11.0
│ ├── atty v0.2.14
│ │ └── libc v0.2.76 (*)
│ ├── bitflags v1.2.1 (*)
│ ├── strsim v0.8.0
│ ├── textwrap v0.11.0
│ │ └── unicode-width v0.1.8
│ ├── unicode-width v0.1.8 (*)
│ └── vec_map v0.8.2
├── event-manager v0.2.0
│ ├── libc v0.2.76 (*)
│ └── vmm-sys-util v0.6.1
│ ├── bitflags v1.2.1 (*)
│ └── libc v0.2.76 (*)
├── futures v0.3.5
│ ├── futures-channel v0.3.5
│ │ ├── futures-core v0.3.5
│ │ └── futures-sink v0.3.5
│ ├── futures-core v0.3.5 (*)
│ ├── futures-executor v0.3.5
│ │ ├── futures-core v0.3.5 (*)
│ │ ├── futures-task v0.3.5
│ │ │ └── once_cell v1.4.1
│ │ └── futures-util v0.3.5
│ │ ├── futures-channel v0.3.5 (*)
│ │ ├── futures-core v0.3.5 (*)
│ │ ├── futures-io v0.3.5
│ │ ├── futures-macro v0.3.5
│ │ │ ├── proc-macro-hack v0.5.18
│ │ │ ├── proc-macro2 v1.0.19
│ │ │ │ └── unicode-xid v0.2.1
│ │ │ ├── quote v1.0.7
│ │ │ │ └── proc-macro2 v1.0.19 (*)
│ │ │ └── syn v1.0.39
│ │ │ ├── proc-macro2 v1.0.19 (*)
│ │ │ ├── quote v1.0.7 (*)
│ │ │ └── unicode-xid v0.2.1 (*)
│ │ ├── futures-sink v0.3.5 (*)
│ │ ├── futures-task v0.3.5 (*)
│ │ ├── memchr v2.3.3
│ │ ├── pin-project v0.4.23
│ │ │ └── pin-project-internal v0.4.23
│ │ │ ├── proc-macro2 v1.0.19 (*)
│ │ │ ├── quote v1.0.7 (*)
│ │ │ └── syn v1.0.39 (*)
│ │ ├── pin-utils v0.1.0
│ │ ├── proc-macro-hack v0.5.18 (*)
│ │ ├── proc-macro-nested v0.1.6
│ │ └── slab v0.4.2
│ ├── futures-io v0.3.5 (*)
│ ├── futures-sink v0.3.5 (*)
│ ├── futures-task v0.3.5 (*)
│ └── futures-util v0.3.5 (*)
├── iptables v0.1.0 (/workspace/xxxxx/src/iptables)
│ [build-dependencies]
│ └── cc v1.0.59
│ [dev-dependencies]
│ ├── iptables v0.2.2
│ │ ├── lazy_static v0.2.11
│ │ ├── nix v0.7.0
│ │ │ ├── bitflags v0.4.0
│ │ │ ├── cfg-if v0.1.10 (*)
│ │ │ ├── libc v0.2.76 (*)
│ │ │ └── void v1.0.2
│ │ │ [build-dependencies]
│ │ │ ├── rustc_version v0.1.7
│ │ │ │ └── semver v0.1.20
│ │ │ └── semver v0.1.20 (*)
│ │ └── regex v0.2.11
│ │ ├── aho-corasick v0.6.10
│ │ │ └── memchr v2.3.3 (*)
│ │ ├── memchr v2.3.3 (*)
│ │ ├── regex-syntax v0.5.6
│ │ │ └── ucd-util v0.1.8
│ │ ├── thread_local v0.3.6
│ │ │ └── lazy_static v1.4.0
│ │ └── utf8-ranges v1.0.4
│ └── regex v1.3.9
│ ├── aho-corasick v0.7.13
│ │ └── memchr v2.3.3 (*)
│ ├── memchr v2.3.3 (*)
│ ├── regex-syntax v0.6.18
│ └── thread_local v1.0.1
│ └── lazy_static v1.4.0 (*)
├── lazy_static v1.4.0 (*)
├── logger v0.1.0 (/workspace/xxxxx/src/logger)
│ ├── lazy_static v1.4.0 (*)
│ ├── log v0.4.11 (*)
│ └── utils v0.1.0 (/workspace/xxxxx/src/utils)
│ └── libc v0.2.76 (*)
├── nix v0.18.0 (*)
├── procfs v0.8.1
│ ├── bitflags v1.2.1 (*)
│ ├── byteorder v1.3.4
│ ├── chrono v0.4.15
│ │ ├── num-integer v0.1.43
│ │ │ └── num-traits v0.2.12
│ │ │ [build-dependencies]
│ │ │ └── autocfg v1.0.1
│ │ │ [build-dependencies]
│ │ │ └── autocfg v1.0.1 (*)
│ │ ├── num-traits v0.2.12 (*)
│ │ └── time v0.1.43
│ │ └── libc v0.2.76 (*)
│ ├── hex v0.4.2
│ ├── lazy_static v1.4.0 (*)
│ ├── libc v0.2.76 (*)
│ └── libflate v1.0.2
│ ├── adler32 v1.2.0
│ ├── crc32fast v1.2.0
│ │ └── cfg-if v0.1.10 (*)
│ ├── libflate_lz77 v1.0.0
│ └── rle-decode-fast v1.0.1
├── prometheus v0.10.0
│ ├── cfg-if v0.1.10 (*)
│ ├── fnv v1.0.7
│ ├── lazy_static v1.4.0 (*)
│ ├── parking_lot v0.11.0
│ │ ├── instant v0.1.7
│ │ │ └── cfg-if v0.1.10 (*)
│ │ ├── lock_api v0.4.1
│ │ │ └── scopeguard v1.1.0
│ │ └── parking_lot_core v0.8.0
│ │ ├── cfg-if v0.1.10 (*)
│ │ ├── instant v0.1.7 (*)
│ │ ├── libc v0.2.76 (*)
│ │ └── smallvec v1.4.2
│ ├── regex v1.3.9 (*)
│ └── thiserror v1.0.20
│ └── thiserror-impl v1.0.20
│ ├── proc-macro2 v1.0.19 (*)
│ ├── quote v1.0.7 (*)
│ └── syn v1.0.39 (*)
├── prost v0.6.1
│ ├── bytes v0.5.6
│ └── prost-derive v0.6.1
│ ├── anyhow v1.0.32
│ ├── itertools v0.8.2
│ │ └── either v1.6.0
│ ├── proc-macro2 v1.0.19 (*)
│ ├── quote v1.0.7 (*)
│ └── syn v1.0.39 (*)
├── rdkafka v0.24.0
│ ├── futures v0.3.5 (*)
│ ├── libc v0.2.76 (*)
│ ├── log v0.4.11 (*)
│ ├── rdkafka-sys v2.1.0+1.5.0
│ │ ├── libc v0.2.76 (*)
│ │ └── num_enum v0.5.1
│ │ ├── derivative v2.1.1
│ │ │ ├── proc-macro2 v1.0.19 (*)
│ │ │ ├── quote v1.0.7 (*)
│ │ │ └── syn v1.0.39 (*)
│ │ └── num_enum_derive v0.5.1
│ │ ├── proc-macro-crate v0.1.5
│ │ │ └── toml v0.5.6
│ │ │ └── serde v1.0.116
│ │ │ └── serde_derive v1.0.116
│ │ │ ├── proc-macro2 v1.0.19 (*)
│ │ │ ├── quote v1.0.7 (*)
│ │ │ └── syn v1.0.39 (*)
│ │ ├── proc-macro2 v1.0.19 (*)
│ │ ├── quote v1.0.7 (*)
│ │ └── syn v1.0.39 (*)
│ │ [build-dependencies]
│ │ ├── cmake v0.1.44
│ │ │ └── cc v1.0.59 (*)
│ │ └── pkg-config v0.3.18
│ ├── serde v1.0.116 (*)
│ ├── serde_derive v1.0.116 (*)
│ └── serde_json v1.0.57
│ ├── itoa v0.4.6
│ ├── ryu v1.0.5
│ └── serde v1.0.116 (*)
├── serde v1.0.116 (*)
├── serde_json v1.0.57 (*)
├── sparkp v0.1.0 (/workspace/xxxxx/src/sparkp)
│ └── libc v0.2.76 (*)
├── tokio v0.2.22
│ ├── bytes v0.5.6 (*)
│ ├── fnv v1.0.7 (*)
│ ├── futures-core v0.3.5 (*)
│ ├── iovec v0.1.4
│ │ └── libc v0.2.76 (*)
│ ├── lazy_static v1.4.0 (*)
│ ├── memchr v2.3.3 (*)
│ ├── mio v0.6.22
│ │ ├── cfg-if v0.1.10 (*)
│ │ ├── iovec v0.1.4 (*)
│ │ ├── libc v0.2.76 (*)
│ │ ├── log v0.4.11 (*)
│ │ ├── net2 v0.2.34
│ │ │ ├── cfg-if v0.1.10 (*)
│ │ │ └── libc v0.2.76 (*)
│ │ └── slab v0.4.2 (*)
│ ├── num_cpus v1.13.0
│ │ └── libc v0.2.76 (*)
│ ├── pin-project-lite v0.1.7
│ └── slab v0.4.2 (*)
├── toml v0.5.6 (*)
├── tonic v0.2.1
│ ├── async-stream v0.2.1
│ │ ├── async-stream-impl v0.2.1
│ │ │ ├── proc-macro2 v1.0.19 (*)
│ │ │ ├── quote v1.0.7 (*)
│ │ │ └── syn v1.0.39 (*)
│ │ └── futures-core v0.3.5 (*)
│ ├── async-trait v0.1.38
│ │ ├── proc-macro2 v1.0.19 (*)
│ │ ├── quote v1.0.7 (*)
│ │ └── syn v1.0.39 (*)
│ ├── base64 v0.11.0
│ ├── bytes v0.5.6 (*)
│ ├── futures-core v0.3.5 (*)
│ ├── futures-util v0.3.5 (*)
│ ├── http v0.2.1
│ │ ├── bytes v0.5.6 (*)
│ │ ├── fnv v1.0.7 (*)
│ │ └── itoa v0.4.6 (*)
│ ├── http-body v0.3.1
│ │ ├── bytes v0.5.6 (*)
│ │ └── http v0.2.1 (*)
│ ├── hyper v0.13.7
│ │ ├── bytes v0.5.6 (*)
│ │ ├── futures-channel v0.3.5 (*)
│ │ ├── futures-core v0.3.5 (*)
│ │ ├── futures-util v0.3.5 (*)
│ │ ├── h2 v0.2.6
│ │ │ ├── bytes v0.5.6 (*)
│ │ │ ├── fnv v1.0.7 (*)
│ │ │ ├── futures-core v0.3.5 (*)
│ │ │ ├── futures-sink v0.3.5 (*)
│ │ │ ├── futures-util v0.3.5 (*)
│ │ │ ├── http v0.2.1 (*)
│ │ │ ├── indexmap v1.5.1
│ │ │ │ └── hashbrown v0.8.2
│ │ │ │ [build-dependencies]
│ │ │ │ └── autocfg v1.0.1 (*)
│ │ │ │ [build-dependencies]
│ │ │ │ └── autocfg v1.0.1 (*)
│ │ │ ├── slab v0.4.2 (*)
│ │ │ ├── tokio v0.2.22 (*)
│ │ │ ├── tokio-util v0.3.1
│ │ │ │ ├── bytes v0.5.6 (*)
│ │ │ │ ├── futures-core v0.3.5 (*)
│ │ │ │ ├── futures-sink v0.3.5 (*)
│ │ │ │ ├── log v0.4.11 (*)
│ │ │ │ ├── pin-project-lite v0.1.7 (*)
│ │ │ │ └── tokio v0.2.22 (*)
│ │ │ └── tracing v0.1.19
│ │ │ ├── cfg-if v0.1.10 (*)
│ │ │ ├── log v0.4.11 (*)
│ │ │ ├── tracing-attributes v0.1.11
│ │ │ │ ├── proc-macro2 v1.0.19 (*)
│ │ │ │ ├── quote v1.0.7 (*)
│ │ │ │ └── syn v1.0.39 (*)
│ │ │ └── tracing-core v0.1.15
│ │ │ └── lazy_static v1.4.0 (*)
│ │ ├── http v0.2.1 (*)
│ │ ├── http-body v0.3.1 (*)
│ │ ├── httparse v1.3.4
│ │ ├── itoa v0.4.6 (*)
│ │ ├── pin-project v0.4.23 (*)
│ │ ├── socket2 v0.3.12
│ │ │ ├── cfg-if v0.1.10 (*)
│ │ │ └── libc v0.2.76 (*)
│ │ ├── time v0.1.43 (*)
│ │ ├── tokio v0.2.22 (*)
│ │ ├── tower-service v0.3.0
│ │ ├── tracing v0.1.19 (*)
│ │ └── want v0.3.0
│ │ ├── log v0.4.11 (*)
│ │ └── try-lock v0.2.3
│ ├── percent-encoding v2.1.0
│ ├── pin-project v0.4.23 (*)
│ ├── prost v0.6.1 (*)
│ ├── prost-derive v0.6.1 (*)
│ ├── tokio v0.2.22 (*)
│ ├── tokio-util v0.3.1 (*)
│ ├── tower v0.3.1
│ │ ├── futures-core v0.3.5 (*)
│ │ ├── tower-buffer v0.3.0
│ │ │ ├── futures-core v0.3.5 (*)
│ │ │ ├── pin-project v0.4.23 (*)
│ │ │ ├── tokio v0.2.22 (*)
│ │ │ ├── tower-layer v0.3.0
│ │ │ ├── tower-service v0.3.0 (*)
│ │ │ └── tracing v0.1.19 (*)
│ │ ├── tower-discover v0.3.0
│ │ │ ├── futures-core v0.3.5 (*)
│ │ │ ├── pin-project v0.4.23 (*)
│ │ │ └── tower-service v0.3.0 (*)
│ │ ├── tower-layer v0.3.0 (*)
│ │ ├── tower-limit v0.3.1
│ │ │ ├── futures-core v0.3.5 (*)
│ │ │ ├── pin-project v0.4.23 (*)
│ │ │ ├── tokio v0.2.22 (*)
│ │ │ ├── tower-layer v0.3.0 (*)
│ │ │ ├── tower-load v0.3.0
│ │ │ │ ├── futures-core v0.3.5 (*)
│ │ │ │ ├── log v0.4.11 (*)
│ │ │ │ ├── pin-project v0.4.23 (*)
│ │ │ │ ├── tokio v0.2.22 (*)
│ │ │ │ ├── tower-discover v0.3.0 (*)
│ │ │ │ └── tower-service v0.3.0 (*)
│ │ │ └── tower-service v0.3.0 (*)
│ │ ├── tower-load-shed v0.3.0
│ │ │ ├── futures-core v0.3.5 (*)
│ │ │ ├── pin-project v0.4.23 (*)
│ │ │ ├── tower-layer v0.3.0 (*)
│ │ │ └── tower-service v0.3.0 (*)
│ │ ├── tower-retry v0.3.0
│ │ │ ├── futures-core v0.3.5 (*)
│ │ │ ├── pin-project v0.4.23 (*)
│ │ │ ├── tokio v0.2.22 (*)
│ │ │ ├── tower-layer v0.3.0 (*)
│ │ │ └── tower-service v0.3.0 (*)
│ │ ├── tower-service v0.3.0 (*)
│ │ ├── tower-timeout v0.3.0
│ │ │ ├── pin-project v0.4.23 (*)
│ │ │ ├── tokio v0.2.22 (*)
│ │ │ ├── tower-layer v0.3.0 (*)
│ │ │ └── tower-service v0.3.0 (*)
│ │ └── tower-util v0.3.1
│ │ ├── futures-core v0.3.5 (*)
│ │ ├── futures-util v0.3.5 (*)
│ │ ├── pin-project v0.4.23 (*)
│ │ └── tower-service v0.3.0 (*)
│ ├── tower-balance v0.3.0
│ │ ├── futures-core v0.3.5 (*)
│ │ ├── futures-util v0.3.5 (*)
│ │ ├── indexmap v1.5.1 (*)
│ │ ├── pin-project v0.4.23 (*)
│ │ ├── rand v0.7.3
│ │ │ ├── getrandom v0.1.14
│ │ │ │ ├── cfg-if v0.1.10 (*)
│ │ │ │ └── libc v0.2.76 (*)
│ │ │ ├── libc v0.2.76 (*)
│ │ │ ├── rand_chacha v0.2.2
│ │ │ │ ├── ppv-lite86 v0.2.9
│ │ │ │ └── rand_core v0.5.1
│ │ │ │ └── getrandom v0.1.14 (*)
│ │ │ ├── rand_core v0.5.1 (*)
│ │ │ └── rand_pcg v0.2.1
│ │ │ └── rand_core v0.5.1 (*)
│ │ ├── slab v0.4.2 (*)
│ │ ├── tokio v0.2.22 (*)
│ │ ├── tower-discover v0.3.0 (*)
│ │ ├── tower-layer v0.3.0 (*)
│ │ ├── tower-load v0.3.0 (*)
│ │ ├── tower-make v0.3.0
│ │ │ ├── tokio v0.2.22 (*)
│ │ │ └── tower-service v0.3.0 (*)
│ │ ├── tower-ready-cache v0.3.1
│ │ │ ├── futures-core v0.3.5 (*)
│ │ │ ├── futures-util v0.3.5 (*)
│ │ │ ├── indexmap v1.5.1 (*)
│ │ │ ├── log v0.4.11 (*)
│ │ │ ├── tokio v0.2.22 (*)
│ │ │ └── tower-service v0.3.0 (*)
│ │ ├── tower-service v0.3.0 (*)
│ │ └── tracing v0.1.19 (*)
│ ├── tower-load v0.3.0 (*)
│ ├── tower-make v0.3.0 (*)
│ ├── tower-service v0.3.0 (*)
│ ├── tracing v0.1.19 (*)
│ └── tracing-futures v0.2.4
│ ├── pin-project v0.4.23 (*)
│ └── tracing v0.1.19 (*)
├── tuntap v0.1.0 (/workspace/xxxxx/src/tuntap)
│ [build-dependencies]
│ └── cc v1.0.59 (*)
│ [dev-dependencies]
│ └── pnet v0.26.0
│ ├── ipnetwork v0.16.0
│ │ └── serde v1.0.116 (*)
│ ├── pnet_base v0.26.0
│ ├── pnet_datalink v0.26.0
│ │ ├── ipnetwork v0.16.0 (*)
│ │ ├── libc v0.2.76 (*)
│ │ ├── pnet_base v0.26.0 (*)
│ │ └── pnet_sys v0.26.0
│ │ └── libc v0.2.76 (*)
│ ├── pnet_packet v0.26.0
│ │ ├── pnet_base v0.26.0 (*)
│ │ └── pnet_macros_support v0.26.0
│ │ └── pnet_base v0.26.0 (*)
│ │ [build-dependencies]
│ │ ├── glob v0.2.11
│ │ ├── pnet_macros v0.26.0
│ │ │ ├── regex v1.3.9 (*)
│ │ │ ├── syntex v0.42.2
│ │ │ │ ├── syntex_errors v0.42.0
│ │ │ │ │ ├── libc v0.2.76 (*)
│ │ │ │ │ ├── log v0.3.9
│ │ │ │ │ │ └── log v0.4.11 (*)
│ │ │ │ │ ├── rustc-serialize v0.3.24
│ │ │ │ │ ├── syntex_pos v0.42.0
│ │ │ │ │ │ └── rustc-serialize v0.3.24 (*)
│ │ │ │ │ ├── term v0.4.6
│ │ │ │ │ └── unicode-xid v0.0.3
│ │ │ │ └── syntex_syntax v0.42.0
│ │ │ │ ├── bitflags v0.5.0
│ │ │ │ ├── libc v0.2.76 (*)
│ │ │ │ ├── log v0.3.9 (*)
│ │ │ │ ├── rustc-serialize v0.3.24 (*)
│ │ │ │ ├── syntex_errors v0.42.0 (*)
│ │ │ │ ├── syntex_pos v0.42.0 (*)
│ │ │ │ ├── term v0.4.6 (*)
│ │ │ │ └── unicode-xid v0.0.3 (*)
│ │ │ └── syntex_syntax v0.42.0 (*)
│ │ └── syntex v0.42.2 (*)
│ ├── pnet_sys v0.26.0 (*)
│ └── pnet_transport v0.26.0
│ ├── libc v0.2.76 (*)
│ ├── pnet_base v0.26.0 (*)
│ ├── pnet_packet v0.26.0 (*)
│ └── pnet_sys v0.26.0 (*)
└── utils v0.1.0 (/workspace/xxxxx/src/utils) (*)
[build-dependencies]
└── tonic-build v0.2.0
├── proc-macro2 v1.0.19 (*)
├── prost-build v0.6.1
│ ├── bytes v0.5.6 (*)
│ ├── heck v0.3.1
│ │ └── unicode-segmentation v1.6.0
│ ├── itertools v0.8.2 (*)
│ ├── log v0.4.11 (*)
│ ├── multimap v0.8.1
│ ├── petgraph v0.5.1
│ │ ├── fixedbitset v0.2.0
│ │ └── indexmap v1.5.1 (*)
│ ├── prost v0.6.1 (*)
│ ├── prost-types v0.6.1
│ │ ├── bytes v0.5.6 (*)
│ │ └── prost v0.6.1 (*)
│ └── tempfile v3.1.0
│ ├── cfg-if v0.1.10 (*)
│ ├── libc v0.2.76 (*)
│ ├── rand v0.7.3 (*)
│ └── remove_dir_all v0.5.3
│ [build-dependencies]
│ └── which v3.1.1
│ └── libc v0.2.76 (*)
├── quote v1.0.7 (*)
└── syn v1.0.39 (*)
Spent some time finding a public project I could recreate this on as none of the dependencies did (figured it's probably just to system headers bought in by cc). I've got a PR to sort it now, just waiting for it to pass CI, but it all looks good running locally. I'll merge it into develop and then maybe cut a new release later this week
A slight variation of this is how to check coverage for only a single crate in a workspace. Some of the crates in my workspace don't compile with tarpaulin. It would be nice if that didn't matter.
There's still the same --workspace
--package
--exclude
arguments for tarpaulin that cargo test has if that helps @bitdivine if they're not suitable if you want to open an issue with more details (and maybe a link to the project) I can take a look later today
Hi, i am running tarpaulin command
cargo tarpaulin --all
inorder to check the coverage results.tarpaulin.toml
I expected to take coverage for only files inside the workspace, but tarpaulin also includes the files outside of the workspace like below
Any idea on this?