Pull all the Rust BPF tests into a single workspace so they share dependencies (#5878)
This commit is contained in:
parent
a85604b2ba
commit
176c7d8b13
|
@ -312,11 +312,6 @@ name = "byte-tools"
|
|||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
version = "1.3.2"
|
||||
|
@ -844,14 +839,6 @@ name = "either"
|
|||
version = "1.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "elf"
|
||||
version = "0.0.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "elfkit"
|
||||
version = "0.0.6"
|
||||
|
@ -2906,21 +2893,6 @@ dependencies = [
|
|||
"solana-sdk 0.19.0-pre0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-programs"
|
||||
version = "0.19.0-pre0"
|
||||
dependencies = [
|
||||
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"elf 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"solana-bpf-loader-api 0.19.0-pre0",
|
||||
"solana-logger 0.19.0-pre0",
|
||||
"solana-runtime 0.19.0-pre0",
|
||||
"solana-sdk 0.19.0-pre0",
|
||||
"solana_rbpf 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-btc-spv-api"
|
||||
version = "0.19.0-pre0"
|
||||
|
@ -5061,7 +5033,6 @@ dependencies = [
|
|||
"checksum bv 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6cd4ae9e585e783756cd14b0ea21863acdfbb6383664ac2f7c9ef8d180a14727"
|
||||
"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40"
|
||||
"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
|
||||
"checksum byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855"
|
||||
"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
|
||||
"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
|
||||
"checksum bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b"
|
||||
|
@ -5121,7 +5092,6 @@ dependencies = [
|
|||
"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e"
|
||||
"checksum ed25519-dalek 1.0.0-pre.1 (registry+https://github.com/rust-lang/crates.io-index)" = "81956bcf7ef761fb4e1d88de3fa181358a0d26cbcb9755b587a08f9119824b86"
|
||||
"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
|
||||
"checksum elf 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4841de15dbe0e49b9b62a417589299e3be0d557e0900d36acb87e6dae47197f5"
|
||||
"checksum elfkit 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "02f182eda16a7360c80a2f8638d0726e9d5478173058f1505c42536ca666ecd2"
|
||||
"checksum ena 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f56c93cc076508c549d9bb747f79aa9b4eb098be7b8cad8830c3137ef52d1e00"
|
||||
"checksum encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90b2c9496c001e8cb61827acdefad780795c42264c137744cae6f7d9e3450abd"
|
||||
|
|
|
@ -21,7 +21,6 @@ members = [
|
|||
"merkle-tree",
|
||||
"measure",
|
||||
"metrics",
|
||||
"programs/bpf",
|
||||
"programs/bpf_loader_api",
|
||||
"programs/bpf_loader_program",
|
||||
"programs/budget_api",
|
||||
|
@ -58,7 +57,6 @@ members = [
|
|||
"vote-signer",
|
||||
"cli",
|
||||
]
|
||||
|
||||
exclude = [
|
||||
"programs/bpf/rust/noop",
|
||||
"programs/bpf",
|
||||
]
|
||||
|
|
|
@ -24,16 +24,19 @@ _ ci/nits.sh
|
|||
_ ci/order-crates-for-publishing.py
|
||||
_ book/build.sh
|
||||
|
||||
for project in programs/bpf/rust/*/ ; do
|
||||
echo "+++ do_bpf_check $project"
|
||||
(
|
||||
cd "$project"
|
||||
_ cargo +"$rust_stable" fmt --all -- --check
|
||||
_ cargo +"$rust_nightly" test --all
|
||||
_ cargo +"$rust_nightly" clippy --version
|
||||
_ cargo +"$rust_nightly" clippy --all -- --deny=warnings
|
||||
_ cargo +"$rust_stable" audit
|
||||
)
|
||||
done
|
||||
{
|
||||
cd programs/bpf
|
||||
_ cargo +"$rust_stable" audit
|
||||
for project in rust/*/ ; do
|
||||
echo "+++ do_bpf_checks $project"
|
||||
(
|
||||
cd "$project"
|
||||
_ cargo +"$rust_stable" fmt -- --check
|
||||
_ cargo +"$rust_nightly" test
|
||||
_ cargo +"$rust_nightly" clippy --version
|
||||
_ cargo +"$rust_nightly" clippy -- --deny=warnings
|
||||
)
|
||||
done
|
||||
}
|
||||
|
||||
echo --- ok
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -30,3 +30,20 @@ solana_rbpf = "=0.1.16"
|
|||
|
||||
[[bench]]
|
||||
name = "bpf_loader"
|
||||
|
||||
[workspace]
|
||||
members = [
|
||||
"rust/128bit",
|
||||
"rust/128bit_dep",
|
||||
"rust/alloc",
|
||||
"rust/dep_crate",
|
||||
"rust/external_spend",
|
||||
"rust/iter",
|
||||
"rust/many_args",
|
||||
"rust/many_args_dep",
|
||||
"rust/noop",
|
||||
"rust/panic",
|
||||
"rust/param_passing",
|
||||
"rust/param_passing_dep",
|
||||
"rust/sysval",
|
||||
]
|
||||
|
|
|
@ -39,7 +39,7 @@ fn rerun_if_changed(files: &[&str], directories: &[&str], excludes: &[&str]) {
|
|||
fn main() {
|
||||
let bpf_c = !env::var("CARGO_FEATURE_BPF_C").is_err();
|
||||
if bpf_c {
|
||||
let install_dir = "OUT_DIR=../../../target/".to_string()
|
||||
let install_dir = "OUT_DIR=../target/".to_string()
|
||||
+ &env::var("PROFILE").unwrap()
|
||||
+ &"/bpf".to_string();
|
||||
|
||||
|
@ -58,7 +58,7 @@ fn main() {
|
|||
let bpf_rust = !env::var("CARGO_FEATURE_BPF_RUST").is_err();
|
||||
if bpf_rust {
|
||||
let install_dir =
|
||||
"../../target/".to_string() + &env::var("PROFILE").unwrap() + &"/bpf".to_string();
|
||||
"target/".to_string() + &env::var("PROFILE").unwrap() + &"/bpf".to_string();
|
||||
|
||||
assert!(Command::new("mkdir")
|
||||
.arg("-p")
|
||||
|
@ -95,8 +95,8 @@ fn main() {
|
|||
))
|
||||
.success());
|
||||
let src = format!(
|
||||
"rust/{}/target/bpfel-unknown-unknown/release/solana_bpf_rust_{}.so",
|
||||
program, program,
|
||||
"target/bpfel-unknown-unknown/release/solana_bpf_rust_{}.so",
|
||||
program,
|
||||
);
|
||||
assert!(Command::new("cp")
|
||||
.arg(&src)
|
||||
|
|
|
@ -19,9 +19,6 @@ solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "0.19.0-pre0" }
|
|||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
name = "solana_bpf_rust_128bit"
|
||||
|
|
|
@ -16,7 +16,4 @@ solana-sdk = { path = "../../../../sdk/", version = "0.19.0-pre0", default-featu
|
|||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
default = ["program"]
|
|
@ -18,9 +18,6 @@ solana-sdk = { path = "../../../../sdk/", version = "0.19.0-pre0", default-featu
|
|||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
name = "solana_bpf_rust_alloc"
|
||||
|
|
|
@ -19,9 +19,6 @@ solana-sdk = { path = "../../../../sdk/", version = "0.19.0-pre0", default-featu
|
|||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
name = "solana_bpf_rust_dep_crate"
|
||||
|
|
|
@ -20,14 +20,18 @@ Supported actions:
|
|||
EOF
|
||||
}
|
||||
|
||||
sdkDir=../../..
|
||||
targetDir=../../target
|
||||
profile=bpfel-unknown-unknown/release
|
||||
|
||||
perform_action() {
|
||||
set -e
|
||||
case "$1" in
|
||||
build)
|
||||
./../../../sdk/bpf/rust/build.sh "$2"
|
||||
"$sdkDir"/sdk/bpf/rust/build.sh "$2"
|
||||
;;
|
||||
clean)
|
||||
./../../../sdk/bpf/rust/clean.sh "$2"
|
||||
"$sdkDir"/sdk/bpf/rust/clean.sh "$2"
|
||||
;;
|
||||
test)
|
||||
(
|
||||
|
@ -57,34 +61,29 @@ perform_action() {
|
|||
# - rustfilt
|
||||
(
|
||||
pwd
|
||||
./do.sh clean "$3"
|
||||
./do.sh build "$3"
|
||||
|
||||
cd "$3"
|
||||
|
||||
set +e
|
||||
cp ./target/dump.txt ./targetdump-last.txt 2>/dev/null
|
||||
set -e
|
||||
|
||||
ls \
|
||||
-la \
|
||||
./target/bpfel-unknown-unknown/release/solana_bpf_rust_"${3%/}".so \
|
||||
> ./target/dump_mangled.txt
|
||||
"$targetDir"/"$profile"/solana_bpf_rust_"${3%/}".so \
|
||||
> "$targetDir"/"${3%/}"-dump-mangled.txt
|
||||
greadelf \
|
||||
-aW \
|
||||
./target/bpfel-unknown-unknown/release/solana_bpf_rust_"${3%/}".so \
|
||||
>> ./target/dump_mangled.txt
|
||||
"$targetDir"/"$profile"/solana_bpf_rust_"${3%/}".so \
|
||||
>> "$targetDir"/"${3%/}"-dump-mangled.txt
|
||||
llvm-objdump \
|
||||
-print-imm-hex \
|
||||
--source \
|
||||
--disassemble \
|
||||
./target/bpfel-unknown-unknown/release/solana_bpf_rust_"${3%/}".so \
|
||||
>> ./target/dump_mangled.txt
|
||||
"$targetDir"/"$profile"/solana_bpf_rust_"${3%/}".so \
|
||||
>> "$targetDir"/"${3%/}"-dump-mangled.txt
|
||||
sed \
|
||||
s/://g \
|
||||
< ./target/dump_mangled.txt \
|
||||
< "$targetDir"/"${3%/}"-dump-mangled.txt \
|
||||
| rustfilt \
|
||||
> ./target/dump.txt
|
||||
> "$targetDir"/"${3%/}"-dump.txt
|
||||
)
|
||||
;;
|
||||
help)
|
||||
|
|
|
@ -18,9 +18,6 @@ solana-sdk = { path = "../../../../sdk/", version = "0.19.0-pre0", default-featu
|
|||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
name = "solana_bpf_rust_external_spend"
|
||||
|
|
|
@ -18,9 +18,6 @@ solana-sdk = { path = "../../../../sdk/", version = "0.19.0-pre0", default-featu
|
|||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
name = "solana_bpf_rust_iter"
|
||||
|
|
|
@ -19,9 +19,6 @@ solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "0.19.0-p
|
|||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
name = "solana_bpf_rust_many_args"
|
||||
|
|
|
@ -16,7 +16,4 @@ solana-sdk = { path = "../../../../sdk/", version = "0.19.0-pre0", default-featu
|
|||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
default = ["program"]
|
|
@ -18,9 +18,6 @@ solana-sdk = { path = "../../../../sdk/", version = "0.19.0-pre0", default-featu
|
|||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
name = "solana_bpf_rust_noop"
|
||||
|
|
|
@ -18,9 +18,6 @@ solana-sdk = { path = "../../../../sdk/", version = "0.19.0-pre0", default-featu
|
|||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_panic"
|
||||
crate-type = ["cdylib"]
|
||||
|
|
|
@ -19,9 +19,6 @@ solana-bpf-rust-param-passing-dep = { path = "../param_passing_dep", version = "
|
|||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
name = "solana_bpf_rust_param_passing"
|
||||
|
|
|
@ -17,6 +17,3 @@ solana-sdk = { path = "../../../../sdk/", version = "0.19.0-pre0", default-featu
|
|||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
|
|
|
@ -18,9 +18,6 @@ solana-sdk = { path = "../../../../sdk/", version = "0.19.0-pre0", default-featu
|
|||
program = ["solana-sdk/program"]
|
||||
default = ["program"]
|
||||
|
||||
[workspace]
|
||||
members = []
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
name = "solana_bpf_rust_sysval"
|
||||
|
|
Loading…
Reference in New Issue