Skip to content

Commit 187f5ea

Browse files
committed
Autoformat
1 parent f5ac0c4 commit 187f5ea

File tree

11 files changed

+62
-36
lines changed

11 files changed

+62
-36
lines changed

kani-compiler/src/codegen_cprover_gotoc/codegen/function.rs

+12-6
Original file line numberDiff line numberDiff line change
@@ -218,12 +218,12 @@ impl<'tcx> GotocCtx<'tcx> {
218218
}
219219

220220
pub mod rustc_smir {
221+
use crate::stable_mir::CrateDef;
222+
use rustc_middle::mir::coverage::CodeRegion;
221223
use rustc_middle::mir::coverage::CovTerm;
222224
use rustc_middle::ty::TyCtxt;
223225
use stable_mir::mir::mono::Instance;
224226
use stable_mir::Opaque;
225-
use crate::stable_mir::CrateDef;
226-
use rustc_middle::mir::coverage::CodeRegion;
227227

228228
type CoverageOpaque = stable_mir::Opaque;
229229

@@ -238,7 +238,11 @@ pub mod rustc_smir {
238238
}
239239

240240
/// Function that should be the internal implementation of opaque
241-
pub fn coverage_span<'tcx>(tcx: TyCtxt<'tcx>, coverage: CovTerm, instance: Instance) -> Option<CodeRegion> {
241+
pub fn coverage_span<'tcx>(
242+
tcx: TyCtxt<'tcx>,
243+
coverage: CovTerm,
244+
instance: Instance,
245+
) -> Option<CodeRegion> {
242246
let instance_def = rustc_smir::rustc_internal::internal(tcx, instance.def.def_id());
243247
let body = tcx.instance_mir(rustc_middle::ty::InstanceDef::Item(instance_def));
244248
let cov_info = &body.function_coverage_info.clone().unwrap();
@@ -264,12 +268,14 @@ pub mod rustc_smir {
264268
return Some(CovTerm::Zero);
265269
} else if let Some(rest) = coverage_str.strip_prefix("CounterIncrement(") {
266270
let (num_str, _rest) = rest.split_once(")").unwrap();
267-
let num = num_str.parse::<u32>().unwrap();
268-
Some(CovTerm::Counter(num.into()))
271+
let num = num_str.parse::<u32>().unwrap();
272+
Some(CovTerm::Counter(num.into()))
269273
} else if let Some(rest) = coverage_str.strip_prefix("ExpressionUsed(") {
270274
let (num_str, _rest) = rest.split_once(")").unwrap();
271275
let num = num_str.parse::<u32>().unwrap();
272276
Some(CovTerm::Expression(num.into()))
273-
} else { None }
277+
} else {
278+
None
279+
}
274280
}
275281
}

kani-compiler/src/codegen_cprover_gotoc/codegen/statement.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
use super::typ::TypeExt;
44
use super::typ::FN_RETURN_VOID_VAR_NAME;
55
use super::{bb_label, PropertyClass};
6+
use crate::codegen_cprover_gotoc::codegen::function::rustc_smir::coverage_opaque_span;
67
use crate::codegen_cprover_gotoc::{GotocCtx, VtableCtx};
78
use crate::unwrap_or_return_codegen_unimplemented_stmt;
89
use cbmc::goto_program::{Expr, Location, Stmt, Type};
@@ -17,7 +18,6 @@ use stable_mir::mir::{
1718
Statement, StatementKind, SwitchTargets, Terminator, TerminatorKind, RETURN_LOCAL,
1819
};
1920
use stable_mir::ty::{Abi, RigidTy, Span, Ty, TyKind, VariantIdx};
20-
use crate::codegen_cprover_gotoc::codegen::function::rustc_smir::coverage_opaque_span;
2121
use tracing::{debug, debug_span, trace};
2222

