summaryrefslogtreecommitdiffstats
path: root/polygerrit-ui/app/template_test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'polygerrit-ui/app/template_test.sh')
-rwxr-xr-xpolygerrit-ui/app/template_test.sh44
1 files changed, 44 insertions, 0 deletions
diff --git a/polygerrit-ui/app/template_test.sh b/polygerrit-ui/app/template_test.sh
new file mode 100755
index 0000000000..a9710cd6bd
--- /dev/null
+++ b/polygerrit-ui/app/template_test.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+set -ex
+
+npm_bin=$(which npm)
+if [ -z "$npm_bin" ]; then
+ echo "NPM must be on the path."
+ exit 1
+fi
+
+node_bin=$(which node)
+if [ -z "$node_bin" ]; then
+ echo "node must be on the path."
+ exit 1
+fi
+
+fried_twinkie_config=$(npm list -g | grep -c fried-twinkie)
+typescript_config=$(npm list -g | grep -c typescript)
+if [ -z "$npm_bin" ] || [ "$fried_twinkie_config" -eq "0" ]; then
+ echo "You must install fried twinkie and its dependencies from NPM."
+ echo "> npm install -g fried-twinkie"
+ exit 1
+fi
+
+twinkie_version=$(npm list -g fried-twinkie@\>0.1 | grep fried-twinkie || :)
+if [ -z "$twinkie_version" ]; then
+ echo "Outdated version of fried-twinkie found. Bypassing template check."
+ exit 0
+fi
+
+# Have to find where node_modules are installed and set the NODE_PATH
+
+get_node_path() {
+ cd $(dirname $node_bin)
+ cd ../lib/node_modules
+ pwd
+}
+
+export NODE_PATH=$(get_node_path)
+
+unzip -o polygerrit-ui/polygerrit_components.bower_components.zip -d polygerrit-ui/app
+python $TEST_SRCDIR/gerrit/polygerrit-ui/app/template_test_srcs/convert_for_template_tests.py
+# Pass a file name argument from the --test_args (example: --test_arg=gr-list-view)
+${node_bin} $TEST_SRCDIR/gerrit/polygerrit-ui/app/template_test_srcs/template_test.js $1 $2