run_sdk_tests.sh 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. ### maybe a validator is already running
  3. pgrep -f solana-test-validator
  4. if [ $? -eq 0 ]; then
  5. echo "solana-test-validator already running"
  6. exit 1;
  7. fi
  8. ROOT=$(dirname $0)
  9. ### prepare local validator
  10. ARTIFACTS=$ROOT/artifacts
  11. ACCOUNTS=$ROOT/sdk-tests/accounts
  12. TEST=$ROOT/.test
  13. solana-test-validator --reset \
  14. --bpf-program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s $ARTIFACTS/mpl_token_metadata.so \
  15. --account-dir $ACCOUNTS \
  16. --ledger $TEST > validator.log 2>&1 &
  17. sleep 5
  18. ### write program logs
  19. PROGRAM_LOGS=$TEST/program-logs
  20. mkdir -p $PROGRAM_LOGS
  21. RPC=http://localhost:8899
  22. solana logs agnnozV7x6ffAhi8xVhBd5dShfLnuUKKPEMX1tJ1nDC --url $RPC > $PROGRAM_LOGS/agnnozV7x6ffAhi8xVhBd5dShfLnuUKKPEMX1tJ1nDC &
  23. solana logs bPPNmBhmHfkEFJmNKKCvwc1tPqBjzPDRwCw3yQYYXQa --url $RPC > $PROGRAM_LOGS/bPPNmBhmHfkEFJmNKKCvwc1tPqBjzPDRwCw3yQYYXQa &
  24. solana logs caosnXgev6ceZQAUFk3hCjYtUwJLoKWwaoqZx9V9s9Q --url $RPC > $PROGRAM_LOGS/caosnXgev6ceZQAUFk3hCjYtUwJLoKWwaoqZx9V9s9Q &
  25. solana logs KeccakSecp256k11111111111111111111111111111 --url $RPC > $PROGRAM_LOGS/KeccakSecp256k11111111111111111111111111111 &
  26. solana logs metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s --url $RPC > $PROGRAM_LOGS/metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s &
  27. ### run tests
  28. yarn run ts-mocha -p ./tsconfig.json -t 1000000 sdk-tests/*.ts
  29. ### nuke
  30. pkill -f "solana logs"
  31. pkill -f solana-test-validator