#!/usr/bin/env bash # Local gate of datekeys-dart, as scripts/check.sh of datekeys-go and npm run # verify of datekeys-ts: format, analysis, tests on the VM and compiled to # JavaScript, and the copy of testdata/ against the Go repository next to this # one. Run it before every commit. It needs Node.js, as datekeys-ts does. # # tool/check.sh set -euo pipefail cd "$(dirname "$0")/.." echo "== dart format" dart format --output=none --set-exit-if-changed . echo "== dart analyze" dart analyze --fatal-infos echo "== dart test" dart test # The integers of the library must be exact on the web too, where an int is # a double and the bit operators work on 32 bits: the tests that read no file # run again compiled to JavaScript (the others are @TestOn('vm')). echo "== dart test -p node" dart test -p node echo "== testdata against datekeys-go" dart run tool/sync_testdata.dart check --against ../datekeys-go echo "all checks passed"