Bump sbf-tools version to v1.29

This commit is contained in:
Dmitri Makarov 2022-07-29 14:11:33 -07:00 committed by mergify[bot]
parent ed8c224374
commit 776a47bd83
5 changed files with 44 additions and 23 deletions

View File

@ -1629,8 +1629,8 @@ fn assert_instruction_count() {
("noop++", 5),
("relative_call", 210),
("return_data", 980),
("sanity", 2378),
("sanity++", 2278),
("sanity", 2379),
("sanity++", 2279),
("secp256k1_recover", 25383),
("sha", 1355),
("struct_pass", 108),
@ -1640,21 +1640,21 @@ fn assert_instruction_count() {
#[cfg(feature = "bpf_rust")]
{
programs.extend_from_slice(&[
("solana_bpf_rust_128bit", 584),
("solana_bpf_rust_alloc", 4581),
("solana_bpf_rust_custom_heap", 469),
("solana_bpf_rust_128bit", 580),
("solana_bpf_rust_alloc", 5060),
("solana_bpf_rust_custom_heap", 509),
("solana_bpf_rust_dep_crate", 2),
("solana_bpf_rust_external_spend", 338),
("solana_bpf_rust_external_spend", 378),
("solana_bpf_rust_iter", 108),
("solana_bpf_rust_many_args", 1289),
("solana_bpf_rust_mem", 2118),
("solana_bpf_rust_membuiltins", 1539),
("solana_bpf_rust_noop", 326),
("solana_bpf_rust_mem", 2158),
("solana_bpf_rust_membuiltins", 1541),
("solana_bpf_rust_noop", 366),
("solana_bpf_rust_param_passing", 146),
("solana_bpf_rust_rand", 429),
("solana_bpf_rust_sanity", 52290),
("solana_bpf_rust_rand", 469),
("solana_bpf_rust_sanity", 52054),
("solana_bpf_rust_secp256k1_recover", 25707),
("solana_bpf_rust_sha", 25265),
("solana_bpf_rust_sha", 24081),
]);
}

View File

@ -15,7 +15,7 @@ OUT_DIR ?= ./out
OS := $(shell uname)
LLVM_DIR = $(LOCAL_PATH)../dependencies/bpf-tools/llvm
LLVM_SYSTEM_INC_DIRS := $(LLVM_DIR)/lib/clang/13.0.0/include
LLVM_SYSTEM_INC_DIRS := $(LLVM_DIR)/lib/clang/14.0.0/include
COMPILER_RT_DIR = $(LOCAL_PATH)../dependencies/bpf-tools/rust/lib/rustlib/bpfel-unknown-unknown/lib
STD_INC_DIRS := $(LLVM_DIR)/include
STD_LIB_DIRS := $(LLVM_DIR)/lib

View File

@ -102,7 +102,7 @@ if [[ ! -e criterion-$version.md || ! -e criterion ]]; then
fi
# Install Rust-BPF
version=v1.28
version=v1.29
if [[ ! -e bpf-tools-$version.md || ! -e bpf-tools ]]; then
(
set -e

View File

@ -826,7 +826,7 @@ fn main() {
// The following line is scanned by CI configuration script to
// separate cargo caches according to the version of sbf-tools.
let sbf_tools_version = "v1.28";
let sbf_tools_version = "v1.29";
let version = format!("{}\nsbf-tools {}", crate_version!(), sbf_tools_version);
let matches = clap::Command::new(crate_name!())
.about(crate_description!())

View File

@ -7,7 +7,7 @@ use std::{
#[macro_use]
extern crate serial_test;
fn run_cargo_build(crate_name: &str, extra_args: &[&str]) -> Output {
fn run_cargo_build(crate_name: &str, extra_args: &[&str], test_name: &str) -> Output {
let cwd = env::current_dir().expect("Unable to get current working directory");
let root = cwd
.parent()
@ -20,30 +20,44 @@ fn run_cargo_build(crate_name: &str, extra_args: &[&str]) -> Output {
.join(crate_name)
.join("Cargo.toml");
let toml = format!("{}", toml.display());
let mut args = vec!["--sbf-sdk", "../bpf", "--manifest-path", &toml];
let mut args = vec!["-v", "--sbf-sdk", "../bpf", "--manifest-path", &toml];
for arg in extra_args {
args.push(arg);
}
args.push("--");
args.push("-vv");
let cargo_build_sbf = root.join("target").join("debug").join("cargo-build-sbf");
env::set_var("RUST_LOG", "debug");
let output = Command::new(cargo_build_sbf)
.args(&args)
.output()
.expect("Error running cargo-build-sbf");
if !output.status.success() {
eprintln!("--- stdout ---");
eprintln!("--- stdout of {} ---", test_name);
io::stderr().write_all(&output.stdout).unwrap();
eprintln!("--- stderr ---");
eprintln!("--- stderr of {} ---", test_name);
io::stderr().write_all(&output.stderr).unwrap();
eprintln!("--------------");
}
output
}
fn clean_target(crate_name: &str) {
let cwd = env::current_dir().expect("Unable to get current working directory");
let target = cwd
.join("tests")
.join("crates")
.join(crate_name)
.join("target");
fs::remove_dir_all(target).expect("Failed to remove target dir");
}
#[test]
#[serial]
fn test_build() {
let output = run_cargo_build("noop", &[]);
let output = run_cargo_build("noop", &[], "test_build");
assert!(output.status.success());
clean_target("noop");
}
#[test]
@ -55,7 +69,7 @@ fn test_dump() {
.status()
.expect("Unable to install rustfilt required for --dump option")
.success());
let output = run_cargo_build("noop", &["--dump"]);
let output = run_cargo_build("noop", &["--dump"], "test_dump");
assert!(output.status.success());
let cwd = env::current_dir().expect("Unable to get current working directory");
let dump = cwd
@ -66,23 +80,29 @@ fn test_dump() {
.join("deploy")
.join("noop-dump.txt");
assert!(dump.exists());
clean_target("noop");
}
#[test]
#[serial]
fn test_out_dir() {
let output = run_cargo_build("noop", &["--sbf-out-dir", "tmp_out"]);
let output = run_cargo_build("noop", &["--sbf-out-dir", "tmp_out"], "test_out_dir");
assert!(output.status.success());
let cwd = env::current_dir().expect("Unable to get current working directory");
let dir = cwd.join("tmp_out");
assert!(dir.exists());
fs::remove_dir_all("tmp_out").expect("Failed to remove tmp_out dir");
clean_target("noop");
}
#[test]
#[serial]
fn test_generate_child_script_on_failre() {
let output = run_cargo_build("fail", &["--generate-child-script-on-failure"]);
let output = run_cargo_build(
"fail",
&["--generate-child-script-on-failure"],
"test_generate_child_script_on_failre",
);
assert!(!output.status.success());
let cwd = env::current_dir().expect("Unable to get current working directory");
let scr = cwd
@ -92,4 +112,5 @@ fn test_generate_child_script_on_failre() {
.join("cargo-build-sbf-child-script-cargo.sh");
assert!(scr.exists());
fs::remove_file(scr).expect("Failed to remove script");
clean_target("fail");
}