diff --git a/web3.js/.travis.yml b/web3.js/.travis.yml index dcffa840fc..dce0fabc9f 100644 --- a/web3.js/.travis.yml +++ b/web3.js/.travis.yml @@ -41,7 +41,7 @@ script: - npm run lint - npm run codecov - make -C examples/bpf-c-noop/ - - bpf-sdk/rust/build.sh examples/bpf-rust-noop + - examples/bpf-rust-noop/do.sh build - npm run localnet:update - npm run localnet:up - npm run examples || true diff --git a/web3.js/examples/bpf-rust-noop/Cargo.toml b/web3.js/examples/bpf-rust-noop/Cargo.toml index 733f226a5f..ef5a25e2f5 100644 --- a/web3.js/examples/bpf-rust-noop/Cargo.toml +++ b/web3.js/examples/bpf-rust-noop/Cargo.toml @@ -13,10 +13,14 @@ edition = "2018" [dependencies] solana-sdk-bpf-utils = { path = "../../bpf-sdk/rust/rust-utils" } +solana-sdk-bpf-no-std = { path = "../../bpf-sdk/rust/rust-no-std" } + +[dev_dependencies] +solana-sdk-bpf-test = { path = "../../bpf-sdk/rust/rust-test"} [workspace] members = [] [lib] -crate-type = ["cdylib"] name = "solana_bpf_rust_noop" +crate-type = ["cdylib"] diff --git a/web3.js/examples/bpf-rust-noop/do.sh b/web3.js/examples/bpf-rust-noop/do.sh new file mode 100755 index 0000000000..07031d76cc --- /dev/null +++ b/web3.js/examples/bpf-rust-noop/do.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +cd "$(dirname "$0")" + +usage() { + cat < + +If relative_project_path is ommitted then action will +be performed on all projects + +Supported actions: + build + clean + test + clippy + fmt + +EOF +} + +perform_action() { + set -e + case "$1" in + build) + ../../bpf-sdk/rust/build.sh "$PWD" + ;; + clean) + ../../bpf-sdk/rust/clean.sh "$PWD" + ;; + test) + echo "test $2" + cargo +nightly test + ;; + clippy) + echo "clippy $2" + cargo +nightly clippy + ;; + fmt) + echo "formatting $2" + cargo fmt + ;; + help) + usage + exit + ;; + *) + echo "Error: Unknown command" + usage + exit + ;; + esac +} + +set -e + +perform_action "$1" \ No newline at end of file diff --git a/web3.js/examples/bpf-rust-noop/src/lib.rs b/web3.js/examples/bpf-rust-noop/src/lib.rs index edcfb140d3..7e3215d059 100644 --- a/web3.js/examples/bpf-rust-noop/src/lib.rs +++ b/web3.js/examples/bpf-rust-noop/src/lib.rs @@ -4,6 +4,8 @@ #![allow(unreachable_code)] #![allow(unused_attributes)] +#[cfg(not(test))] +extern crate solana_sdk_bpf_no_std; extern crate solana_sdk_bpf_utils; use solana_sdk_bpf_utils::entrypoint::*; diff --git a/web3.js/test/fixtures/noop-rust/build.sh b/web3.js/test/fixtures/noop-rust/build.sh index a466e6c269..1fb83d193e 100755 --- a/web3.js/test/fixtures/noop-rust/build.sh +++ b/web3.js/test/fixtures/noop-rust/build.sh @@ -3,5 +3,5 @@ set -ex cd "$(dirname "$0")" -../../../bpf-sdk/rust/build.sh ../../../examples/bpf-rust-noop +../../../examples/bpf-rust-noop/do.sh build cp ../../../examples/bpf-rust-noop/target/bpfel-unknown-unknown/release/solana_bpf_rust_noop.so . diff --git a/web3.js/test/fixtures/noop-rust/solana_bpf_rust_noop.so b/web3.js/test/fixtures/noop-rust/solana_bpf_rust_noop.so index 9634a42e0d..8f475eef2d 100755 Binary files a/web3.js/test/fixtures/noop-rust/solana_bpf_rust_noop.so and b/web3.js/test/fixtures/noop-rust/solana_bpf_rust_noop.so differ