test.sh 885 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/env bash
  2. set -e
  3. # Generate temp directory
  4. tmp_dir=$(mktemp -d)
  5. # Fix external type resolution not working in CI due to missing `anchor-lang`
  6. # crates.io entry in runner machine.
  7. pushd $tmp_dir
  8. cargo new external-ci
  9. pushd external-ci
  10. cargo add anchor-lang
  11. cargo b
  12. popd
  13. popd
  14. # Run anchor test
  15. anchor test --skip-lint
  16. # Generate IDLs
  17. ./generate.sh $tmp_dir
  18. # Exit status
  19. ret=0
  20. # Compare IDLs. `$ret` will be non-zero in the case of a mismatch.
  21. compare() {
  22. echo "----------------------------------------------------"
  23. echo "IDL $1 before > after changes"
  24. echo "----------------------------------------------------"
  25. diff -y --color=always --suppress-common-lines idls/$1.json $tmp_dir/$1.json
  26. ret=$(($ret+$?))
  27. if [ "$ret" = "0" ]; then
  28. echo "No changes"
  29. fi
  30. echo ""
  31. }
  32. compare "new"
  33. compare "generics"
  34. compare "relations"
  35. exit $ret