}
+function copy_archives () {
+
+ # Create additional archive if workspace variable is set.
+ # This way if script is running in jenkins all will be
+ # automatically archived to logs.fd.io.
+ #
+ # Variables read:
+ # - WORKSPACE - Jenkins workspace, copy only if the value is not empty.
+ # Can be unset, then it speeds up manual testing.
+ # - ARCHIVE_DIR - Path to directory with content to be copied.
+ # Directories updated:
+ # - ${WORKSPACE}/archives/ - Created if does not exist.
+ # Content of ${ARCHIVE_DIR}/ is copied here.
+ # Functions called:
+ # - die - Print to stderr and exit.
+
+ set -exuo pipefail
+
+ if [[ -n "${WORKSPACE-}" ]]; then
+ mkdir -p "${WORKSPACE}/archives/" || die "Archives dir create failed."
+ cp -rf "${ARCHIVE_DIR}"/* "${WORKSPACE}/archives" || die "Copy failed."
+ fi
+}
+
+
function deactivate_docker_topology () {
# Deactivate virtual vpp-device topology by removing containers.
}
-function select_os () {
+function select_arch_os () {
- # Populate variables related to local operating system.
- #
- # Also install any missing prerequisities CSIT tests need.
- # TODO: Move the installation to a separate function?
+ # Set variables affected by local CPU architecture and operating system.
#
# Variables set:
- # - VPP_VER_FILE - Name of File in CSIT dir containing vpp stable version.
- # - IMAGE_VER_FILE - Name of File in CSIT dir containing the image name.
+ # - VPP_VER_FILE - Name of file in CSIT dir containing vpp stable version.
+ # - IMAGE_VER_FILE - Name of file in CSIT dir containing the image name.
# - PKG_SUFFIX - Suffix of OS package file name, "rpm" or "deb."
set -exuo pipefail
PKG_SUFFIX="rpm"
;;
*)
- die "Unable to identify distro or os from ${OS}"
+ die "Unable to identify distro or os from ${os_id}"
+ ;;
+ esac
+
+ arch=$(uname -m) || {
+ die "Get CPU architecture failed."
+ }
+
+ case "${arch}" in
+ "aarch64")
+ IMAGE_VER_FILE="${IMAGE_VER_FILE}_ARM"
+ ;;
+ *)
;;
esac
}
;;
esac
+ sed_nic_sub_cmd="sed s/\${default_nic}/${default_nic}/"
# Tag file directory shorthand.
tfd="${BASH_FUNCTION_DIR}"
case "${TEST_CODE}" in
readarray -t test_tag_array < "${tfd}/mlr-weekly.txt" || die
;;
*"mrr-daily"* )
- readarray -t test_tag_array < \
- "${tfd}/mrr-daily-${FLAVOR}.txt" || die
+ readarray -t test_tag_array <<< $(${sed_nic_sub_cmd} \
+ ${tfd}/mrr-daily-${FLAVOR}.txt) || die
;;
*"mrr-weekly"* )
readarray -t test_tag_array < "${tfd}/mrr-weekly.txt" || die
test_tag_array+=("!drv_avf")
;;
*"3n-tsh"*)
+ # 3n-tsh only has x520 NICs which don't work with AVF
+ test_tag_array+=("!drv_avf")
test_tag_array+=("!ipsechw")
- test_tag_array+=("!memif")
- test_tag_array+=("!srv6_proxy")
- test_tag_array+=("!vhost")
- test_tag_array+=("!vts")
;;
*"3n-hsw"*)
# TODO: Introduce NOIOMMU version of AVF tests.
;;
"3n_tsh")
TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_tsh*.yaml )
- TOPOLOGIES_TAGS="3_node_*_link_topo"
+ TOPOLOGIES_TAGS="3_node_single_link_topo"
;;
*)
# No falling back to 3n_hsw default, that should have been done