From e752299ac549d592e95e429ce3beeea3f71d35fd Mon Sep 17 00:00:00 2001 From: Dmitri Makarov Date: Mon, 5 Jul 2021 17:15:39 -0700 Subject: [PATCH] Bump bpf-tools version Update Rust BPF to version 1.53 --- Cargo.lock | 1 + programs/bpf/tests/programs.rs | 4 ++-- sdk/bpf/scripts/install.sh | 2 +- sdk/cargo-build-bpf/Cargo.toml | 3 +++ sdk/cargo-build-bpf/src/main.rs | 2 +- sdk/cargo-build-bpf/tests/crates.rs | 25 ++++++++++++++++--------- 6 files changed, 24 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dbfb8eee8d..b918a3cf6b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4367,6 +4367,7 @@ dependencies = [ "cargo_metadata", "clap 2.33.3", "regex", + "serial_test 0.4.0", "solana-download-utils", "solana-sdk", "tar", diff --git a/programs/bpf/tests/programs.rs b/programs/bpf/tests/programs.rs index 537847fc45..96f2be9f95 100644 --- a/programs/bpf/tests/programs.rs +++ b/programs/bpf/tests/programs.rs @@ -1292,13 +1292,13 @@ fn assert_instruction_count() { { programs.extend_from_slice(&[ ("solana_bpf_rust_128bit", 584), - ("solana_bpf_rust_alloc", 7082), + ("solana_bpf_rust_alloc", 7143), ("solana_bpf_rust_custom_heap", 522), ("solana_bpf_rust_dep_crate", 47), ("solana_bpf_rust_external_spend", 504), ("solana_bpf_rust_iter", 724), ("solana_bpf_rust_many_args", 233), - ("solana_bpf_rust_mem", 3117), + ("solana_bpf_rust_mem", 3119), ("solana_bpf_rust_membuiltins", 4065), ("solana_bpf_rust_noop", 478), ("solana_bpf_rust_param_passing", 46), diff --git a/sdk/bpf/scripts/install.sh b/sdk/bpf/scripts/install.sh index 6e88c1c463..802080b191 100755 --- a/sdk/bpf/scripts/install.sh +++ b/sdk/bpf/scripts/install.sh @@ -92,7 +92,7 @@ if [[ ! -e criterion-$version.md || ! -e criterion ]]; then fi # Install Rust-BPF -version=v1.12 +version=v1.13 if [[ ! -e bpf-tools-$version.md || ! -e bpf-tools ]]; then ( set -e diff --git a/sdk/cargo-build-bpf/Cargo.toml b/sdk/cargo-build-bpf/Cargo.toml index 962856fca3..19c5e19616 100644 --- a/sdk/cargo-build-bpf/Cargo.toml +++ b/sdk/cargo-build-bpf/Cargo.toml @@ -18,6 +18,9 @@ solana-sdk = { path = "..", version = "=1.8.0" } solana-download-utils = { path = "../../download-utils", version = "=1.8.0" } tar = "0.4.35" +[dev-dependencies] +serial_test = "*" + [features] program = [] diff --git a/sdk/cargo-build-bpf/src/main.rs b/sdk/cargo-build-bpf/src/main.rs index 66726f57ef..127f7df070 100644 --- a/sdk/cargo-build-bpf/src/main.rs +++ b/sdk/cargo-build-bpf/src/main.rs @@ -415,7 +415,7 @@ fn build_bpf_package(config: &Config, target_directory: &Path, package: &cargo_m install_if_missing( config, "bpf-tools", - "v1.12", + "v1.13", "https://github.com/solana-labs/bpf-tools/releases/download", &PathBuf::from(bpf_tools_filename), ) diff --git a/sdk/cargo-build-bpf/tests/crates.rs b/sdk/cargo-build-bpf/tests/crates.rs index af35bf9a24..56c1272094 100644 --- a/sdk/cargo-build-bpf/tests/crates.rs +++ b/sdk/cargo-build-bpf/tests/crates.rs @@ -4,6 +4,9 @@ use std::{ process::{Command, Output}, }; +#[macro_use] +extern crate serial_test; + fn run_cargo_build(extra_args: &[&str]) -> Output { let cwd = env::current_dir().expect("Unable to get current working directory"); let root = cwd @@ -22,19 +25,29 @@ fn run_cargo_build(extra_args: &[&str]) -> Output { args.push(arg); } let cargo_build_bpf = root.join("target").join("debug").join("cargo-build-bpf"); - Command::new(cargo_build_bpf) + let output = Command::new(cargo_build_bpf) .args(&args) .output() - .expect("Error running cargo-build-bpf") + .expect("Error running cargo-build-bpf"); + if !output.status.success() { + eprintln!("--- stdout ---"); + io::stderr().write_all(&output.stdout).unwrap(); + eprintln!("--- stderr ---"); + io::stderr().write_all(&output.stderr).unwrap(); + eprintln!("--------------"); + } + output } #[test] +#[serial] fn test_build() { let output = run_cargo_build(&[]); assert!(output.status.success()); } #[test] +#[serial] fn test_dump() { // This test requires rustfilt. assert!(Command::new("cargo") @@ -43,13 +56,6 @@ fn test_dump() { .expect("Unable to install rustfilt required for --dump option") .success()); let output = run_cargo_build(&["--dump"]); - if !output.status.success() { - eprintln!("--- stdout ---"); - io::stderr().write_all(&output.stdout).unwrap(); - eprintln!("--- stderr ---"); - io::stderr().write_all(&output.stderr).unwrap(); - eprintln!("--------------"); - } assert!(output.status.success()); let cwd = env::current_dir().expect("Unable to get current working directory"); let dump = cwd @@ -63,6 +69,7 @@ fn test_dump() { } #[test] +#[serial] fn test_out_dir() { let output = run_cargo_build(&["--bpf-out-dir", "tmp_out"]); assert!(output.status.success());