diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 090360be89..5f44b895e6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -167,7 +167,7 @@ jobs: - uses: Swatinem/rust-cache@v2 - run: npm install -g ganache@7.4.3 - name: Coverage - run: cargo llvm-cov --codecov --output-path codecov.json + run: cargo +nightly llvm-cov --codecov --output-path codecov.json env: SEED: 0 - name: Codecov diff --git a/crates/papyrus_config/src/lib.rs b/crates/papyrus_config/src/lib.rs index 67987efc75..9e1351d3fc 100644 --- a/crates/papyrus_config/src/lib.rs +++ b/crates/papyrus_config/src/lib.rs @@ -1,3 +1,6 @@ +// config compiler to support no_coverage feature when running coverage in nightly mode within this +// crate +#![cfg_attr(coverage_nightly, feature(no_coverage))] #![warn(missing_docs)] //! Configuration utilities for a Starknet node. //! diff --git a/crates/papyrus_gateway/src/gateway_metrics/mod.rs b/crates/papyrus_gateway/src/gateway_metrics/mod.rs index 6894b6f065..d3ba22ca6a 100644 --- a/crates/papyrus_gateway/src/gateway_metrics/mod.rs +++ b/crates/papyrus_gateway/src/gateway_metrics/mod.rs @@ -72,13 +72,16 @@ impl Logger for MetricLogger { } } + #[cfg_attr(coverage_nightly, no_coverage)] fn on_request(&self, _transport: TransportProtocol) -> Self::Instant { Instant::now() } // Required methods. + #[cfg_attr(coverage_nightly, no_coverage)] fn on_connect(&self, _remote_addr: SocketAddr, _request: &HttpRequest, _t: TransportProtocol) {} + #[cfg_attr(coverage_nightly, no_coverage)] fn on_call( &self, _method_name: &str, @@ -88,6 +91,7 @@ impl Logger for MetricLogger { ) { } + #[cfg_attr(coverage_nightly, no_coverage)] fn on_response( &self, _result: &str, @@ -96,6 +100,7 @@ impl Logger for MetricLogger { ) { } + #[cfg_attr(coverage_nightly, no_coverage)] fn on_disconnect(&self, _remote_addr: SocketAddr, _transport: TransportProtocol) {} } diff --git a/crates/papyrus_gateway/src/lib.rs b/crates/papyrus_gateway/src/lib.rs index 1e134c117a..01364eaf02 100644 --- a/crates/papyrus_gateway/src/lib.rs +++ b/crates/papyrus_gateway/src/lib.rs @@ -1,3 +1,7 @@ +// config compiler to support no_coverage feature when running coverage in nightly mode within this +// crate +#![cfg_attr(coverage_nightly, feature(no_coverage))] + mod api; mod gateway_metrics; #[cfg(test)] diff --git a/crates/papyrus_gateway/src/v0_3_0/transaction.rs b/crates/papyrus_gateway/src/v0_3_0/transaction.rs index 45eaf22db8..01887f189e 100644 --- a/crates/papyrus_gateway/src/v0_3_0/transaction.rs +++ b/crates/papyrus_gateway/src/v0_3_0/transaction.rs @@ -348,6 +348,7 @@ impl TransactionOutput { } impl From for TransactionOutput { + #[cfg_attr(coverage_nightly, no_coverage)] fn from(tx_output: starknet_api::transaction::TransactionOutput) -> Self { match tx_output { starknet_api::transaction::TransactionOutput::Declare(declare_tx_output) => { diff --git a/crates/papyrus_gateway/src/v0_4_0/transaction.rs b/crates/papyrus_gateway/src/v0_4_0/transaction.rs index 29c71a0f70..9317d20692 100644 --- a/crates/papyrus_gateway/src/v0_4_0/transaction.rs +++ b/crates/papyrus_gateway/src/v0_4_0/transaction.rs @@ -365,6 +365,7 @@ impl TransactionOutput { } impl From for TransactionOutput { + #[cfg_attr(coverage_nightly, no_coverage)] fn from(tx_output: starknet_api::transaction::TransactionOutput) -> Self { match tx_output { starknet_api::transaction::TransactionOutput::Declare(declare_tx_output) => { diff --git a/crates/papyrus_load_test/src/lib.rs b/crates/papyrus_load_test/src/lib.rs index 60fed3c661..213adf139b 100644 --- a/crates/papyrus_load_test/src/lib.rs +++ b/crates/papyrus_load_test/src/lib.rs @@ -1,3 +1,7 @@ +// config compiler to support no_coverage feature when running coverage in nightly mode within this +// crate +#![cfg_attr(coverage_nightly, feature(no_coverage))] + pub mod create_files; pub mod create_request; pub mod scenarios; diff --git a/crates/papyrus_monitoring_gateway/src/lib.rs b/crates/papyrus_monitoring_gateway/src/lib.rs index ae49f878c3..132e1bf284 100644 --- a/crates/papyrus_monitoring_gateway/src/lib.rs +++ b/crates/papyrus_monitoring_gateway/src/lib.rs @@ -1,3 +1,6 @@ +// config compiler to support no_coverage feature when running coverage in nightly mode within this +// crate +#![cfg_attr(coverage_nightly, feature(no_coverage))] #[cfg(test)] mod gateway_test; @@ -49,6 +52,7 @@ impl SerializeConfig for MonitoringGatewayConfig { } impl Display for MonitoringGatewayConfig { + #[cfg_attr(coverage_nightly, no_coverage)] fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "{self:?}") } diff --git a/crates/papyrus_node/src/bin/dump_config.rs b/crates/papyrus_node/src/bin/dump_config.rs index 2cc4b91754..ea2f73951b 100644 --- a/crates/papyrus_node/src/bin/dump_config.rs +++ b/crates/papyrus_node/src/bin/dump_config.rs @@ -1,3 +1,7 @@ +// config compiler to support no_coverage feature when running coverage in nightly mode within this +// crate +#![cfg_attr(coverage_nightly, feature(no_coverage))] + use lazy_static::lazy_static; use papyrus_config::dumping::{ser_param, SerializeConfig}; use papyrus_config::{ParamPath, SerializedParam}; @@ -29,6 +33,7 @@ lazy_static! { /// Updates the default config file by: /// cargo run --bin dump_config -q +#[cfg_attr(coverage_nightly, no_coverage)] fn main() { NodeConfig::default() .dump_to_file(&CONFIG_POINTERS, DEFAULT_CONFIG_PATH) diff --git a/crates/papyrus_node/src/lib.rs b/crates/papyrus_node/src/lib.rs index 9fde0b67b2..5b1b51b8f7 100644 --- a/crates/papyrus_node/src/lib.rs +++ b/crates/papyrus_node/src/lib.rs @@ -1,3 +1,6 @@ +// config compiler to support no_coverage feature when running coverage in nightly mode within this +// crate +#![cfg_attr(coverage_nightly, feature(no_coverage))] #[allow(unused_imports)] pub mod config; pub mod version; diff --git a/crates/papyrus_node/src/version.rs b/crates/papyrus_node/src/version.rs index 48c759cee6..297011b51a 100644 --- a/crates/papyrus_node/src/version.rs +++ b/crates/papyrus_node/src/version.rs @@ -33,10 +33,12 @@ enum Metadata { Stable, } +#[cfg_attr(coverage_nightly, no_coverage)] const fn version_str() -> &'static str { const_format::concatcp!(VERSION_MAJOR, ".", VERSION_MINOR, ".", VERSION_PATCH) } +#[cfg_attr(coverage_nightly, no_coverage)] const fn full_version_str() -> &'static str { match VERSION_META { Metadata::Dev => const_format::concatcp!(VERSION, "-", DEV_VERSION_META), diff --git a/crates/papyrus_storage/src/lib.rs b/crates/papyrus_storage/src/lib.rs index 641890203e..41d2c30206 100644 --- a/crates/papyrus_storage/src/lib.rs +++ b/crates/papyrus_storage/src/lib.rs @@ -1,3 +1,6 @@ +// config compiler to support no_coverage feature when running coverage in nightly mode within this +// crate +#![cfg_attr(coverage_nightly, feature(no_coverage))] #![warn(missing_docs)] //! A storage implementation for a [`Starknet`] node. //! diff --git a/crates/papyrus_sync/src/lib.rs b/crates/papyrus_sync/src/lib.rs index 2a23d91774..75ac9dc16c 100644 --- a/crates/papyrus_sync/src/lib.rs +++ b/crates/papyrus_sync/src/lib.rs @@ -1,3 +1,7 @@ +// config compiler to support no_coverage feature when running coverage in nightly mode within this +// crate +#![cfg_attr(coverage_nightly, feature(no_coverage))] + #[cfg(test)] #[path = "sync_test.rs"] mod sync_test; diff --git a/crates/starknet_client/src/lib.rs b/crates/starknet_client/src/lib.rs index 0c14facbc6..82681600d8 100644 --- a/crates/starknet_client/src/lib.rs +++ b/crates/starknet_client/src/lib.rs @@ -1,3 +1,7 @@ +// config compiler to support no_coverage feature when running coverage in nightly mode within this +// crate +#![cfg_attr(coverage_nightly, feature(no_coverage))] + //! This crate contains clients that can communicate with [`Starknet`] through the various //! endpoints [`Starknet`] has. //!