X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=docker%2Fexec_tests.sh;h=5d9a46c704d4cad578c6298959d0292d099b4a94;hb=d2bbf5bf9855351d323f9b8d12d89ea1f1305f32;hp=5e0d30453474adb4c33d9cf333e00d5cb0d681e6;hpb=52634e40e5668e2d8c031781d1b15b482b0511f4;p=yardstick.git diff --git a/docker/exec_tests.sh b/docker/exec_tests.sh index 5e0d30453..5d9a46c70 100755 --- a/docker/exec_tests.sh +++ b/docker/exec_tests.sh @@ -14,42 +14,75 @@ set -e : ${YARDSTICK_REPO_DIR:='/home/opnfv/repos/yardstick'} : ${YARDSTICK_BRANCH:='master'} # branch, tag, sha1 or refspec -: ${RELENG_REPO:='https://gerrit.opnfv.org/gerrit/releng'} -: ${RELENG_REPO_DIR:='/home/opnfv/repos/releng'} -: ${RELENG_BRANCH:='master'} # branch, tag, sha1 or refspec +# git update using reference as a branch. +# git_update_branch ref +function git_update_branch { + local git_branch=$1 + + git checkout -f origin/${git_branch} + # a local branch might not exist + git branch -D ${git_branch} || true + git checkout -b ${git_branch} +} + +# git update using reference as a branch. +# git_update_remote_branch ref +function git_update_remote_branch { + local git_branch=$1 + + git checkout -b ${git_branch} -t origin/${git_branch} +} + +# git update using reference as a tag. Be careful editing source at that repo +# as working copy will be in a detached mode +# git_update_tag ref +function git_update_tag { + local git_tag=$1 + + git tag -d ${git_tag} + # fetching given tag only + git fetch origin tag ${git_tag} + git checkout -f ${git_tag} +} + + +# OpenStack Functions git_checkout() { - if git cat-file -e $1^{commit} 2>/dev/null; then - # branch, tag or sha1 object - git checkout $1 - else + local git_ref=$1 + if [[ -n "$(git show-ref refs/tags/${git_ref})" ]]; then + git_update_tag "${git_ref}" + elif [[ -n "$(git show-ref refs/heads/${git_ref})" ]]; then + git_update_branch "${git_ref}" + elif [[ -n "$(git show-ref refs/remotes/origin/${git_ref})" ]]; then + git_update_remote_branch "${git_ref}" + # check to see if it is a remote ref + elif git fetch --tags origin "${git_ref}"; then # refspec / changeset - git fetch --tags --progress $2 $1 git checkout FETCH_HEAD + else + # if we are a random commit id we have to unshallow + # to get all the commits + git fetch --unshallow origin + git checkout -f "${git_ref}" fi } -echo -echo "INFO: Updating releng -> $RELENG_BRANCH" -if [ ! -d $RELENG_REPO_DIR ]; then - git clone $RELENG_REPO $RELENG_REPO_DIR -fi -cd $RELENG_REPO_DIR -git checkout master -git_checkout $RELENG_BRANCH $RELENG_REPO +# releng is not needed, we bind-mount the credentials echo -echo "INFO: Updating yardstick -> $YARDSTICK_BRANCH" -if [ ! -d $YARDSTICK_REPO_DIR ]; then - git clone $YARDSTICK_REPO $YARDSTICK_REPO_DIR +echo "INFO: Updating yardstick -> ${YARDSTICK_BRANCH}" +if [ ! -d ${YARDSTICK_REPO_DIR} ]; then + git clone ${YARDSTICK_REPO} ${YARDSTICK_REPO_DIR} fi -cd $YARDSTICK_REPO_DIR -git checkout master -git_checkout $YARDSTICK_BRANCH $YARDSTICK_REPO +cd ${YARDSTICK_REPO_DIR} +git_checkout ${YARDSTICK_BRANCH} -# setup the environment -source $YARDSTICK_REPO_DIR/tests/ci/prepare_env.sh +if [[ "${DEPLOY_SCENARIO:0:2}" == "os" ]];then + # setup the environment + source ${YARDSTICK_REPO_DIR}/tests/ci/prepare_env.sh +fi # execute tests -$YARDSTICK_REPO_DIR/tests/ci/yardstick-verify $@ +${YARDSTICK_REPO_DIR}/tests/ci/yardstick-verify $@