#!/bin/sh

set -e

if [ ! -e package.json ]; then
	echo "No package.json found" >&2
	exit 1
fi

PKG=date-now
LOCAL="0"

if test "$1" = "src"; then
	shift 1
	LOCAL=1
fi

TESTFILES=`ls -d test*`
if [ -e debian/tests/pkg-js/files ]; then
	TESTFILES=`cat debian/tests/pkg-js/files`
fi

COMMAND=$@
if test "$COMMAND" = "require"; then
	echo "Test: require"
	if test "$LOCAL" = "0"; then
		node -e "require('$PKG')"
	else
		node -e "require('.')"
	fi
else
	TEST=debian/tests/pkg-js/test
	if test "$LOCAL" = "0"; then
		TEMP=${ADTTMP:-${TMPDIR:-/tmp}}
		TDIR=$(mktemp -d $TEMP/smokeXXXXXX)
		PDIR=`pwd`
		if test "$TESTFILES" != ""; then
			echo "# Copy test files"
			cp -a $TESTFILES $TDIR
		fi
		if [ -e debian/tests/pkg-js ]; then
			mkdir -p $TDIR/debian/tests/
			cp -a debian/tests/pkg-js $TDIR/debian/tests/
		fi
		cd $TDIR
		for i in /usr/lib/nodejs/$PKG/*; do
			ln -s $i
		done
	fi
	if test "$COMMAND" = ""; then
		if [ -e $TEST ]; then
			echo "Launch $TEST with sh"
			sh $TEST
		else
			echo "# /!\ Missing debian/tests/pkg-js/test file, skipping"
		fi
	else
		echo "# Launch command: $COMMAND"
		$COMMAND
	fi
fi
if test "$TDIR" != ""; then
	echo "# Cleaning tmp dir"
	rm -rf $TDIR
fi
