Skip to content

Commit

Permalink
chore(blockifier): add text file with current compiler version for CI…
Browse files Browse the repository at this point in the history
… use
  • Loading branch information
dorimedini-starkware committed Aug 1, 2024
1 parent 55907ae commit 8ad0c34
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 3 deletions.
6 changes: 5 additions & 1 deletion crates/blockifier/src/test_utils/cairo_compile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ pub fn cairo1_compiler_version() -> String {
}
}

pub fn cairo1_compiler_tag() -> String {
format!("v{}", cairo1_compiler_version())
}

/// Returns the path to the local Cairo1 compiler repository.
/// Returns <sequencer_crate_root>/<RELATIVE_PATH_TO_CAIRO_REPO>, where the relative path can be
/// overridden by the environment variable (otherwise, the default is used).
Expand Down Expand Up @@ -166,7 +170,7 @@ fn verify_cairo0_compiler_deps() {

fn verify_cairo1_compiler_deps(git_tag_override: Option<String>) {
let cairo_repo_path = local_cairo1_compiler_repo_path();
let tag = git_tag_override.unwrap_or(format!("v{}", cairo1_compiler_version()));
let tag = git_tag_override.unwrap_or(cairo1_compiler_tag());

// Check if the path is a directory.
assert!(
Expand Down
3 changes: 2 additions & 1 deletion crates/blockifier/src/test_utils/contracts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ const ERC20_CAIRO1_CONTRACT_SOURCE_PATH: &str = "./ERC20/ERC20_Cairo1/ERC20.cair
const ERC20_CAIRO1_CONTRACT_PATH: &str = "./ERC20/ERC20_Cairo1/erc20.casm.json";

// Legacy contract is compiled with a fixed version of the compiler.
const LEGACY_CONTRACT_COMPILER_TAG: &str = "v2.1.0";
pub const LEGACY_CONTRACT_COMPILER_TAG: &str =
include_str!("../../tests/legacy_cairo1_compiler_tag.txt");

/// Enum representing all feature contracts.
/// The contracts that are implemented in both Cairo versions include a version field.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::fs;

use blockifier::test_utils::contracts::FeatureContract;
use blockifier::test_utils::contracts::{FeatureContract, LEGACY_CONTRACT_COMPILER_TAG};
use blockifier::test_utils::CairoVersion;
use pretty_assertions::assert_eq;
use rstest::rstest;
Expand Down Expand Up @@ -110,6 +110,12 @@ fn verify_and_get_files(cairo_version: CairoVersion) -> Vec<(String, String, Str
paths
}

#[test]
fn test_cairo1_legacy_compiler_version() {
// Legacy contract (check that the text file doesn't have whitespace for some reason).
assert_eq!(LEGACY_CONTRACT_COMPILER_TAG.trim(), LEGACY_CONTRACT_COMPILER_TAG);
}

#[test]
fn verify_feature_contracts_match_enum() {
let mut compiled_paths_from_enum: Vec<String> = FeatureContract::all_feature_contracts()
Expand Down
1 change: 1 addition & 0 deletions crates/blockifier/tests/legacy_cairo1_compiler_tag.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v2.1.0

0 comments on commit 8ad0c34

Please sign in to comment.