mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-06-14 19:11:04 +00:00
94ec34c4d5
Separate between compilation and linker phases to allow deploy time linking and back-porting era compiler changes to fix #91. Unlinked contract binaries (caused by missing libraries or missing factory dependencies in turn) are emitted as raw ELF object. Few drive by fixes: - #98 - A compiler panic on missing libraries definitions. - Fixes some incosistent type forwarding in JSON output (empty string vs. null object). - Remove the unused fallback for size optimization setting. - Remove the broken `--lvm-ir` mode. - CI workflow fixes. --------- Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com> Signed-off-by: xermicus <bigcyrill@hotmail.com> Signed-off-by: xermicus <cyrill@parity.io>
33 lines
1.1 KiB
Rust
33 lines
1.1 KiB
Rust
//! The tests for running resolc with yul option.
|
|
|
|
use crate::tests::cli::utils::{
|
|
assert_command_success, assert_equal_exit_codes, execute_resolc, execute_solc, RESOLC_YUL_FLAG,
|
|
SOLC_YUL_FLAG, YUL_CONTRACT_PATH,
|
|
};
|
|
|
|
#[test]
|
|
fn runs_with_valid_input_file() {
|
|
let resolc_result = execute_resolc(&[YUL_CONTRACT_PATH, RESOLC_YUL_FLAG]);
|
|
assert_command_success(&resolc_result, "Providing a valid input file");
|
|
|
|
assert!(resolc_result
|
|
.stderr
|
|
.contains("Compiler run successful. No output requested"));
|
|
|
|
let solc_result = execute_solc(&[YUL_CONTRACT_PATH, SOLC_YUL_FLAG]);
|
|
assert_equal_exit_codes(&solc_result, &resolc_result);
|
|
}
|
|
|
|
/// While the `solc` Solidity mode requires output selection,
|
|
/// the strict-assembly mode does not.
|
|
///
|
|
/// `resolc` exhibits consistent behavior for both modes.
|
|
#[test]
|
|
fn runs_without_input_file() {
|
|
let resolc_result = execute_resolc(&[RESOLC_YUL_FLAG]);
|
|
assert_command_success(&resolc_result, "Omitting an input file");
|
|
assert!(resolc_result
|
|
.stderr
|
|
.contains("Compiler run successful. No output requested"));
|
|
}
|