From 0f0a0a3b880b21fdc2cc41a8b369400bf00efe1f Mon Sep 17 00:00:00 2001 From: Jack May Date: Mon, 30 Sep 2019 09:04:39 -0700 Subject: [PATCH] fix: build fixtures as part of test (#495) --- web3.js/package.json | 9 +++++---- web3.js/test/fixtures/noop-c/noop.so | Bin 4384 -> 0 bytes .../fixtures/noop-rust/solana_bpf_rust_noop.so | Bin 91160 -> 0 bytes 3 files changed, 5 insertions(+), 4 deletions(-) delete mode 100755 web3.js/test/fixtures/noop-c/noop.so delete mode 100755 web3.js/test/fixtures/noop-rust/solana_bpf_rust_noop.so diff --git a/web3.js/package.json b/web3.js/package.json index 1b4dd1099b30fc..9c1733ac0ab2bf 100644 --- a/web3.js/package.json +++ b/web3.js/package.json @@ -39,6 +39,7 @@ "bpf-sdk:install": "bin/bpf-sdk-install.sh", "bpf-sdk:remove-symlinks": "find bpf-sdk -type l -print -exec cp {} {}.tmp \\; -exec mv {}.tmp {} \\;", "build": "cross-env NODE_ENV=production rollup -c", + "build:fixtures": "./test/fixtures/noop-c/build.sh; ./test/fixtures/noop-rust/build.sh", "clean": "rimraf ./coverage ./lib", "codecov": "set -ex; npm run test:cover; cat ./coverage/lcov.info | codecov", "dev": "cross-env NODE_ENV=development rollup -c", @@ -59,10 +60,10 @@ "prepare": "run-s clean bpf-sdk:install bpf-sdk:remove-symlinks build", "pretty": "prettier --write '{,{examples,src,test}/**/}*.js'", "re": "semantic-release --repository-url git@github.com:solana-labs/solana-web3.js.git", - "test": "cross-env NODE_ENV=test jest --useStderr", - "test:cover": "cross-env NODE_ENV=test jest --coverage --useStderr", - "test:live": "cross-env NODE_ENV=test TEST_LIVE=1 jest --useStderr", - "test:watch": "cross-env NODE_ENV=test jest --watch --useStderr" + "test": "npm run build:fixtures; cross-env NODE_ENV=test jest --useStderr", + "test:cover": "npm run build:fixtures; cross-env NODE_ENV=test jest --coverage --useStderr", + "test:live": "npm run build:fixtures; cross-env NODE_ENV=test TEST_LIVE=1 jest --useStderr", + "test:watch": "npm run build:fixtures; cross-env NODE_ENV=test jest --watch --useStderr" }, "dependencies": { "@babel/runtime": "^7.3.1", diff --git a/web3.js/test/fixtures/noop-c/noop.so b/web3.js/test/fixtures/noop-c/noop.so deleted file mode 100755 index 4f8f9d5d04237b55bba20459f6bbff4193475f23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4384 zcmb_gO>9(E6h6}eEdmy+B~XKTE{t{2*D0O0Q{1$Oq{R`HqzFVUZ+>xjp+jv9V z6hZvjP);t39c*A@vYq9Moy@w?(nk~#+5gLoa|Z{Vo!22)eduDWpu=M2C* zoxd45>1l*{j@*HhA*wDd?CE^d=o>2rpabRiF>d2K<{MSPtmv@`eMr_OxWGn4PH}4! zY!_zZhNzuvZV=JPvAhGDpCtYa^IazxYaT@flb<}pyhAL|e2MD7x~bmjwm(fgnm_)7 z>2`WPt*3VWq0v`+9~i9lt}>p#!+7$ZLF((c)z==3qkYvr)h;fv-<7KdyS_2$py4rg z{lIvMoN;JhX`Ku&>)ZH|`Br>cx9Q!FHyl*aeE!B-b&&rdWYoScx);T-)8@p{xX!44 zwHtTMyn8y&8AW*eU&Dth>s(jwP3Bkci=6wD$N4zuaapj|`wQD&S!TSrW{~E6$m%1# zdYWJN-&XSuf8}*jKZ<+Cic75O8`qG*v7P-NvhwZ4_?j4O5!xi4YhYt`3uoJj1)Yq@9zILPjxp}T$HFeSP=b&EqjrLjl8s6gf zywv?FT0QOWW$~*^u2#RL?k(T@z=Uhfs{`XuC5IQao=0YWjb*m`i2)p^-}&TnIah&x z=hQ+eovS$htn*PW%w;Ds8GoT1RE^DaHCM@cfoGVhs#7iG$!RiIEc(vpex;Z-nv_?X z_bcer?|fSE^A)e;6tcN;P?#;`Do2e8#zyT_xf)a!GC{#FJ0`Bo=Pf}wX5cm9n{?>o zpx)EC$z{Ro%<44=|7~peB$930x@ITEpLaE$gW^YbG>ui!zrw6pLn7sR6e+-?CmerG z>~)??>e#Y;IYI9{-)zs?(QCh%oXYLS6>X}yp5fTsN;vNq$^lgU;!M%c&$NhlQyAiBI}f zi=T|-BmJ7i-;LxaJ-O3Q(jdisF@!wGE>$Rhjc=HfN*#BSZrqJKeRDxDUp+c7kS_#t z3u!mwmj-Z$cxA7@=%uRz#bVY)mE$E6!-?6PYkEM5pOJ; z9vV&LhQ{8DrhJa3wb}uHnKLG;q;-wquG2I04N>xY9fPH4VW^{T5%TDiz8MxDZyN&T z(jS%ctYUE0k`Idge(A5;kBMCOp~@#jzHHe~iTr^T|1*)#Q{jMN#54p`kpst_$c9TvvXh(<(r)w*Ipn8H^?mp;8uKd`nuV$?3D@`Afg(U z7=sG9`SOB0=T+y>G*=`o2#fovgoh8fXdZZJ#5p|DnPP;p@6Wp!Gv%VjO+xC}vG~m3 z5y2tBgy4wa7~_$+;Gm$`i}@%^CFmGzaSqNLKX+>4zuupUq>m1J{(Y!?jCZyAuSo($N1XK-(EJ*c`bKxW`ZvWu@unoS{k8u0 z(U*Fo{(65a()?(szl{^9qZDy6ii|sSap1@@w4PeO;z`tK?v@b}2jv50O$_xrLF?E4 kpGI3<`>6jqIpBCve%1nffy8G1$L0Ss^!rflb>7PV52mO2O#lD@ 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 deleted file mode 100755 index 12c5bed1a0d76696bb6440418292927fe6b88a24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91160 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