task docker tests: add is_plugin_loaded test

Add is_plugin_loaded test which fails the docker tests when task plugin
does not load. This test prevents unnecessary execution of plugin tests.

Change-Id: Idfc5b8c8e3420aa41da532120e4e90a0583ba987
diff --git a/test/docker/run_tests/start.sh b/test/docker/run_tests/start.sh
index dd2cb63..73d69c3 100755
--- a/test/docker/run_tests/start.sh
+++ b/test/docker/run_tests/start.sh
@@ -1,5 +1,11 @@
 #!/usr/bin/env bash
 
+die() { echo "ERROR: $1" >&2 ; exit 1 ; } # errormsg
+
+is_plugin_loaded() { # plugin_name
+    ssh -p 29418 "$GERRIT_HOST" gerrit plugin ls | awk '{print $1}' | grep -q "^$1\$"
+}
+
 USER_RUN_TESTS_DIR="$USER_HOME"/"$RUN_TESTS_DIR"
 mkdir "$USER_HOME"/task && cp -r /task/{src,test} "$USER_HOME"/task
 
@@ -16,6 +22,8 @@
   "Gerrit Code Review@$GERRIT_HOST" suexec --as "admin@example.com" -- gerrit create-account \
      --ssh-key - --email "gerrit_admin@localdomain"  --group "Administrators" "gerrit_admin"
 
+is_plugin_loaded "task" || die "Task plugin is not installed"
+
 ./"$USER_RUN_TESTS_DIR"/create-test-project-and-changes.sh
 ./"$USER_RUN_TESTS_DIR"/update-all-users-project.sh