#!/bin/sh # Test Meteor package before publishing to Atmospherejs.com # Make sure Meteor is installed, per https://www.meteor.com/install. # The curl'ed script is totally safe; takes 2 minutes to read its source and check. type meteor >/dev/null 2>&1 || { curl https://install.meteor.com/ | sh; } # sanity check: make sure we're in the directory of the script cd "$( dirname "$0" )" # delete the temporary files even if Ctrl+C is pressed int_trap() { printf "\nTests interrupted. Cleaning up...\n\n" } trap int_trap INT EXIT_CODE=0 PACKAGE_NAME=$(grep -i name package.js | head -1 | cut -d "'" -f 2) echo "### Testing $PACKAGE_NAME..." # provide an invalid MONGO_URL so Meteor doesn't bog us down with an empty Mongo database if [ $# -gt 0 ]; then # interpret any parameter to mean we want an interactive test MONGO_URL=mongodb:// meteor test-packages ./ else # automated/CI test with phantomjs ./node_modules/.bin/spacejam --mongo-url mongodb:// test-packages ./ EXIT_CODE=$(( $EXIT_CODE + $? )) fi exit $EXIT_CODE