aboutsummaryrefslogtreecommitdiffstats
path: root/ice-testengine
diff options
context:
space:
mode:
Diffstat (limited to 'ice-testengine')
-rwxr-xr-xice-testengine81
1 files changed, 81 insertions, 0 deletions
diff --git a/ice-testengine b/ice-testengine
new file mode 100755
index 0000000..da085eb
--- /dev/null
+++ b/ice-testengine
@@ -0,0 +1,81 @@
+# ============LICENSE_START==========================================
+# org.onap.vvp/jenkins
+# ===================================================================
+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+#
+# Unless otherwise specified, all software contained herein is licensed
+# under the Apache License, Version 2.0 (the “License”);
+# you may not use this software except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+#
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://creativecommons.org/licenses/by/4.0/
+#
+# Unless required by applicable law or agreed to in writing, documentation
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# ============LICENSE_END============================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#!/bin/sh
+
+# This is the job that every jenkins build launches to run validation functions
+# against some VF.
+
+[ "$WORKSPACE" ] || {
+ echo "error: \$WORKSPACE not found; $0 is intended to be launched from Jenkins."
+ exit 1
+}
+
+clone_or_update(){
+ # Given a repo, if we have a local clone already, update it. Otherwise,
+ # perform a shallow clone.
+ repo_name="$1"
+ repo_url="$2"
+ branch="${3:-master}"
+ if [ -d "$WORKSPACE/$repo_name" ]; then
+ git -C "$WORKSPACE/$repo_name" fetch --depth 1 --force origin "$branch"
+ git -C "$WORKSPACE/$repo_name" reset --hard origin/"$branch"
+ git -C "$WORKSPACE/$repo_name" gc
+ else
+ git clone --branch "$branch" --depth 1 --single-branch --recursive "$repo_url" "$WORKSPACE/$repo_name"
+ fi
+}
+
+# Clone or update the repo containing the VF to be evaluated
+clone_or_update "VF" "$git_repo_url" master
+
+# Clone or update the TestEngine Validation Suite repos
+for repo in "ice-validationmgr" "ice-heat-validation"
+do
+ clone_or_update "$repo" "git@github.com:att-innovate/$repo.git" develop
+done
+
+# Run test suite(s)
+cd "$WORKSPACE/ice-validationmgr"
+pytest --tap-stream
+cd "$WORKSPACE/ice-heat-validation/ice_validator"
+pytest --tap-stream --template-dir="$WORKSPACE/VF"
+
+# Clean up; remove VF directory. (VF may bring along files >20G. Easier to
+# waste bandwidth than deal with full disk. After we move to 31T root disk for
+# workspace, we can perform this cleanup less aggressively.
+rm -rf "${WORKSPACE}/VF"