Add a bunch of integration tests of publish and clean -nightly
This bunch of tests gave the ability to refactored a lot the scripts.
diff --git a/hudson-scripts/clean-nightly.sh b/hudson-scripts/clean-nightly.sh
index 5446801..481102a 100755
--- a/hudson-scripts/clean-nightly.sh
+++ b/hudson-scripts/clean-nightly.sh
@@ -10,119 +10,65 @@
# Obeo - initial API and implementation
# ====================================================================
-[ -z "${UPDATE_SITE__UNQUALIFIED_VERSION}" ] && {
- echo "Execution aborted.
+if [ $# -lt 1 ]; then
+ echo "Execution aborted. One or more of the required parameters is not set.
-One or more of the required variables is not set. They are normally
-provided by the Hudson build.
+Usage: $0 unqualifiedVersion [nbBuildToKeep]
- - UPDATE_SITE__UNQUALIFIED_VERSION: the unqualified version of the update site to publish.
+- unqualifiedVersion: the unqualified version of the update sites to clean.
+- nbBuildToKeep: the number of build to keep. 0 to remove all streams related to the unqualifiedVersion
"
- exit 1
-}
+exit 1
+fi
+
+unqualifiedVersion="${1}"
+nbBuildToKeep="${2:-5}"
source "$(dirname "${0}")/init.sh"
-NB_BUILDS_TO_KEEP=${NB_BUILDS_TO_KEEP:-"5"}
+currentPwd=$(pwd)
-CURRENT_PWD=$(pwd)
+LSDEBUG "unqualifiedVersion is '${unqualifiedVersion}'"
+minorVersion="$(echo ${unqualifiedVersion} | sed-regex 's/^([0-9]+\.[0-9]+)\.[0-9]+$/\1/')"
+LSDEBUG "Minor stream name is '${minorVersion}.x'"
+majorVersion="$(echo ${unqualifiedVersion} | sed-regex 's/^([0-9]+)\.[0-9]+\.[0-9]+$/\1/')"
+LSDEBUG "Major stream name is '${majorVersion}.x'"
-STREAM="$(echo ${UPDATE_SITE__UNQUALIFIED_VERSION} | sed-regex 's/^([0-9]+\.[0-9]+)\.[0-9]+$/\1/').x"
-LSDEBUG "Stream name is '${STREAM}'"
+LSINFO "== Clean up '${unqualifiedVersion}' nightly builds (will keep the ${nbBuildToKeep} most recent) =="
-LSINFO "Clean up nightly builds (will keep the ${NB_BUILDS_TO_KEEP} most recent builds of stream ${STREAM}')"
+cd "${UPDATE_NIGHTLY_HOME}"
+foldersWithUnqualifiedVersionPrefix=( "${unqualifiedVersion}"* )
+cd "${currentPwd}"
-cd ${UPDATE_NIGHTLY_HOME}
-ALL_FOLDERS_WITH_UNQUALIFIED_VERSION_PREFIX=( ${UPDATE_SITE__UNQUALIFIED_VERSION}* )
-cd ${CURRENT_PWD}
-
-if [ ${#ALL_FOLDERS_WITH_UNQUALIFIED_VERSION_PREFIX[@]} -eq 0 ]; then
- LSINFO "No build found for stream '${STREAM}' in '${UPDATE_NIGHTLY_HOME}'"
+if [ ${#foldersWithUnqualifiedVersionPrefix[@]} -eq 0 ]; then
+ LSINFO "No build '${unqualifiedVersion}' found in '${UPDATE_NIGHTLY_HOME}, nothing to clean'"
exit 0
fi
-if [ ${NB_BUILDS_TO_KEEP} -gt 0 ]; then
- UPDATE_SITE_TO_KEEP=( $(echo ${ALL_FOLDERS_WITH_UNQUALIFIED_VERSION_PREFIX[@]} | tr ' ' '\n' | sort -r | head -n ${NB_BUILDS_TO_KEEP}) )
- UNION=( ${UPDATE_SITE_TO_KEEP[@]} ${ALL_FOLDERS_WITH_UNQUALIFIED_VERSION_PREFIX[@]} )
- UPDATE_SITES__TO_CLEAN=( $(echo ${UNION[@]} | tr ' ' '\n' | sort | uniq -u) )
+if [ ${nbBuildToKeep} -gt 0 ]; then
+ updateSiteToKeep=( $(echo ${foldersWithUnqualifiedVersionPrefix[@]} | tr ' ' '\n' | sort -r | head -n ${nbBuildToKeep}) )
+ UNION=( ${updateSiteToKeep[@]} ${foldersWithUnqualifiedVersionPrefix[@]} )
+ updateSitesToClean=( $(echo ${UNION[@]} | tr ' ' '\n' | sort | uniq -u) )
else
- UPDATE_SITES__TO_CLEAN=( $(echo ${ALL_FOLDERS_WITH_UNQUALIFIED_VERSION_PREFIX[@]} | tr ' ' '\n' | sort) )
+ updateSitesToClean=( $(echo ${foldersWithUnqualifiedVersionPrefix[@]} | tr ' ' '\n' | sort) )
fi
-if [ ${#UPDATE_SITES__TO_CLEAN[@]} -eq 0 ]; then
- LSINFO "No build to clean for stream ${STREAM} (there are '${NB_BUILDS_TO_KEEP}' or less builds in this stream in '${UPDATE_NIGHTLY_HOME}'"
+if [ ${#updateSitesToClean[@]} -eq 0 ]; then
+ LSINFO "There are ${#foldersWithUnqualifiedVersionPrefix[@]} '${unqualifiedVersion}' builds, nothing to clean as we are keeping the ${nbBuildToKeep} most recent builds."
else
- LATEST_UPDATE_SITE__IN_STREAM=( $(composite-repository -location "${UPDATE_NIGHTLY_HOME}/${STREAM}/latest" -list) )
- LSDEBUG "Current latest update site in stream '${STREAM}' is '${LATEST_UPDATE_SITE__IN_STREAM[@]}'"
+ for updateSiteToClean in ${updateSitesToClean[@]}; do
+ cleanNightly ${updateSiteToClean} "${UPDATE_NIGHTLY_HOME}/streams/${unqualifiedVersion}.x" "${UPDATE_NIGHTLY_HOME}/streams/${unqualifiedVersion}.x/latest"
+ cleanNightly ${updateSiteToClean} "${UPDATE_NIGHTLY_HOME}/streams/${minorVersion}.x" "${UPDATE_NIGHTLY_HOME}/streams/${minorVersion}.x/latest"
+ cleanNightly ${updateSiteToClean} "${UPDATE_NIGHTLY_HOME}/streams/${majorVersion}.x" "${UPDATE_NIGHTLY_HOME}/streams/${majorVersion}.x/latest"
+ cleanNightly ${updateSiteToClean} "${UPDATE_NIGHTLY_HOME}" "${UPDATE_NIGHTLY_HOME}/latest"
- LATEST_UPDATE_SITE__ALL_NIGHTLIES=( $(composite-repository -location "${UPDATE_NIGHTLY_HOME}/latest" -list) )
- LSDEBUG "Current latest update site is '${LATEST_UPDATE_SITE__ALL_NIGHTLIES[@]}'"
-
- for UPDATE_SITE__TO_CLEAN in ${UPDATE_SITES__TO_CLEAN[@]}
- do
- UPDATE_SITE_URL__TO_CLEAN="${UPDATE_NIGHTLY_URL}/${UPDATE_SITE__TO_CLEAN}"
- LSINFO "Removing '${UPDATE_SITE__TO_CLEAN}' from '${UPDATE_NIGHTLY_HOME}/${STREAM}'"
- composite-repository -location "${UPDATE_NIGHTLY_HOME}/${STREAM}" -remove "${UPDATE_SITE_URL__TO_CLEAN}"
-
- LSINFO "Removing '${UPDATE_SITE__TO_CLEAN}' from '${UPDATE_NIGHTLY_HOME}'"
- composite-repository -location "${UPDATE_NIGHTLY_HOME}" -remove "${UPDATE_SITE_URL__TO_CLEAN}"
-
- if [ ${#LATEST_UPDATE_SITE__IN_STREAM[@]} -gt 0 ]; then
- if [ ${#LATEST_UPDATE_SITE__IN_STREAM[@]} -gt 1 ]; then
- LSCRITICAL "There are more than a single update site referenced in the repository ${UPDATE_NIGHTLY_HOME}/${STREAM}/latest"
- exit 1
- elif [ "${UPDATE_SITE_URL__TO_CLEAN}" = "${LATEST_UPDATE_SITE__IN_STREAM[0]}" ]; then
- LSINFO "Removing '${UPDATE_SITE__TO_CLEAN}' from '${UPDATE_NIGHTLY_HOME}/${STREAM}/latest'"
- composite-repository -location "${UPDATE_NIGHTLY_HOME}/${STREAM}/latest" -remove "${UPDATE_SITE_URL__TO_CLEAN}"
- fi
- fi
-
- if [ ${#LATEST_UPDATE_SITE__ALL_NIGHTLIES[@]} -gt 0 ]; then
- if [ ${#LATEST_UPDATE_SITE__ALL_NIGHTLIES[@]} -gt 1 ]; then
- LSCRITICAL "There are more than a single update site referenced in the repository ${UPDATE_NIGHTLY_HOME}/latest"
- exit 1
- elif [ "${UPDATE_SITE_URL__TO_CLEAN}" = "${LATEST_UPDATE_SITE__ALL_NIGHTLIES[0]}" ]; then
- LSINFO "Removing '${UPDATE_SITE__TO_CLEAN}' from '${UPDATE_NIGHTLY_HOME}/latest'"
- composite-repository -location "${UPDATE_NIGHTLY_HOME}/latest" -remove "${UPDATE_SITE_URL__TO_CLEAN}"
- fi
- fi
-
- LSINFO "Removing folder '${UPDATE_NIGHTLY_HOME}/${UPDATE_SITE__TO_CLEAN}'"
- rm -rf "${UPDATE_NIGHTLY_HOME}/${UPDATE_SITE__TO_CLEAN}"
+ LSINFO "Removing folder '${UPDATE_NIGHTLY_HOME}/${updateSiteToClean}'"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/${updateSiteToClean}"
done
- LATEST_UPDATE_SITE__IN_STREAM=( $(composite-repository -location "${UPDATE_NIGHTLY_HOME}/${STREAM}/latest" -list) )
- if [ ${#LATEST_UPDATE_SITE__IN_STREAM[@]} -eq 0 ]; then
- cd ${UPDATE_NIGHTLY_HOME}
- ALL_FILES_IN_STREAM=( $(echo "${UPDATE_SITE__UNQUALIFIED_VERSION}")* )
- cd ${CURRENT_PWD}
- if [ ${#ALL_FILES_IN_STREAM[@]} -gt 0 ]; then
- LASTEST_UPDATE_SITE=$( echo ${ALL_FILES_IN_STREAM[@]} | tr ' ' '\n' | sort | tail -n 1 )
- LSINFO "Redirecting '${UPDATE_NIGHTLY_HOME}/${STREAM}/latest' to '${UPDATE_NIGHTLY_URL}/${LASTEST_UPDATE_SITE}"
- createRedirect "${UPDATE_NIGHTLY_HOME}/${STREAM}/latest" "${UPDATE_NIGHTLY_URL}/${LASTEST_UPDATE_SITE}" "${PROJECT_NAME} ${STREAM} latest nightly build"
- else
- LSINFO "There is no more builds in '${STREAM}', removing folder '${UPDATE_NIGHTLY_HOME}/${STREAM}'"
- rm -rf "${UPDATE_NIGHTLY_HOME}/${STREAM}"
- fi
- else
- LSDEBUG "After clean up, latest update site in stream '${STREAM}' is '${LATEST_UPDATE_SITE__IN_STREAM[@]}'"
- fi
+ updateLatest "${UPDATE_NIGHTLY_HOME}/streams/${unqualifiedVersion}.x/latest" "${unqualifiedVersion}" "${PROJECT_NAME} ${unqualifiedVersion}.x latest nightly build"
+ updateLatest "${UPDATE_NIGHTLY_HOME}/streams/${minorVersion}.x/latest" "${minorVersion}" "${PROJECT_NAME} ${minorVersion}.x latest nightly build"
+ updateLatest "${UPDATE_NIGHTLY_HOME}/streams/${majorVersion}.x/latest" "${majorVersion}" "${PROJECT_NAME} ${majorVersion}.x latest nightly build"
+ updateLatest "${UPDATE_NIGHTLY_HOME}/latest" "" "${PROJECT_NAME} latest nightly build"
- LATEST_UPDATE_SITE__ALL_NIGHTLIES=( $(composite-repository -location "${UPDATE_NIGHTLY_HOME}/latest" -list) )
- if [ ${#LATEST_UPDATE_SITE__ALL_NIGHTLIES[@]} -eq 0 ]; then
- cd ${UPDATE_NIGHTLY_HOME}
- ALL_FILES=( $(echo * | tr ' ' '\n' | grep -E '[0-9]+\.[0-9]+\.[0-9]+.*' || true) )
- cd ${CURRENT_PWD}
- if [ ${#ALL_FILES[@]} -gt 0 ]; then
- LASTEST_UPDATE_SITE=$( echo ${ALL_FILES[@]} | tr ' ' '\n' | sort | tail -n 1 )
- LSINFO "Redirecting '${UPDATE_NIGHTLY_HOME}/latest' to '${UPDATE_NIGHTLY_URL}/${LASTEST_UPDATE_SITE}"
- createRedirect "${UPDATE_NIGHTLY_HOME}/latest" "${UPDATE_NIGHTLY_URL}/${LASTEST_UPDATE_SITE}" "${PROJECT_NAME} latest nightly build"
- else
- LSINFO "There is no nightly builds in '${UPDATE_NIGHTLY_HOME}'"
- LSDEBUG "Removing all files from '${UPDATE_NIGHTLY_HOME}'"
- rm -rf "${UPDATE_NIGHTLY_HOME}/"*
- fi
- else
- LSDEBUG "After clean up, latest update site is '${LATEST_UPDATE_SITE__ALL_NIGHTLIES[@]}'"
- fi
fi
diff --git a/hudson-scripts/init.sh b/hudson-scripts/init.sh
index a2c329f..9062d60 100644
--- a/hudson-scripts/init.sh
+++ b/hudson-scripts/init.sh
@@ -17,22 +17,25 @@
shopt -s nullglob
shopt -s extglob
+shopt -s expand_aliases
-DIRNAME=$(dirname "${0}")
+SCRIPT_PATH="$(dirname "${0}")"
+INIT_PATH="${INIT_PATH:-${SCRIPT_PATH}/init}"
# load bootstrap scripts (starting with _) in order
-for S in $(ls -1 "${DIRNAME}/init/_"* | sort -t '.' -k1n);
+for S in $( echo "${INIT_PATH}/_"* | tr ' ' '\n' | sort -t '.' -k1n );
do
- if [ ! -z ${DEBUG_BOOTSTRAP:-} ]; then
+ if [ ! -z "${DEBUG_BOOTSTRAP:-}" ]; then
echo "[DEBUG] Loading bootstrap '${S}'"
fi
source ${S}
done
# load scripts (not starting with _) in order
-for S in $( (ls -1 "${DIRNAME}/init/"*;ls -1 "${DIRNAME}/init/_"*) | sort -t '.' -k1n | uniq -u );
+for S in $( ( echo "${INIT_PATH}/"* ; echo "${INIT_PATH}/_"*) | tr ' ' '\n' | sort -t '.' -k1n | uniq -u );
do
LSDEBUG "Loading '${S}'"
source ${S}
LSDEBUG "'${S}' has been loaded"
done
+
diff --git a/hudson-scripts/init/0_constants.sh b/hudson-scripts/init/0_constants.sh
index ff527d6..fec7282 100644
--- a/hudson-scripts/init/0_constants.sh
+++ b/hudson-scripts/init/0_constants.sh
@@ -11,48 +11,48 @@
# ====================================================================
# Project specific
-export PROJECT_NAME="EMF Compare"
-__DOWNLOAD_PATH="download.eclipse.org/modeling/emf/compare"
-__ECLIPSE_DOCUMENT_ROOT="/home/data/httpd"
+export PROJECT_NAME="${PROJECT_NAME:-EMF Compare}"
+export DOWNLOAD_PATH="${DOWNLOAD_PATH:-download.eclipse.org/modeling/emf/compare}"
+export ECLIPSE_DOCUMENT_ROOT="${ECLIPSE_DOCUMENT_ROOT:-/home/data/httpd}"
# Private constants
-__UPDATE_FOLDER="updates"
-__NIGHTLY_FOLDER="nightly"
-__INTEGRATION_FOLDER="integration"
-__RELEASES_FOLDER="releases"
-__SIMREL_FOLDER="simrel"
-__STAGING_FOLDER="${__SIMREL_FOLDER}/staging"
-__MAINTENANCE_FOLDER="${__SIMREL_FOLDER}/maintenance"
-__MILESTONES_FOLDER="${__SIMREL_FOLDER}/milestones"
+export UPDATE_FOLDER="${UPDATE_FOLDER:-updates}"
+export NIGHTLY_FOLDER="${NIGHTLY_FOLDER:-nightly}"
+export INTEGRATION_FOLDER="${INTEGRATION_FOLDER:-integration}"
+export RELEASES_FOLDER="${RELEASES_FOLDER:-releases}"
+export SIMREL_FOLDER="${SIMREL_FOLDER:-simrel}"
+export STAGING_FOLDER="${STAGING_FOLDER:-${SIMREL_FOLDER}/staging}"
+export MAINTENANCE_FOLDER="${MAINTENANCE_FOLDER:-${SIMREL_FOLDER}/maintenance}"
+export MILESTONES_FOLDER="${MILESTONES_FOLDER:-${SIMREL_FOLDER}/milestones}"
-export DOWNLOAD_HOME="${__ECLIPSE_DOCUMENT_ROOT}/${__DOWNLOAD_PATH}"
-export DOWNLOAD_URL="http://${__DOWNLOAD_PATH}"
+export DOWNLOAD_HOME="${DOWNLOAD_HOME:-${ECLIPSE_DOCUMENT_ROOT}/${DOWNLOAD_PATH}}"
+export DOWNLOAD_URL="${DOWNLOAD_URL:-http://${DOWNLOAD_PATH}}"
# Computed from above
-export UPDATE_PATH="${__DOWNLOAD_PATH}/${__UPDATE_FOLDER}"
-export UPDATE_HOME="${DOWNLOAD_HOME}/${__UPDATE_FOLDER}"
-export UPDATE_URL="${DOWNLOAD_URL}/${__UPDATE_FOLDER}"
+export UPDATE_PATH="${UPDATE_PATH:-${DOWNLOAD_PATH}/${UPDATE_FOLDER}}"
+export UPDATE_HOME="${UPDATE_HOME:-${DOWNLOAD_HOME}/${UPDATE_FOLDER}}"
+export UPDATE_URL="${UPDATE_URL:-${DOWNLOAD_URL}/${UPDATE_FOLDER}}"
-export UPDATE_NIGHTLY_PATH="${UPDATE_PATH}/${__NIGHTLY_FOLDER}"
-export UPDATE_NIGHTLY_HOME="${UPDATE_HOME}/${__NIGHTLY_FOLDER}"
-export UPDATE_NIGHTLY_URL="${UPDATE_URL}/${__NIGHTLY_FOLDER}"
+export UPDATE_NIGHTLY_PATH="${UPDATE_NIGHTLY_PATH:-${UPDATE_PATH}/${NIGHTLY_FOLDER}}"
+export UPDATE_NIGHTLY_HOME="${UPDATE_NIGHTLY_HOME:-${UPDATE_HOME}/${NIGHTLY_FOLDER}}"
+export UPDATE_NIGHTLY_URL="${UPDATE_NIGHTLY_URL:-${UPDATE_URL}/${NIGHTLY_FOLDER}}"
-export UPDATE_INTEGRATION_PATH="${UPDATE_PATH}/${__INTEGRATION_FOLDER}"
-export UPDATE_INTEGRATION_HOME="${UPDATE_HOME}/${__INTEGRATION_FOLDER}"
-export UPDATE_INTEGRATION_URL="${UPDATE_URL}/${__INTEGRATION_FOLDER}"
+export UPDATE_INTEGRATION_PATH="${UPDATE_INTEGRATION_PATH:-${UPDATE_PATH}/${INTEGRATION_FOLDER}}"
+export UPDATE_INTEGRATION_HOME="${UPDATE_INTEGRATION_HOME:-${UPDATE_HOME}/${INTEGRATION_FOLDER}}"
+export UPDATE_INTEGRATION_URL="${UPDATE_INTEGRATION_URL:-${UPDATE_URL}/${INTEGRATION_FOLDER}}"
-export UPDATE_RELEASES_PATH="${UPDATE_PATH}/${__RELEASES_FOLDER}"
-export UPDATE_RELEASES_HOME="${UPDATE_HOME}/${__RELEASES_FOLDER}"
-export UPDATE_RELEASES_URL="${UPDATE_URL}/${__RELEASES_FOLDER}"
+export UPDATE_RELEASES_PATH="${UPDATE_RELEASES_PATH:-${UPDATE_PATH}/${RELEASES_FOLDER}}"
+export UPDATE_RELEASES_HOME="${UPDATE_RELEASES_HOME:-${UPDATE_HOME}/${RELEASES_FOLDER}}"
+export UPDATE_RELEASES_URL="${UPDATE_RELEASES_URL:-${UPDATE_URL}/${RELEASES_FOLDER}}"
-export UPDATE_STAGING_PATH="${UPDATE_PATH}/${__STAGING_FOLDER}"
-export UPDATE_STAGING_HOME="${UPDATE_HOME}/${__STAGING_FOLDER}"
-export UPDATE_STAGING_URL="${UPDATE_URL}/${__STAGING_FOLDER}"
+export UPDATE_STAGING_PATH="${UPDATE_STAGING_PATH:-${UPDATE_PATH}/${STAGING_FOLDER}}"
+export UPDATE_STAGING_HOME="${UPDATE_STAGING_HOME:-${UPDATE_HOME}/${STAGING_FOLDER}}"
+export UPDATE_STAGING_URL="${UPDATE_STAGING_URL:-${UPDATE_URL}/${STAGING_FOLDER}}"
-export UPDATE_MAINTENANCE_PATH="${UPDATE_PATH}/${__MAINTENANCE_FOLDER}"
-export UPDATE_MAINTENANCE_HOME="${UPDATE_HOME}/${__MAINTENANCE_FOLDER}"
-export UPDATE_MAINTENANCE_URL="${UPDATE_URL}/${__MAINTENANCE_FOLDER}"
+export UPDATE_MAINTENANCE_PATH="${UPDATE_MAINTENANCE_PATH:-${UPDATE_PATH}/${MAINTENANCE_FOLDER}}"
+export UPDATE_MAINTENANCE_HOME="${UPDATE_MAINTENANCE_HOME:-${UPDATE_HOME}/${MAINTENANCE_FOLDER}}"
+export UPDATE_MAINTENANCE_URL="${UPDATE_MAINTENANCE_URL:-${UPDATE_URL}/${MAINTENANCE_FOLDER}}"
-export UPDATE_MILESTONES_PATH="${UPDATE_PATH}/${__MILESTONES_FOLDER}"
-export UPDATE_MILESTONES_HOME="${UPDATE_HOME}/${__MILESTONES_FOLDER}"
-export UPDATE_MILESTONES_URL="${UPDATE_URL}/${__MILESTONES_FOLDER}"
+export UPDATE_MILESTONES_PATH="${UPDATE_MILESTONES_PATH:-${UPDATE_PATH}/${MILESTONES_FOLDER}}"
+export UPDATE_MILESTONES_HOME="${UPDATE_MILESTONES_HOME:-${UPDATE_HOME}/${MILESTONES_FOLDER}}"
+export UPDATE_MILESTONES_URL="${UPDATE_MILESTONES_URL:-${UPDATE_URL}/${MILESTONES_FOLDER}}"
diff --git a/hudson-scripts/init/1_p2.sh b/hudson-scripts/init/1_p2.sh
index 5240dd9..e0b8a9d 100644
--- a/hudson-scripts/init/1_p2.sh
+++ b/hudson-scripts/init/1_p2.sh
@@ -37,34 +37,37 @@
P2_ADMIN_ARCHIVE="p2-admin-${P2_ADMIN_VERSION}-${PLATFORM_SPECIFIER}.${FILE_EXT}"
P2_ADMIN_URL="https://github.com/mbarbero/p2-admin/releases/download/v${P2_ADMIN_VERSION}/${P2_ADMIN_ARCHIVE}"
-if [ -d 'p2-admin' ]; then
- LSINFO "Removing previous p2-admin folder"
- rm -rf "p2-admin"
+# prevents re-downloading the p2-admin archive each time.
+if [ ! -f "${WORKING_DIRECTORY}/${P2_ADMIN_ARCHIVE}" ]; then
+ LSDEBUG "Unable to find p2-admin archive '${WORKING_DIRECTORY}/${P2_ADMIN_ARCHIVE}'"
+ LSINFO "Downloading p2-admin '${P2_ADMIN_URL}'"
+ wget -q --no-check-certificate ${P2_ADMIN_URL} -O - > "${WORKING_DIRECTORY}/${P2_ADMIN_ARCHIVE}"
fi
-if [ ! -f "${P2_ADMIN_ARCHIVE}" ]; then
- LSDEBUG "Unable to find p2-admin archive '${P2_ADMIN_ARCHIVE}'"
- LSINFO "Downloading p2-admin '${P2_ADMIN_URL}'"
- wget -q --no-check-certificate ${P2_ADMIN_URL} -O - > "${P2_ADMIN_ARCHIVE}"
+# this way, we are sure to have a clean p2-admin install, without any p2-cache.
+# the p2-admin archive will be unzipped afterwards.
+if [ -d '${WORKING_DIRECTORY}/p2-admin' ]; then
+ LSDEBUG "Removing previous 'p2-admin' folder"
+ rm -rf "${WORKING_DIRECTORY}/p2-admin"
fi
LSDEBUG "Unziping '${P2_ADMIN_ARCHIVE}'"
-tar zxf "${P2_ADMIN_ARCHIVE}"
+tar zxf "${WORKING_DIRECTORY}/${P2_ADMIN_ARCHIVE}" -C "${WORKING_DIRECTORY}"
LSDEBUG "Defining p2 aliases"
-shopt -s expand_aliases
-
-LSDEBUG "composite-repository='p2-admin/p2-admin -vm ${JAVA_HOME}/bin/java -application org.eclipselabs.equinox.p2.composite.repository'"
-alias composite-repository="p2-admin/p2-admin -vm ${JAVA_HOME}/bin/java -application org.eclipselabs.equinox.p2.composite.repository"
+LSDEBUG "composite-repository='${WORKING_DIRECTORY}/p2-admin/p2-admin -vm ${JAVA_HOME}/bin/java -application org.eclipselabs.equinox.p2.composite.repository'"
+alias composite-repository="${WORKING_DIRECTORY}/p2-admin/p2-admin -vm ${JAVA_HOME}/bin/java -application org.eclipselabs.equinox.p2.composite.repository"
# Create a p2 index file for composite repositories
createP2Index() {
- LSDEBUG "Creating p2.index file in ${1}"
- cat > "${1}/p2.index" <<EOF
+ if [ ! -f "${1}/p2.index" ]; then
+ LSDEBUG "Creating p2.index file in ${1}"
+ cat > "${1}/p2.index" <<EOF
version = 1
metadata.repository.factory.order = compositeContent.xml,\!
artifact.repository.factory.order = compositeArtifacts.xml,\!
EOF
+ fi
}
# Remove any previous file from the ${1} path and create a composite repository with a single
diff --git a/hudson-scripts/init/2_fun_updateLatestRepository.sh b/hudson-scripts/init/2_fun_updateLatestRepository.sh
deleted file mode 100644
index aa31ba1..0000000
--- a/hudson-scripts/init/2_fun_updateLatestRepository.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/sh
-# ====================================================================
-# Copyright (c) 2014 Obeo
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Obeo - initial API and implementation
-# ====================================================================
-
-updateLatest() {
- local latestPath=$1
- local prefix=$2
- local relpath=$3
- local latestRepoName=$4
-
- local currentPwd=$(pwd)
- cd ${UPDATE_NIGHTLY_HOME}
- local allFilesWithPrefix=( $(echo "${prefix}"* | tr ' ' '\n' | grep -E '[0-9]+\.[0-9]+\.[0-9]+.*' || true) )
- cd ${currentPwd}
-
- if [ ${#allFilesWithPrefix[@]} -gt 0 ]; then
- local latestUpdatePath=$( echo ${allFilesWithPrefix[@]} | tr ' ' '\n' | sort | tail -n 1 )
- if [ ! -z "${latestUpdatePath}" ]; then
- local latestUpdateSite_onDisk="file:${UPDATE_NIGHTLY_HOME}/${latestUpdatePath}"
- LSDEBUG "Latest update site on disk is '${latestUpdateSite_onDisk}'"
- if [ -d "${latestPath}" ]; then
- local latestUpdateSite_inRepo=( $(composite-repository -location "${latestPath}" -list) )
- if [ ${#latestUpdateSite_inRepo[@]} -gt 0 ]; then
- LSDEBUG "Latest update site in '${latestPath}' is '${latestUpdateSite_inRepo[0]}'"
- if [ "${latestUpdateSite_inRepo[0]}" != "${latestUpdateSite_onDisk}" ]; then
- LSINFO "Creating redirection from '${latestPath}' to '${latestUpdatePath}'"
- createRedirect "${latestPath}" "${relpath}/${latestUpdatePath}" "${latestRepoName}"
- else
- LSINFO "'${latestPath}' is already referencing the latest update site. Do nothing"
- fi
- else
- LSDEBUG "Latest update site in '${latestPath}' is empty"
- LSINFO "Creating redirection from '${latestPath}' to '${latestUpdatePath}'"
- createRedirect "${latestPath}" "${relpath}/${latestUpdatePath}" "${latestRepoName}"
- fi
- else # folder nightly/latest does not exist
- LSDEBUG "Folder '${latestPath}' does not exist, it will be created"
- LSINFO "Creating redirection from '${latestPath}' to '${latestUpdatePath}'"
- createRedirect "${latestPath}" "${relpath}/${latestUpdatePath}" "${latestRepoName}"
- fi
- else
- LSERROR "Some files seems to be update site starting with '${prefix}' but we could not tail the list"
- fi
- else
- LSDEBUG "There is no folder that seem to be an update site in '${UPDATE_NIGHTLY_HOME}'. No one have a name that start with '${prefix}' and that match the regex '[0-9]+\.[0-9]+\.[0-9]+.*'"
- fi
-}
\ No newline at end of file
diff --git a/hudson-scripts/init/2_functions.sh b/hudson-scripts/init/2_functions.sh
new file mode 100644
index 0000000..8a2d933
--- /dev/null
+++ b/hudson-scripts/init/2_functions.sh
@@ -0,0 +1,134 @@
+#!/bin/sh
+# ====================================================================
+# Copyright (c) 2014 Obeo
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Obeo - initial API and implementation
+# ====================================================================
+
+# retrieved from http://stackoverflow.com/a/12498485
+relpath() {
+ # both $1 and $2 are absolute paths beginning with /
+ # returns relative path to $2/$targetPath from $1/$sourcePath
+ local sourcePath=$1
+ local targetPath=$2
+
+ local common_part=$sourcePath # for now
+ local result="" # for now
+
+ while [[ "${targetPath#$common_part}" == "${targetPath}" ]]; do
+ # no match, means that candidate common part is not correct
+ # go up one level (reduce common part)
+
+ common_part="$(dirname $common_part)"
+ # and record that we went back, with correct / handling
+ if [[ -z $result ]]; then
+ result=".."
+ else
+ result="../$result"
+ fi
+ done
+
+ if [[ $common_part == "/" ]]; then
+ # special case for root (no common path)
+ result="$result/"
+ fi
+
+ # since we now have identified the common part,
+ # compute the non-common part
+ local forward_part="${targetPath#$common_part}"
+
+ # and now stick all parts together
+ if [[ -n $result ]] && [[ -n $forward_part ]]; then
+ result="$result$forward_part"
+ elif [[ -n $forward_part ]]; then
+ # extra slash removal
+ result="${forward_part:1}"
+ fi
+
+ echo $result
+}
+
+updateLatest() {
+ local latestPath=$1
+ local prefix=$2
+ local latestRepoName=$3
+
+ local currentPwd=$(pwd)
+ cd ${UPDATE_NIGHTLY_HOME}
+ local allFilesWithPrefix=( $(echo "${prefix}"* | tr ' ' '\n' | grep -E '[0-9]+\.[0-9]+\.[0-9]+.*' || true) )
+ cd ${currentPwd}
+
+ if [ ${#allFilesWithPrefix[@]} -gt 0 ]; then
+ local latestUpdatePath=$( echo ${allFilesWithPrefix[@]} | tr ' ' '\n' | sort | tail -n 1 )
+ if [ ! -z "${latestUpdatePath}" ]; then
+ local relpath=$( relpath ${latestPath} ${UPDATE_NIGHTLY_HOME}/${latestUpdatePath} )
+ local latestUpdateSite_onDisk="file:${UPDATE_NIGHTLY_HOME}/${latestUpdatePath}"
+ LSDEBUG "Latest update site on disk is '${latestUpdateSite_onDisk}'"
+ if [ -d "${latestPath}" ]; then
+ local latestUpdateSite_inRepo=( $(composite-repository -location "${latestPath}" -list) )
+ if [ ${#latestUpdateSite_inRepo[@]} -gt 0 ]; then
+ LSDEBUG "Latest update site in '${latestPath}' is '${latestUpdateSite_inRepo[0]}'"
+ if [ "${latestUpdateSite_inRepo[0]}" != "${latestUpdateSite_onDisk}" ]; then
+ LSINFO "Creating redirection from '${latestPath}' to '${latestUpdatePath}'"
+ createRedirect "${latestPath}" "${relpath}" "${latestRepoName}"
+ else
+ LSINFO "'${latestPath}' is already referencing the latest update site. Do nothing"
+ fi
+ else
+ LSDEBUG "Latest update site in '${latestPath}' is empty"
+ LSINFO "Creating redirection from '${latestPath}' to '${latestUpdatePath}'"
+ createRedirect "${latestPath}" "${relpath}" "${latestRepoName}"
+ fi
+ else # folder nightly/latest does not exist
+ LSDEBUG "Folder '${latestPath}' does not exist, it will be created"
+ LSINFO "Creating redirection from '${latestPath}' to '${latestUpdatePath}'"
+ createRedirect "${latestPath}" "${relpath}" "${latestRepoName}"
+ fi
+ else
+ LSERROR "Some files seems to be update site starting with '${prefix}' but we could not tail the list"
+ fi
+ else
+ LSDEBUG "There is no folder that seem to be an update site in '${UPDATE_NIGHTLY_HOME}'. No one have a name that start with '${prefix}' and that match the regex '[0-9]+\.[0-9]+\.[0-9]+.*'"
+ fi
+}
+
+cleanNightly() {
+ local updateSiteToClean=$1
+ local streamPath=$2
+ local latestInStreamPath=$3
+
+ local updateSiteURLToClean="${UPDATE_NIGHTLY_URL}/${updateSiteToClean}"
+ local relpath=$( relpath ${streamPath} ${UPDATE_NIGHTLY_HOME}/${updateSiteToClean} )
+
+ LSINFO "Removing '${relpath}' from '${streamPath}'"
+ composite-repository -location "${streamPath}" -remove "${relpath}"
+
+ ##check the number of children in streamPath, if 0 remove folder (no need to check latest)
+ local streamPathChild=( $(composite-repository -location "${streamPath}" -list) )
+ if [ ${#streamPathChild[@]} -eq 0 ]; then
+ LSINFO "Removing folder '${streamPath}' as it has no children anymore"
+ if [ "${streamPath}" = "${UPDATE_NIGHTLY_HOME}" ]; then
+ rm -rf "${streamPath}/"*
+ else
+ rm -rf "${streamPath}"
+ fi
+ else
+ local latestUpdateSiteInStream=( $(composite-repository -location "${latestInStreamPath}" -list) )
+ LSDEBUG "Current latest update site in stream '${streamPath}' is '${latestUpdateSiteInStream[@]}'"
+ if [ ${#latestUpdateSiteInStream[@]} -gt 0 ]; then
+ if [ ${#latestUpdateSiteInStream[@]} -gt 1 ]; then
+ LSCRITICAL "There are more than a single update site referenced in the repository ${latestInStreamPath}"
+ exit 1
+ elif [ "${updateSiteURLToClean}" = "${latestUpdateSiteInStream[0]}" ]; then
+ relpath=$( relpath ${latestInStreamPath} ${UPDATE_NIGHTLY_HOME}/${updateSiteToClean} )
+ LSINFO "Removing '${relpath}' from '${latestInStreamPath}'"
+ composite-repository -location "${latestInStreamPath}" -remove "${relpath}"
+ fi
+ fi
+ fi
+}
diff --git a/hudson-scripts/init/_0_log.sh b/hudson-scripts/init/_0_log.sh
index 5f447ae..0fedb07 100644
--- a/hudson-scripts/init/_0_log.sh
+++ b/hudson-scripts/init/_0_log.sh
@@ -101,7 +101,7 @@
for ((i=FRAMES-2; i>0; i--)); do
echo ' File' \"${BASH_SOURCE[i+1]}\", line ${BASH_LINENO[i]}, in ${FUNCNAME[i+1]}
# Grab the source code of the line
- sed -n "${BASH_LINENO[i]}s/^[\t[:space:]]*/ /gp" "${BASH_SOURCE[i+1]}"
+ sed -n "${BASH_LINENO[i]} s/^[:space:]*/ /p" "${BASH_SOURCE[i+1]}"
# TODO extract arugments from "${BASH_ARGC[@]}" and "${BASH_ARGV[@]}"
# It requires `shopt -s extdebug'
done
diff --git a/hudson-scripts/init/_1_trap.sh b/hudson-scripts/init/_1_trap.sh
index abe7e1d..981fdca 100644
--- a/hudson-scripts/init/_1_trap.sh
+++ b/hudson-scripts/init/_1_trap.sh
@@ -16,7 +16,7 @@
local RETURN=$?
LSDEBUG "Program will exit, saving the environment variables to a file for later debugging"
- env | sort > env.txt
+ env | sort > "${WORKING_DIRECTORY}/env.txt"
if [ ${RETURN} -ne 0 -a ${RETURN} -lt 129 -o ${RETURN} -gt 165 ]; then
cd "${_ON_LOAD_PWD}"
@@ -33,5 +33,5 @@
exit ${RETURN}
}
-trap __onInterruption INT TERM
+trap __onInterruption INT TERM #ERR #DEBUG #RETURN
trap __onExit EXIT
diff --git a/hudson-scripts/init/_2_workdir.sh b/hudson-scripts/init/_2_workdir.sh
new file mode 100644
index 0000000..6eecfb5
--- /dev/null
+++ b/hudson-scripts/init/_2_workdir.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+# ====================================================================
+# Copyright (c) 2014 Obeo
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Obeo - initial API and implementation
+# ====================================================================
+
+export WORKING_DIRECTORY="${WORKING_DIRECTORY:-$(pwd)/target}"
+
+if [ ! -d "${WORKING_DIRECTORY}" ]; then
+ LSDEBUG "Creating '${WORKING_DIRECTORY}'"
+ mkdir -p "${WORKING_DIRECTORY}"
+fi
\ No newline at end of file
diff --git a/hudson-scripts/publish-nightly.sh b/hudson-scripts/publish-nightly.sh
index 5921f18..c57af79 100755
--- a/hudson-scripts/publish-nightly.sh
+++ b/hudson-scripts/publish-nightly.sh
@@ -10,77 +10,81 @@
# Obeo - initial API and implementation
# ====================================================================
-[ -z "${UPDATE_SITE__ARTIFACT_URL}" -o -z "${UPDATE_SITE__ARTIFACT_NAME}" -o -z "${UPDATE_SITE__UNQUALIFIED_VERSION}" -o -z "${UPDATE_SITE__QUALIFIED_VERSION}" ] && {
- echo "Execution aborted.
+if [ $# -ne 2 ]; then
+ echo "Execution aborted. One or more of the required parameters is not set.
-One or more of the required variables is not set. They are normally
-provided by the Hudson build.
+Usage: $0 artifactURL unqualifiedVersion qualifiedVersion
-- UPDATE_SITE__ARTIFACT_URL: the URL where the zipped update site to publish can be donwload.
-- UPDATE_SITE__ARTIFACT_NAME: the filename of the zipped update site.
-- UPDATE_SITE__UNQUALIFIED_VERSION: the unqualified version of the update site to publish.
-- UPDATE_SITE__QUALIFIED_VERSION: the qualified version of the update site to publish.
+- artifactURL: the URL where the zipped update site to publish can be donwload.
+- qualifiedVersion: the qualified version of the update site to publish.
"
- exit 1
-}
+fi
+
+artifactURL="${1}"
+qualifiedVersion="${2}"
source "$(dirname "${0}")/init.sh"
-LSINFO "== Publishing nightly build '${PROJECT_NAME} ${UPDATE_SITE__QUALIFIED_VERSION}' == "
+LSINFO "== Publishing nightly build '${PROJECT_NAME} ${qualifiedVersion}' == "
+
+unqualifiedVersion="$(echo ${qualifiedVersion} | sed-regex 's/^([0-9]+\.[0-9]+\.[0-9]+)\..+$/\1/')"
+LSDEBUG "unqualifiedVersion is '${unqualifiedVersion}'"
+minorVersion="$(echo ${qualifiedVersion} | sed-regex 's/^([0-9]+\.[0-9]+)\.[0-9]+\..+$/\1/')"
+LSDEBUG "Minor stream name is '${minorVersion}.x'"
+majorVersion="$(echo ${qualifiedVersion} | sed-regex 's/^([0-9]+)\.[0-9]+\.[0-9]+\..+$/\1/')"
+LSDEBUG "Major stream name is '${majorVersion}.x'"
# the update site
-for zip in *".zip"; do
- LSDEBUG "Removing previous zipped update site '${zip}'"
- rm -f ${zip}
-done
+LSINFO "Downloading '${artifactURL}'"
+artifactName="update-site.zip"
+if [ -f "${WORKING_DIRECTORY}/${artifactName}" ]; then
+ rm -f "${WORKING_DIRECTORY}/${artifactName}"
+fi
+curl -s -k "${artifactURL}" > "${WORKING_DIRECTORY}/${artifactName}"
-for folder in "${UPDATE_SITE__UNQUALIFIED_VERSION}"*; do
- LSDEBUG "Removing previous update site folder '${folder}'"
- rm -rf ${folder}
-done
+LSINFO "Unziping '${artifactName}'"
+if [ -d "${WORKING_DIRECTORY}/update-site" ]; then
+ rm -rf "${WORKING_DIRECTORY}/update-site"
+fi
+unzip -qq "${WORKING_DIRECTORY}/${artifactName}" -d "${WORKING_DIRECTORY}/update-site"
-LSINFO "Downloading '${UPDATE_SITE__ARTIFACT_URL}'"
-wget -q --no-check-certificate ${UPDATE_SITE__ARTIFACT_URL} -O - > ${UPDATE_SITE__ARTIFACT_NAME}
-
-STREAM="$(echo ${UPDATE_SITE__UNQUALIFIED_VERSION} | sed-regex 's/^([0-9]+\.[0-9]+)\.[0-9]+$/\1/').x"
-LSDEBUG "Stream name is '${STREAM}'"
-
-LSINFO "Unziping '${UPDATE_SITE__ARTIFACT_NAME}'"
-unzip -qq ${UPDATE_SITE__ARTIFACT_NAME} -d ${UPDATE_SITE__QUALIFIED_VERSION}
-
-if [ ! -d "${UPDATE_NIGHTLY_HOME}" ]; then
+if [ ! -d "${UPDATE_NIGHTLY_HOME}/${qualifiedVersion}" ]; then
LSINFO "Creating folder '${UPDATE_NIGHTLY_HOME}'"
- mkdir -p ${UPDATE_NIGHTLY_HOME}
+ mkdir -p "${UPDATE_NIGHTLY_HOME}/${qualifiedVersion}"
else
- LSDEBUG "Folder '${UPDATE_NIGHTLY_HOME}' already exists, do nothing"
+ LSDEBUG "Folder '${WORKING_DIRECTORY}/${UPDATE_NIGHTLY_HOME}' already exists, do nothing"
fi
LSINFO "Copying update site to '${UPDATE_NIGHTLY_HOME}'"
-cp -rf ${UPDATE_SITE__QUALIFIED_VERSION} ${UPDATE_NIGHTLY_HOME}
+cp -rf "${WORKING_DIRECTORY}/update-site/"* "${UPDATE_NIGHTLY_HOME}/${qualifiedVersion}"
-## stream update
+## streams update
-LSINFO "Adding '../${UPDATE_SITE__QUALIFIED_VERSION}' to '${UPDATE_NIGHTLY_HOME}/${STREAM}'"
-composite-repository \
- -location "${UPDATE_NIGHTLY_HOME}/${STREAM}" \
- -add "../${UPDATE_SITE__QUALIFIED_VERSION}" \
- -repositoryName "${PROJECT_NAME} ${STREAM} nightly builds" \
- -compressed
-createP2Index "${UPDATE_NIGHTLY_HOME}/${STREAM}"
+updateStream() {
+ local pathToVersion="${1}"
+ local stream="${2}"
-updateLatest "${UPDATE_NIGHTLY_HOME}/${STREAM}/latest" "${UPDATE_SITE__UNQUALIFIED_VERSION}" "../.." "${PROJECT_NAME} ${STREAM} latest nightly build"
+ local streamPath="${stream:+streams/${stream}.x}"
+ local repoPrefix="${PROJECT_NAME}${stream:+ ${stream}.x}"
-LSINFO "Adding '${UPDATE_SITE__QUALIFIED_VERSION}' to '${UPDATE_NIGHTLY_HOME}'"
-composite-repository \
- -location "${UPDATE_NIGHTLY_HOME}" \
- -add "${UPDATE_SITE__QUALIFIED_VERSION}" \
- -repositoryName "${PROJECT_NAME} nightly builds" \
- -compressed
-createP2Index "${UPDATE_NIGHTLY_HOME}"
+ LSINFO "Adding '${pathToVersion}' to '${UPDATE_NIGHTLY_HOME}/${streamPath}'"
-updateLatest "${UPDATE_NIGHTLY_HOME}/latest" "" ".." "${PROJECT_NAME} latest nightly build"
+ composite-repository \
+ -location "${UPDATE_NIGHTLY_HOME}/${streamPath}" \
+ -add "${pathToVersion}" \
+ -repositoryName "${repoPrefix} nightly builds" \
+ -compressed
+ createP2Index "${UPDATE_NIGHTLY_HOME}/${streamPath}"
-LSINFO "== '${PROJECT_NAME} ${UPDATE_SITE__QUALIFIED_VERSION}' has been published @ '${UPDATE_NIGHTLY_URL}/${UPDATE_SITE__QUALIFIED_VERSION}' == "
+ updateLatest "${UPDATE_NIGHTLY_HOME}/${streamPath}${streamPath:+/}latest" "${stream}" "${repoPrefix} latest nightly build"
+}
+
+updateStream "../../${qualifiedVersion}" "${unqualifiedVersion}"
+updateStream "../../${qualifiedVersion}" "${minorVersion}"
+updateStream "../../${qualifiedVersion}" "${majorVersion}"
+updateStream "${qualifiedVersion}" ""
+
+LSINFO "== '${PROJECT_NAME} ${qualifiedVersion}' has been published @ '${UPDATE_NIGHTLY_URL}/${qualifiedVersion}' == "
# the javadoc
diff --git a/hudson-scripts/tests/data/dummy-site.zip b/hudson-scripts/tests/data/dummy-site.zip
new file mode 100644
index 0000000..39c0a9a
--- /dev/null
+++ b/hudson-scripts/tests/data/dummy-site.zip
Binary files differ
diff --git a/hudson-scripts/tests/data/sites-to-clean.tar.gz b/hudson-scripts/tests/data/sites-to-clean.tar.gz
new file mode 100644
index 0000000..918902d
--- /dev/null
+++ b/hudson-scripts/tests/data/sites-to-clean.tar.gz
Binary files differ
diff --git a/hudson-scripts/tests/test-clean-nightly.sh b/hudson-scripts/tests/test-clean-nightly.sh
new file mode 100755
index 0000000..225346e
--- /dev/null
+++ b/hudson-scripts/tests/test-clean-nightly.sh
@@ -0,0 +1,790 @@
+#!/bin/sh
+# ====================================================================
+# Copyright (c) 2014 Obeo
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Obeo - initial API and implementation
+# ====================================================================
+
+# Test specific constants
+export WORKING_DIRECTORY="$(pwd)/target"
+
+export PROJECT_NAME="Test Project"
+export DOWNLOAD_PATH="cleaner"
+export ECLIPSE_DOCUMENT_ROOT="${WORKING_DIRECTORY}/tests/documentRoot"
+export DOWNLOAD_URL="file:${ECLIPSE_DOCUMENT_ROOT}/${DOWNLOAD_PATH}"
+
+export SCRIPT_PATH="$(dirname "${0}")"
+export INIT_PATH="${SCRIPT_PATH}/../init"
+
+source "${SCRIPT_PATH}/../init.sh"
+source "${SCRIPT_PATH}/test-utils.sh"
+
+reports="${WORKING_DIRECTORY}/tests/results-clean-nightly.txt"
+beforeTest "${reports}"
+
+sitesToClean="$(pwd)/${SCRIPT_PATH}/data/sites-to-clean.tar.gz"
+
+# #zippedUpdateSiteURL="file:$(pwd)/${SCRIPT_PATH}/data/dummy-site.zip"
+# for M in "1" "2" "3"; do
+# for m in "0" "1" "2"; do
+# for u in "0" "1" "2"; do
+# for q in "A" "B" "C"; do
+# printf '"file:${UPDATE_NIGHTLY_HOME}/'"$M.$m.$u.$q"'" '
+# # ${SCRIPT_PATH}/../publish-nightly.sh "${zippedUpdateSiteURL}" "$M.$m.$u.$q"
+# done
+# printf '\\\n'
+# done
+# done
+# done
+# exit 0
+
+test01() {
+ LSTEST "Test clean-nightly 01"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "1.0.0" 3
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test01 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test01 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "clean-nightly" "test01 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "clean-nightly" "test01 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "clean-nightly" "test01 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "clean-nightly" "test01 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "clean-nightly" "test01 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "clean-nightly" "test01 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+}
+
+test02() {
+ LSTEST "Test clean-nightly 02"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "1.0.0" 2
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test02 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test02 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "clean-nightly" "test02 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "clean-nightly" "test02 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "clean-nightly" "test02 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "clean-nightly" "test02 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "clean-nightly" "test02 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "clean-nightly" "test02 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+}
+
+test03() {
+ LSTEST "Test clean-nightly 03"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "1.0.0" 1
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test03 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test03 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "clean-nightly" "test03 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "clean-nightly" "test03 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "clean-nightly" "test03 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "clean-nightly" "test03 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "clean-nightly" "test03 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "clean-nightly" "test03 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+}
+
+test04() {
+ LSTEST "Test clean-nightly 04"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "1.0.0" 0
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test04 all" "${reports}" \
+ \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test04 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ # replace with test for folder existing
+ assertFolderDoesNotExist "${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "clean-nightly" "test04 1.0.0.x" "${reports}"
+ assertFolderDoesNotExist "${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "clean-nightly" "test04 1.0.0.x/latest" "${reports}"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "clean-nightly" "test04 1.0.x" "${reports}" \
+ \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "clean-nightly" "test04 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "clean-nightly" "test04 1.x" "${reports}" \
+ \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "clean-nightly" "test04 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+}
+
+test05() {
+ LSTEST "Test clean-nightly 05"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "1.0.2" 1
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test05 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test05 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.2.x" "clean-nightly" "test05 1.0.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.2.x/latest" "clean-nightly" "test05 1.0.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "clean-nightly" "test05 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "clean-nightly" "test05 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "clean-nightly" "test05 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "clean-nightly" "test05 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+}
+
+test06() {
+ LSTEST "Test clean-nightly 06"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "1.0.2" 0
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test06 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test06 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ assertFolderDoesNotExist "${UPDATE_NIGHTLY_HOME}/streams/1.0.2.x" "clean-nightly" "test06 1.0.2.x" "${reports}"
+ assertFolderDoesNotExist "${UPDATE_NIGHTLY_HOME}/streams/1.0.2.x/latest" "clean-nightly" "test06 1.0.2.x/latest" "${reports}"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "clean-nightly" "test06 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C"
+
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "clean-nightly" "test06 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "clean-nightly" "test06 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "clean-nightly" "test06 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+}
+
+test07() {
+ LSTEST "Test clean-nightly 07"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "1.2.2" 2
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test07 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test07 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.2.x" "clean-nightly" "test07 1.2.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.2.x/latest" "clean-nightly" "test07 1.2.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x" "clean-nightly" "test07 1.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x/latest" "clean-nightly" "test07 1.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "clean-nightly" "test07 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "clean-nightly" "test07 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C"
+}
+
+test08() {
+ LSTEST "Test clean-nightly 08"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "1.2.2" 0
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test08 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test08 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ assertFolderDoesNotExist "${UPDATE_NIGHTLY_HOME}/streams/1.2.2.x" "clean-nightly" "test08 1.2.2.x" "${reports}"
+ assertFolderDoesNotExist "${UPDATE_NIGHTLY_HOME}/streams/1.2.2.x/latest" "clean-nightly" "test08 1.2.2.x/latest" "${reports}"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x" "clean-nightly" "test08 1.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x/latest" "clean-nightly" "test08 1.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "clean-nightly" "test08 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "clean-nightly" "test08 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C"
+}
+
+test09() {
+ LSTEST "Test clean-nightly 09"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "3.2.1" 2
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test09 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test09 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.1.x" "clean-nightly" "test09 3.2.1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.1.x/latest" "clean-nightly" "test09 3.2.1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.x" "clean-nightly" "test09 3.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.x/latest" "clean-nightly" "test09 3.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x" "clean-nightly" "test09 3.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x/latest" "clean-nightly" "test09 3.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+}
+
+test10() {
+ LSTEST "Test clean-nightly 10"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "3.2.1" 0
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test10 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test10 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ assertFolderDoesNotExist "${UPDATE_NIGHTLY_HOME}/streams/3.2.1.x" "clean-nightly" "test09 3.2.1.x" "${reports}"
+ assertFolderDoesNotExist "${UPDATE_NIGHTLY_HOME}/streams/3.2.1.x/latest" "clean-nightly" "test09 3.2.1.x/latest" "${reports}"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.x" "clean-nightly" "test10 3.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.x/latest" "clean-nightly" "test10 3.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x" "clean-nightly" "test10 3.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x/latest" "clean-nightly" "test10 3.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+}
+
+test11() {
+ LSTEST "Test clean-nightly 11"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "3.2.2" 2
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test11 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test11 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.2.x" "clean-nightly" "test11 3.2.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.2.x/latest" "clean-nightly" "test11 3.2.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.x" "clean-nightly" "test11 3.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.x/latest" "clean-nightly" "test11 3.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x" "clean-nightly" "test11 3.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x/latest" "clean-nightly" "test11 3.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.2.C"
+}
+
+test12() {
+ LSTEST "Test clean-nightly 12"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ tar zxf "${sitesToClean}" -C "${UPDATE_NIGHTLY_HOME}"
+ ${SCRIPT_PATH}/../clean-nightly.sh "3.2.2" 0
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test12 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/1.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/2.2.2.A" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.B" "file:${UPDATE_NIGHTLY_HOME}/2.2.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test12 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C"
+ assertFolderDoesNotExist "${UPDATE_NIGHTLY_HOME}/streams/3.2.2.x" "clean-nightly" "test12 3.2.2.x" "${reports}"
+ assertFolderDoesNotExist "${UPDATE_NIGHTLY_HOME}/streams/3.2.2.x/latest" "clean-nightly" "test12 3.2.2.x/latest" "${reports}"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.x" "clean-nightly" "test12 3.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.2.x/latest" "clean-nightly" "test12 3.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x" "clean-nightly" "test12 3.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.0.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.0.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.1.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.1.2.A" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.B" "file:${UPDATE_NIGHTLY_HOME}/3.1.2.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.0.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.0.C" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.A" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.B" "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x/latest" "clean-nightly" "test12 3.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.2.1.C"
+}
+
+test13() {
+ LSTEST "Test clean-nightly 13"
+ local dummySite="file:$(pwd)/${SCRIPT_PATH}/data/dummy-site.zip"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.0.0.A"
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.0.0.B"
+ ${SCRIPT_PATH}/../clean-nightly.sh "1.0.0" 1
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test13 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "clean-nightly" "test13 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "clean-nightly" "test13 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "clean-nightly" "test13 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "clean-nightly" "test13 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "clean-nightly" "test13 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "clean-nightly" "test13 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "clean-nightly" "test13 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+}
+
+test14() {
+ LSTEST "Test clean-nightly 14"
+ local dummySite="file:$(pwd)/${SCRIPT_PATH}/data/dummy-site.zip"
+ rm -rf "${UPDATE_NIGHTLY_HOME}/"*
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.0.0.A"
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.0.0.B"
+ ${SCRIPT_PATH}/../clean-nightly.sh "1.0.0" 0
+ assertEmptyFolder "${UPDATE_NIGHTLY_HOME}" "clean-nightly" "test14 all" "${reports}"
+}
+
+test01
+test02
+test03
+test04
+test05
+test06
+test07
+test08
+test09
+test10
+test11
+test12
+test13
+test14
+
+afterTest "${reports}"
\ No newline at end of file
diff --git a/hudson-scripts/tests/test-publish-nightly.sh b/hudson-scripts/tests/test-publish-nightly.sh
new file mode 100755
index 0000000..b07db1c
--- /dev/null
+++ b/hudson-scripts/tests/test-publish-nightly.sh
@@ -0,0 +1,421 @@
+#!/bin/sh
+# ====================================================================
+# Copyright (c) 2014 Obeo
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Obeo - initial API and implementation
+# ====================================================================
+
+# Test specific constants
+export WORKING_DIRECTORY="$(pwd)/target"
+
+export PROJECT_NAME="Test Project"
+export DOWNLOAD_PATH="publisher"
+export ECLIPSE_DOCUMENT_ROOT="${WORKING_DIRECTORY}/tests/documentRoot"
+export DOWNLOAD_URL="file:${ECLIPSE_DOCUMENT_ROOT}/${DOWNLOAD_PATH}"
+
+export SCRIPT_PATH="$(dirname "${0}")"
+export INIT_PATH="${SCRIPT_PATH}/../init"
+
+source "${SCRIPT_PATH}/../init.sh"
+source "${SCRIPT_PATH}/test-utils.sh"
+
+reports="${WORKING_DIRECTORY}/tests/results-publish-nightly.txt"
+beforeTest "${reports}"
+
+dummySite="file:$(pwd)/${SCRIPT_PATH}/data/dummy-site.zip"
+
+test01() {
+ LSTEST "Test publish-nightly 1.0.0.A"
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.0.0.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "publish-nightly" "test01 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "publish-nightly" "test01 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "publish-nightly" "test01 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "publish-nightly" "test01 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "publish-nightly" "test01 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "publish-nightly" "test01 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "publish-nightly" "test01 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "publish-nightly" "test01 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A"
+}
+
+test02() {
+ LSTEST "Test publish-nightly 1.0.0.B"
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "publish-nightly" "test02 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "publish-nightly" "test02 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "publish-nightly" "test02 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "publish-nightly" "test02 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "publish-nightly" "test02 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "publish-nightly" "test02 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "publish-nightly" "test02 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "publish-nightly" "test02 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+}
+
+test03() {
+ LSTEST "Test publish-nightly 1.0.5.A"
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "publish-nightly" "test03 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "publish-nightly" "test03 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "publish-nightly" "test03 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "publish-nightly" "test03 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "publish-nightly" "test03 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "publish-nightly" "test03 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "publish-nightly" "test03 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "publish-nightly" "test03 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x" "publish-nightly" "test03 1.0.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x/latest" "publish-nightly" "test03 1.0.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+}
+
+test04() {
+ LSTEST "Test publish-nightly 1.4.5.M"
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "publish-nightly" "test04 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "publish-nightly" "test04 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "publish-nightly" "test04 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "publish-nightly" "test04 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "publish-nightly" "test04 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "publish-nightly" "test04 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "publish-nightly" "test04 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "publish-nightly" "test04 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x" "publish-nightly" "test04 1.0.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x/latest" "publish-nightly" "test04 1.0.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x" "publish-nightly" "test04 1.4.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x/latest" "publish-nightly" "test04 1.4.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x" "publish-nightly" "test04 1.4.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x/latest" "publish-nightly" "test04 1.4.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+}
+
+test05() {
+ LSTEST "Test publish-nightly 1.2.8.P"
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "publish-nightly" "test05 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "publish-nightly" "test05 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "publish-nightly" "test05 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "publish-nightly" "test05 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "publish-nightly" "test05 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "publish-nightly" "test05 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "publish-nightly" "test05 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "publish-nightly" "test05 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x" "publish-nightly" "test05 1.0.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x/latest" "publish-nightly" "test05 1.0.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x" "publish-nightly" "test05 1.4.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x/latest" "publish-nightly" "test05 1.4.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x" "publish-nightly" "test05 1.4.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x/latest" "publish-nightly" "test05 1.4.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x" "publish-nightly" "test05 1.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x/latest" "publish-nightly" "test05 1.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.8.x" "publish-nightly" "test05 1.2.8.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.8.x/latest" "publish-nightly" "test05 1.2.8.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+}
+
+test06() {
+ LSTEST "Test publish-nightly 1.4.1.A"
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "publish-nightly" "test06 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "publish-nightly" "test06 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "publish-nightly" "test06 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "publish-nightly" "test06 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "publish-nightly" "test06 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "publish-nightly" "test06 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "publish-nightly" "test06 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "publish-nightly" "test06 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x" "publish-nightly" "test06 1.0.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x/latest" "publish-nightly" "test06 1.0.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x" "publish-nightly" "test06 1.4.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x/latest" "publish-nightly" "test06 1.4.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x" "publish-nightly" "test06 1.4.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x/latest" "publish-nightly" "test06 1.4.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x" "publish-nightly" "test06 1.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x/latest" "publish-nightly" "test06 1.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.8.x" "publish-nightly" "test06 1.2.8.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.8.x/latest" "publish-nightly" "test06 1.2.8.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.1.x" "publish-nightly" "test06 1.4.1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.1.x/latest" "publish-nightly" "test06 1.4.1..x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+}
+
+test07() {
+ LSTEST "Test publish-nightly 3.5.25.G"
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "publish-nightly" "test07 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "publish-nightly" "test07 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "publish-nightly" "test07 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "publish-nightly" "test07 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "publish-nightly" "test07 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "publish-nightly" "test07 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "publish-nightly" "test07 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "publish-nightly" "test07 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x" "publish-nightly" "test07 1.0.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x/latest" "publish-nightly" "test07 1.0.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x" "publish-nightly" "test07 1.4.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x/latest" "publish-nightly" "test07 1.4.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x" "publish-nightly" "test07 1.4.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x/latest" "publish-nightly" "test07 1.4.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x" "publish-nightly" "test07 1.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x/latest" "publish-nightly" "test07 1.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.8.x" "publish-nightly" "test07 1.2.8.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.8.x/latest" "publish-nightly" "test07 1.2.8.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.1.x" "publish-nightly" "test07 1.4.1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.1.x/latest" "publish-nightly" "test07 1.4.1..x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x" "publish-nightly" "test07 3.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x/latest" "publish-nightly" "test07 3.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.x" "publish-nightly" "test07 3.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.x/latest" "publish-nightly" "test07 3.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.25.x" "publish-nightly" "test07 3.5.25.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.25.x/latest" "publish-nightly" "test07 3.5.25.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+}
+
+test08() {
+ LSTEST "Test publish-nightly 1.4.5.Z"
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.4.5.Z"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "publish-nightly" "test08 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G" "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "publish-nightly" "test08 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "publish-nightly" "test08 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "publish-nightly" "test08 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "publish-nightly" "test08 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "publish-nightly" "test08 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "publish-nightly" "test08 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "publish-nightly" "test08 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x" "publish-nightly" "test08 1.0.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x/latest" "publish-nightly" "test08 1.0.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x" "publish-nightly" "test08 1.4.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x/latest" "publish-nightly" "test08 1.4.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x" "publish-nightly" "test08 1.4.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x/latest" "publish-nightly" "test08 1.4.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x" "publish-nightly" "test08 1.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x/latest" "publish-nightly" "test08 1.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.8.x" "publish-nightly" "test08 1.2.8.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.8.x/latest" "publish-nightly" "test08 1.2.8.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.1.x" "publish-nightly" "test08 1.4.1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.1.x/latest" "publish-nightly" "test08 1.4.1..x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x" "publish-nightly" "test07 3.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x/latest" "publish-nightly" "test08 3.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.x" "publish-nightly" "test08 3.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.x/latest" "publish-nightly" "test08 3.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.25.x" "publish-nightly" "test08 3.5.25.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.25.x/latest" "publish-nightly" "test08 3.5.25.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+}
+
+test09() {
+ LSTEST "Test publish-nightly 1.4.6.A"
+ ${SCRIPT_PATH}/../publish-nightly.sh "${dummySite}" "1.4.6.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}" "publish-nightly" "test09 all" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G" "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z" "file:${UPDATE_NIGHTLY_HOME}/1.4.6.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/latest" "publish-nightly" "test09 latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x" "publish-nightly" "test09 1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z" "file:${UPDATE_NIGHTLY_HOME}/1.4.6.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.x/latest" "publish-nightly" "test09 1.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.6.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x" "publish-nightly" "test09 1.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B" "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.x/latest" "publish-nightly" "test09 1.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x" "publish-nightly" "test09 1.0.0.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.A" "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.0.x/latest" "publish-nightly" "test09 1.0.0.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.0.B"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x" "publish-nightly" "test09 1.0.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.0.5.x/latest" "publish-nightly" "test09 1.0.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.0.5.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x" "publish-nightly" "test09 1.4.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A" "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.6.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.x/latest" "publish-nightly" "test09 1.4.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.6.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x" "publish-nightly" "test09 1.4.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.M" "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.5.x/latest" "publish-nightly" "test09 1.4.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.5.Z"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x" "publish-nightly" "test09 1.2.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.x/latest" "publish-nightly" "test09 1.2.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.8.x" "publish-nightly" "test09 1.2.8.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.2.8.x/latest" "publish-nightly" "test09 1.2.8.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.2.8.P"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.1.x" "publish-nightly" "test09 1.4.1.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.1.x/latest" "publish-nightly" "test09 1.4.1..x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.1.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x" "publish-nightly" "test07 3.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.x/latest" "publish-nightly" "test09 3.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.x" "publish-nightly" "test09 3.5.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.x/latest" "publish-nightly" "test09 3.5.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.25.x" "publish-nightly" "test09 3.5.25.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/3.5.25.x/latest" "publish-nightly" "test09 3.5.25.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/3.5.25.G"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.6.x" "publish-nightly" "test09 1.4.6.x" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.6.A"
+ testCompositeRepositoryContent "file:${UPDATE_NIGHTLY_HOME}/streams/1.4.6.x/latest" "publish-nightly" "test09 1.4.6.x/latest" "${reports}" \
+ "file:${UPDATE_NIGHTLY_HOME}/1.4.6.A"
+}
+
+test01
+test02
+test03
+test04
+test05
+test06
+test07
+test08
+test09
+
+afterTest "${reports}"
\ No newline at end of file
diff --git a/hudson-scripts/tests/test-utils.sh b/hudson-scripts/tests/test-utils.sh
new file mode 100644
index 0000000..0111d5a
--- /dev/null
+++ b/hudson-scripts/tests/test-utils.sh
@@ -0,0 +1,157 @@
+#!/bin/sh
+# ====================================================================
+# Copyright (c) 2014 Obeo
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Obeo - initial API and implementation
+# ====================================================================
+
+LSTEST() {
+ echo "[TEST] $@"
+}
+
+LSFAILURE() {
+ echo "[FAILURE] $@"
+}
+
+LSPASS() {
+ echo "[PASS] $@"
+}
+
+assertIntEquals() {
+ local expected="${1}"
+ local actual="${2}"
+ local classname="${3}"
+ local name="${4}"
+ local file="${5}"
+ shift 5
+ if [ ${expected} -ne ${actual} ]; then
+ LSFAILURE "${classname} ${name}
+ $@
+ expected=${expected}
+ actual=${actual}"
+ echo "failure;${classname};${name};$@" >> "${file}"
+ else
+ LSPASS "${classname} ${name}"
+ echo "success;${classname};${name}" >> "${file}"
+ fi
+}
+
+assertStringEquals() {
+ local expected="${1}"
+ local actual="${2}"
+ local classname="${3}"
+ local name="${4}"
+ local file="${5}"
+ shift 5
+ if [ "${expected}" != "${actual}" ]; then
+ LSFAILURE "${classname} ${name}
+ $@
+ expected=${expected}
+ actual=${actual}"
+ echo "failure;${classname};${name};$@" >> "${file}"
+ else
+ LSPASS "${classname} ${name}"
+ echo "success;${classname};${name}" >> "${file}"
+ fi
+}
+
+testCompositeRepositoryContent() {
+ local url="${1}"
+ local classname="${2}"
+ local name="${3}"
+ local file="${4}"
+ shift 4
+ local expectedContents=("$@")
+ actualContents=( $(composite-repository -location "${url}" -list) )
+ assertIntEquals ${#expectedContents[@]} ${#actualContents[@]} \
+ "${classname}" "${name} (size)" "${file}" "Contents size of composite repository '${url}' does not match"
+ for i in ${!actualContents[*]}; do
+ assertStringEquals "${expectedContents[$i]}" "${actualContents[$i]}" \
+ "${classname}" "${name} contents(${i})" "${file}" "Contents of composite repository '${url}' does not match"
+ done
+}
+
+assertFolderDoesNotExist() {
+ local folder="${1}"
+ local classname="${2}"
+ local name="${3}"
+ local file="${4}"
+ shift 4
+ if [ -d "${folder}" ]; then
+ LSFAILURE "${classname} ${name}
+ Folder '${folder}' should not exists"
+ echo "failure;${classname};${name};Folder '${folder}' should not exists" >> "${file}"
+ else
+ LSPASS "${classname} ${name}"
+ echo "success;${classname};${name}" >> "${file}"
+ fi
+}
+
+assertEmptyFolder() {
+ local folder="${1}"
+ local classname="${2}"
+ local name="${3}"
+ local file="${4}"
+ shift 4
+ local folderContents=( $(echo "${folder}/"*) )
+ if [ "${#folderContents[@]}" -ne "0" ]; then
+ LSFAILURE "${classname} ${name}
+ Folder '${folder}' should be empty"
+ echo "failure;${classname};${name};Folder '${folder}' should be empty" >> "${file}"
+ else
+ LSPASS "${classname} ${name}"
+ echo "success;${classname};${name}" >> "${file}"
+ fi
+}
+
+toJunitXML() {
+ local file="${1}"
+ local nbTests=$(cat "${file}" | grep -v '^[ \t]*#[ \t]*' | wc -l | sed 's/ //g')
+ echo "<testsuite tests=\"${nbTests}\">"
+ IFS=$'\r\n' GLOBIGNORE='*' :; local tests=($(cat ${file} | grep -v '^[ \t]*#[ \t]*'))
+ for test in ${tests[@]}; do
+ local result=($(echo $test | cut -f 1 -d ';'))
+ local classname=($(echo $test | cut -f 2 -d ';'))
+ local name=($(echo $test | cut -f 3 -d ';'))
+ if [ "${result}" = "success" ]; then
+ echo "\t<testcase classname=\"${classname}\" name=\"$name\"/>"
+ else
+ local error=($(echo $test | cut -f 4 -d ';'))
+ echo "\t<testcase classname=\"${classname}\" name=\"$name\">"
+ echo "\t\t<failure type=\"failure\">${error}</failure>"
+ echo "\t</testcase>"
+ fi
+ done
+ echo "</testsuite>"
+}
+
+beforeTest() {
+ local reports="${1}"
+ # cleaning test folder
+ if [ -d "${ECLIPSE_DOCUMENT_ROOT}" ]; then
+ LSTEST "Removing test folder '${ECLIPSE_DOCUMENT_ROOT}'"
+ rm -rf "${ECLIPSE_DOCUMENT_ROOT}"
+ fi
+ mkdir -p "${ECLIPSE_DOCUMENT_ROOT}"
+
+ timestamp="$(date)"
+ echo "# ${timestamp}" > "${reports}"
+
+ xmlReports=$(echo "${reports}" | sed 's/\.txt/\.xml/')
+ echo "<!-- ${timestamp} -->" > "${xmlReports}"
+
+ if [ ! -d "${UPDATE_NIGHTLY_HOME}" ]; then
+ mkdir -p "${UPDATE_NIGHTLY_HOME}"
+ fi
+}
+
+afterTest() {
+ local reports="${1}"
+ xmlReports=$(echo "${reports}" | sed 's/\.txt/\.xml/')
+ toJunitXML "${reports}" >> "${xmlReports}"
+}
\ No newline at end of file