diff options
Diffstat (limited to 'ice-testengine')
-rwxr-xr-x | ice-testengine | 81 |
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" |