test(solc): ensure trigger rebuild on settings change (#1591)
This commit is contained in:
parent
6f8dc93fc6
commit
1038349510
|
@ -2138,6 +2138,55 @@ fn can_checkout_repo() {
|
||||||
let _artifacts = project.artifacts_snapshot().unwrap();
|
let _artifacts = project.artifacts_snapshot().unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn can_detect_config_changes() {
|
||||||
|
let mut project = TempProject::<ConfigurableArtifacts>::dapptools().unwrap();
|
||||||
|
|
||||||
|
let remapping = project.paths().libraries[0].join("remapping");
|
||||||
|
project
|
||||||
|
.paths_mut()
|
||||||
|
.remappings
|
||||||
|
.push(Remapping::from_str(&format!("remapping/={}/", remapping.display())).unwrap());
|
||||||
|
|
||||||
|
project
|
||||||
|
.add_source(
|
||||||
|
"Foo",
|
||||||
|
r#"
|
||||||
|
pragma solidity ^0.8.10;
|
||||||
|
import "remapping/Bar.sol";
|
||||||
|
|
||||||
|
contract Foo {}
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
project
|
||||||
|
.add_lib(
|
||||||
|
"remapping/Bar",
|
||||||
|
r#"
|
||||||
|
pragma solidity ^0.8.10;
|
||||||
|
|
||||||
|
contract Bar {}
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let compiled = project.compile().unwrap();
|
||||||
|
assert!(!compiled.has_compiler_errors());
|
||||||
|
|
||||||
|
let cache = SolFilesCache::read(&project.paths().cache).unwrap();
|
||||||
|
assert_eq!(cache.files.len(), 2);
|
||||||
|
|
||||||
|
// nothing to compile
|
||||||
|
let compiled = project.compile().unwrap();
|
||||||
|
assert!(compiled.is_unchanged());
|
||||||
|
|
||||||
|
project.project_mut().solc_config.settings.optimizer.enabled = Some(true);
|
||||||
|
|
||||||
|
let compiled = project.compile().unwrap();
|
||||||
|
assert!(!compiled.has_compiler_errors());
|
||||||
|
assert!(!compiled.is_unchanged());
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn can_add_basic_contract_and_library() {
|
fn can_add_basic_contract_and_library() {
|
||||||
let mut project = TempProject::<ConfigurableArtifacts>::dapptools().unwrap();
|
let mut project = TempProject::<ConfigurableArtifacts>::dapptools().unwrap();
|
||||||
|
|
Loading…
Reference in New Issue