2323
impl<'tcx> GotocCtx<'tcx> {
@@ -112,7 +112,7 @@ impl<'tcx> GotocCtx<'tcx> {
112112
StatementKind::Coverage(cov) => {
113113
// debug!(?opaque, "StatementKind::Coverage Opaque");
114114
// self.codegen_coverage(stmt.span)
115-
115+
116116
let fun = self.current_fn().readable_name();
117117
let instance = self.current_fn().instance_stable();
118118
let cov_info = format!("{cov:?} ({fun})");

kani-driver/src/args/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
pub mod assess_args;
66
pub mod cargo;
77
pub mod common;
8-
pub mod playback_args;
98
pub mod coverage_args;
9+
pub mod playback_args;
1010

1111
pub use assess_args::*;
1212

kani-driver/src/call_cbmc.rs

+13-6
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@ use anyhow::{bail, Result};
55
use kani_metadata::{CbmcSolver, HarnessMetadata};
66
use regex::Regex;
77
use rustc_demangle::demangle;
8+
use std::collections::BTreeMap;
89
use std::ffi::OsString;
910
use std::fmt::Write;
1011
use std::path::Path;
1112
use std::process::Command;
1213
use std::sync::OnceLock;
1314
use std::time::{Duration, Instant};
14-
use std::collections::BTreeMap;
1515

1616
use crate::args::{OutputFormat, VerificationArgs};
1717
use crate::cbmc_output_parser::{
1818
extract_results, process_cbmc_output, CheckStatus, Property, VerificationOutput,
1919
};
2020
use crate::cbmc_property_renderer::{format_coverage, format_result, kani_cbmc_output_filter};
2121
use crate::coverage::cov_results::{self, CoverageCheck, CoverageResults};
22-
use crate::session::KaniSession;
2322
use crate::coverage::cov_results::{CoverageRegion, CoverageTerm};
23+
use crate::session::KaniSession;
2424

2525
/// We will use Cadical by default since it performed better than MiniSAT in our analysis.
2626
/// Note: Kissat was marginally better, but it is an external solver which could be more unstable.
@@ -324,7 +324,14 @@ impl VerificationResult {
324324
let show_checks = matches!(output_format, OutputFormat::Regular);
325325

326326
let mut result = if let Some(cov_results) = &self.coverage_results {
327-
format_coverage(results, cov_results, status, should_panic, failed_properties, show_checks)
327+
format_coverage(
328+
results,
329+
cov_results,
330+
status,
331+
should_panic,
332+
failed_properties,
333+
show_checks,
334+
)
328335
} else {
329336
format_result(results, status, should_panic, failed_properties, show_checks)
330337
};
@@ -401,7 +408,8 @@ fn determine_failed_properties(properties: &[Property]) -> FailedProperties {
401408
}
402409

403410
fn coverage_results_from_properties(properties: &[Property]) -> Option<CoverageResults> {
404-
let cov_properties: Vec<&Property> = properties.iter().filter(|p| p.is_code_coverage_property()).collect();
411+
let cov_properties: Vec<&Property> =
412+
properties.iter().filter(|p| p.is_code_coverage_property()).collect();
405413

406414
if cov_properties.is_empty() {
407415
return None;
@@ -439,7 +447,7 @@ fn coverage_results_from_properties(properties: &[Property]) -> Option<CoverageR
439447

440448
let term = CoverageTerm::Counter(counter_num.parse().unwrap());
441449
let region = CoverageRegion::from_str(span);
442-
450+
443451
let cov_check = CoverageCheck::new(function, term, region, status);
444452
let file = cov_check.region.file.clone();
445453

@@ -473,7 +481,6 @@ fn coverage_results_from_properties(properties: &[Property]) -> Option<CoverageR
473481
}
474482

475483
Some(CoverageResults::new(coverage_results))
476-
477484
}
478485
/// Solve Unwind Value from conflicting inputs of unwind values. (--default-unwind, annotation-unwind, --unwind)
479486
pub fn resolve_unwind_value(

kani-driver/src/call_single_file.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ impl KaniSession {
126126
if self.args.coverage {
127127
flags.extend_from_slice(
128128
// &["-C", "instrument-coverage", "-Z", "no-profiler-runtime", "--emit=mir"].map(OsString::from),
129-
&["-C", "instrument-coverage", "-Z", "no-profiler-runtime", "-C", "opt-level=0"].map(OsString::from),
129+
&["-C", "instrument-coverage", "-Z", "no-profiler-runtime", "-C", "opt-level=0"]
130+
.map(OsString::from),
130131
);
131132
}
132133
flags.extend_from_slice(

kani-driver/src/cbmc_property_renderer.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
use crate::args::OutputFormat;
55
use crate::call_cbmc::{FailedProperties, VerificationStatus};
66
use crate::cbmc_output_parser::{CheckStatus, ParserItem, Property, TraceItem};
7-
use crate::coverage::cov_results::{self, fmt_coverage_results, CoverageCheck, CoverageRegion, CoverageResults, CoverageTerm};
7+
use crate::coverage::cov_results::{
8+
self, fmt_coverage_results, CoverageCheck, CoverageRegion, CoverageResults, CoverageTerm,
9+
};
810
use console::style;
911
use once_cell::sync::Lazy;
1012
use regex::Regex;
@@ -455,7 +457,6 @@ fn format_result_new_coverage(cov_results: &CoverageResults) -> String {
455457
fmt_coverage_results(&cov_results).expect("error: couldn't format coverage results")
456458
}
457459

458-
459460
/// Attempts to build a message for a failed property with as much detailed
460461
/// information on the source location as possible.
461462
fn build_failure_message(description: String, trace: &Option<Vec<TraceItem>>) -> String {

kani-driver/src/coverage/cov_results.rs

+10-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::cbmc_output_parser::CheckStatus;
2-
use std::{collections::BTreeMap, fmt::Display};
3-
use std::fmt::{self, Write};
42
use anyhow::Result;
53
use serde::{Deserialize, Serialize};
4+
use std::fmt::{self, Write};
5+
use std::{collections::BTreeMap, fmt::Display};
66

77
#[derive(Clone, Debug, Serialize, Deserialize)]
88
pub struct CoverageResults {
@@ -27,7 +27,7 @@ pub fn fmt_coverage_results(coverage_results: &CoverageResults) -> Result<String
2727
.or_insert_with(Vec::new)
2828
.push(check.clone());
2929
}
30-
30+
3131
for (function, checks) in checks_by_function {
3232
writeln!(fmt_string, "{file} ({function})")?;
3333
let mut sorted_checks: Vec<CoverageCheck> = checks.to_vec();
@@ -50,8 +50,13 @@ pub struct CoverageCheck {
5050
}
5151

5252
impl CoverageCheck {
53-
pub fn new(function: String, term: CoverageTerm, region: CoverageRegion, status: CheckStatus) -> Self {
54-
Self {function, term, region, status }
53+
pub fn new(
54+
function: String,
55+
term: CoverageTerm,
56+
region: CoverageRegion,
57+
status: CheckStatus,
58+
) -> Self {
59+
Self { function, term, region, status }
5560
}
5661
}
5762

kani-driver/src/coverage/coverage.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ use std::fs::File;
66
use std::io::Write;
77

88
use crate::args::coverage_args::CargoCoverageArgs;
9-
use crate::KaniSession;
10-
use crate::project;
119
use crate::harness_runner;
1210
use crate::harness_runner::HarnessResult;
11+
use crate::project;
12+
use crate::KaniSession;
1313
use anyhow::Result;
1414
use tracing::debug;
1515

@@ -34,15 +34,15 @@ impl KaniSession {
3434
let build_target = env!("TARGET");
3535
let metadata = self.cargo_metadata(build_target)?;
3636
let target_dir = self
37-
.args
38-
.target_dir
39-
.as_ref()
40-
.unwrap_or(&metadata.target_directory.clone().into())
41-
.clone()
42-
.join("kani");
43-
37+
.args
38+
.target_dir
39+
.as_ref()
40+
.unwrap_or(&metadata.target_directory.clone().into())
41+
.clone()
42+
.join("kani");
43+
4444
let outdir = target_dir.join(build_target).join("cov");
45-
45+
4646
if !outdir.exists() {
4747
fs::create_dir(&outdir)?;
4848
}

kani-driver/src/coverage/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// Copyright Kani Contributors
22
// SPDX-License-Identifier: Apache-2.0 OR MIT
3-
pub mod coverage;
43
pub mod cov_results;
4+
pub mod coverage;

kani-driver/src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use args_toml::join_args;
1111

1212
use crate::args::StandaloneSubcommand;
1313
use crate::concrete_playback::playback::{playback_cargo, playback_standalone};
14-
use crate::coverage::coverage::{coverage_cargo};
14+
use crate::coverage::coverage::coverage_cargo;
1515
use crate::project::Project;
1616
use crate::session::KaniSession;
1717
use crate::version::print_kani_version;

tools/build-kani/src/sysroot.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,13 @@ pub fn build_lib(bin_folder: &Path) -> Result<()> {
7474
fn build_verification_lib(compiler_path: &Path) -> Result<()> {
7575
let extra_args =
7676
["-Z", "build-std=panic_abort,std,test", "--config", "profile.dev.panic=\"abort\""];
77-
let compiler_args = ["--kani-compiler", "-Cllvm-args=--ignore-global-asm --build-std", "-Cinstrument-coverage", "-Z", "no-profiler-runtime"];
77+
let compiler_args = [
78+
"--kani-compiler",
79+
"-Cllvm-args=--ignore-global-asm --build-std",
80+
"-Cinstrument-coverage",
81+
"-Z",
82+
"no-profiler-runtime",
83+
];
7884
build_kani_lib(compiler_path, &kani_sysroot_lib(), &extra_args, &compiler_args)
7985
}
8086

0 commit comments

Comments
 (0)