mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-06-13 10:41:05 +00:00
bd4e108bb0
- Factor the YUL crate out of `revive-solidity`. - `revive-solidity` is in reality not a Solidity implementation but the revive solidity compiler driver (`resolc`). By renaming we not only get this straight but also a binary with the same name as the crate which should be less confusing. --------- Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
34 lines
694 B
Rust
34 lines
694 B
Rust
//! The Solidity compiler unit tests for runtime code.
|
|
|
|
#![cfg(test)]
|
|
|
|
use std::collections::BTreeMap;
|
|
|
|
#[test]
|
|
#[should_panic(expected = "runtimeCode is not supported")]
|
|
fn default() {
|
|
let source_code = r#"
|
|
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.0;
|
|
|
|
contract A {}
|
|
|
|
contract Test {
|
|
function main() public pure returns(bytes memory) {
|
|
return type(A).runtimeCode;
|
|
}
|
|
}
|
|
"#;
|
|
|
|
let mut sources = BTreeMap::new();
|
|
sources.insert("test.sol".to_owned(), source_code.to_owned());
|
|
|
|
super::build_solidity(
|
|
sources,
|
|
BTreeMap::new(),
|
|
None,
|
|
revive_llvm_context::OptimizerSettings::cycles(),
|
|
)
|
|
.expect("Test failure");
|
|
}
|