#[test]
fn validate_inputs_trace_length_upper_bound() {
let test = build_test!(validate_inputs_source(), &[30, 7, 0]);
expect_assert_error_message!(test);
}
#[test]
fn validate_inputs_trace_length_lower_bound() {
let test = build_test!(validate_inputs_source(), &[5, 7, 0]);
expect_assert_error_message!(test);
}
#[test]
fn validate_inputs_num_queries_upper_bound() {
let test = build_test!(validate_inputs_source(), &[10, 151, 0]);
expect_assert_error_message!(test);
}
#[test]
fn validate_inputs_num_queries_lower_bound() {
let test = build_test!(validate_inputs_source(), &[10, 6, 0]);
expect_assert_error_message!(test);
}
#[test]
fn validate_inputs_grinding_upper_bound() {
let test = build_test!(validate_inputs_source(), &[10, 7, 32]);
expect_assert_error_message!(test);
}
#[test]
fn init_seed_trace_length_too_large_has_message() {
let source = "
use miden::core::stark::random_coin
begin
push.0 push.0 push.0 push.0 push.7 push.32
exec.random_coin::init_seed
end
";
let test = build_test!(source, &[]);
expect_assert_error_message!(test);
}
#[test]
fn generate_aux_randomness_mismatch_has_message() {
let source = "
use miden::core::stark::constants
use miden::core::stark::random_coin
begin
push.11.22.33.44 exec.constants::r1_ptr mem_storew_be dropw
push.99.44.11.22 exec.constants::aux_rand_nd_ptr mem_storew_be dropw
exec.random_coin::generate_aux_randomness
end
";
let test = build_test!(source, &[]);
expect_assert_error_message!(test);
}
#[test]
fn check_pow_invalid_has_message() {
let source = "
use miden::core::stark::random_coin
begin
push.0 push.0 push.0 push.1 push.7 push.32
exec.random_coin::init_seed
exec.random_coin::check_pow
end
";
let advice_stack = &[0_u64];
let test = build_test!(source, &[], advice_stack);
expect_assert_error_message!(test);
}
fn validate_inputs_source() -> &'static str {
"
use miden::core::stark::utils
begin
exec.utils::validate_inputs
end
"
}