Skip to content

Commit abcb54e

Browse files
authored
Maintain test execution performance with newer CaDiCaL versions (rust-lang#3381)
CBMC using CaDiCaL 1.9.2 and later have substantially worse performance on these tests than CaDiCaL 1.7.2, which CBMC 5.95.1 uses. Using MiniSat will make sure performance remains consistent.
1 parent ae3bdb2 commit abcb54e

File tree

10 files changed

+19
-0
lines changed

10 files changed

+19
-0
lines changed

tests/kani/FloatingPoint/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ macro_rules! test_floats {
2626
}
2727

2828
#[kani::proof]
29+
#[kani::solver(minisat)]
2930
fn main() {
3031
assert!(1.1 == 1.1 * 1.0);
3132
assert!(1.1 != 1.11 / 1.0);

tests/kani/Intrinsics/Math/Rounding/Ceil/ceilf64.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ fn test_conc_sci() {
4545
}
4646

4747
#[kani::proof]
48+
#[kani::solver(minisat)]
4849
fn test_towards_inf() {
4950
let x: f64 = kani::any();
5051
kani::assume(!x.is_nan());
@@ -53,6 +54,7 @@ fn test_towards_inf() {
5354
}
5455

5556
#[kani::proof]
57+
#[kani::solver(minisat)]
5658
fn test_diff_one() {
5759
let x: f64 = kani::any();
5860
kani::assume(!x.is_nan());

tests/kani/Intrinsics/Math/Rounding/Floor/floorf64.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ fn test_conc_sci() {
4545
}
4646

4747
#[kani::proof]
48+
#[kani::solver(minisat)]
4849
fn test_towards_neg_inf() {
4950
let x: f64 = kani::any();
5051
kani::assume(!x.is_nan());
@@ -53,6 +54,7 @@ fn test_towards_neg_inf() {
5354
}
5455

5556
#[kani::proof]
57+
#[kani::solver(minisat)]
5658
fn test_diff_one() {
5759
let x: f64 = kani::any();
5860
kani::assume(!x.is_nan());

tests/kani/Intrinsics/Math/Rounding/NearbyInt/nearbyintf32.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ fn test_conc_sci() {
5050
}
5151

5252
#[kani::proof]
53+
#[kani::solver(minisat)]
5354
fn test_towards_nearest() {
5455
let x: f32 = kani::any();
5556
kani::assume(!x.is_nan());
@@ -88,6 +89,7 @@ fn test_towards_nearest() {
8889
}
8990

9091
#[kani::proof]
92+
#[kani::solver(minisat)]
9193
fn test_diff_half_one() {
9294
let x: f32 = kani::any();
9395
kani::assume(!x.is_nan());

tests/kani/Intrinsics/Math/Rounding/NearbyInt/nearbyintf64.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ fn test_conc_sci() {
5050
}
5151

5252
#[kani::proof]
53+
#[kani::solver(minisat)]
5354
fn test_towards_nearest() {
5455
let x: f64 = kani::any();
5556
kani::assume(!x.is_nan());
@@ -88,6 +89,7 @@ fn test_towards_nearest() {
8889
}
8990

9091
#[kani::proof]
92+
#[kani::solver(minisat)]
9193
fn test_diff_half_one() {
9294
let x: f64 = kani::any();
9395
kani::assume(!x.is_nan());

tests/kani/Intrinsics/Math/Rounding/RInt/rintf32.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ fn test_conc_sci() {
5555
}
5656

5757
#[kani::proof]
58+
#[kani::solver(minisat)]
5859
fn test_towards_nearest() {
5960
let x: f32 = kani::any();
6061
kani::assume(!x.is_nan());
@@ -93,6 +94,7 @@ fn test_towards_nearest() {
9394
}
9495

9596
#[kani::proof]
97+
#[kani::solver(minisat)]
9698
fn test_diff_half_one() {
9799
let x: f32 = kani::any();
98100
kani::assume(!x.is_nan());

tests/kani/Intrinsics/Math/Rounding/RInt/rintf64.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ fn test_conc_sci() {
5555
}
5656

5757
#[kani::proof]
58+
#[kani::solver(minisat)]
5859
fn test_towards_nearest() {
5960
let x: f64 = kani::any();
6061
kani::assume(!x.is_nan());
@@ -93,6 +94,7 @@ fn test_towards_nearest() {
9394
}
9495

9596
#[kani::proof]
97+
#[kani::solver(minisat)]
9698
fn test_diff_half_one() {
9799
let x: f64 = kani::any();
98100
kani::assume(!x.is_nan());

tests/kani/Intrinsics/Math/Rounding/Round/roundf32.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ fn test_conc_sci() {
3939
}
4040

4141
#[kani::proof]
42+
#[kani::solver(minisat)]
4243
fn test_towards_closer() {
4344
let x: f32 = kani::any();
4445
kani::assume(!x.is_nan());
@@ -61,6 +62,7 @@ fn test_towards_closer() {
6162
}
6263

6364
#[kani::proof]
65+
#[kani::solver(minisat)]
6466
fn test_diff_half_one() {
6567
let x: f32 = kani::any();
6668
kani::assume(!x.is_nan());

tests/kani/Intrinsics/Math/Rounding/Round/roundf64.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ fn test_conc_sci() {
3939
}
4040

4141
#[kani::proof]
42+
#[kani::solver(minisat)]
4243
fn test_towards_closer() {
4344
let x: f64 = kani::any();
4445
kani::assume(!x.is_nan());
@@ -61,6 +62,7 @@ fn test_towards_closer() {
6162
}
6263

6364
#[kani::proof]
65+
#[kani::solver(minisat)]
6466
fn test_diff_half_one() {
6567
let x: f64 = kani::any();
6668
kani::assume(!x.is_nan());

tests/kani/Intrinsics/Math/Rounding/Trunc/truncf64.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ fn test_conc_sci() {
3838
}
3939

4040
#[kani::proof]
41+
#[kani::solver(minisat)]
4142
fn test_towards_zero() {
4243
let x: f64 = kani::any();
4344
kani::assume(!x.is_nan());
@@ -50,6 +51,7 @@ fn test_towards_zero() {
5051
}
5152

5253
#[kani::proof]
54+
#[kani::solver(minisat)]
5355
fn test_diff_one() {
5456
let x: f64 = kani::any();
5557
kani::assume(!x.is_nan());

0 commit comments

Comments
 (0)