test.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. # Write a keypair for program deploy
  3. mkdir -p target/deploy
  4. cp keypairs/idl_commands_one-keypair.json target/deploy
  5. # Generate over 20kb bytes of random data (base64 encoded), surround it with quotes, and store it in a variable
  6. RANDOM_DATA=$(openssl rand -base64 $((10*1680)) | sed 's/.*/"&",/')
  7. # Create the JSON object with the "docs" field containing random data
  8. echo '{
  9. "address": "2uA3amp95zsEHUpo8qnLMhcFAUsiKVEcKHXS1JetFjU5",
  10. "metadata": {
  11. "name": "idl_commands_one",
  12. "version": "0.1.0",
  13. "spec": "0.1.0"
  14. },
  15. "instructions": [
  16. {
  17. "name": "initialize",
  18. "docs" : [
  19. '"$RANDOM_DATA"'
  20. "trailing comma begone"
  21. ],
  22. "discriminator": [],
  23. "accounts": [],
  24. "args": []
  25. }
  26. ]
  27. }' > testLargeIdl.json
  28. echo "Building programs"
  29. anchor build
  30. echo "Starting local validator for test"
  31. solana-test-validator --reset \
  32. -q \
  33. --mint tgyXxAhCkpgtKCEi4W6xWJSzqwVGs3uk2RodbZP2J49 \
  34. --bpf-program 2uA3amp95zsEHUpo8qnLMhcFAUsiKVEcKHXS1JetFjU5 target/deploy/idl_commands_one.so \
  35. --bpf-program DE4UbHnAcT6Kfh1fVTPRPwpiA3vipmQ4xR3gcLwX3wwS target/deploy/idl_commands_one.so \
  36. &
  37. sleep 10
  38. echo "Running tests"
  39. anchor test --skip-deploy --skip-local-validator
  40. trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT