123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- #!/usr/bin/env bash
- # shellcheck disable=SC2034
- # unused variables are global in nature and used in testsupport.sh
- test
- set -eo pipefail
- # Licensed to the Apache Software Foundation (ASF) under one or more
- # contributor license agreements. See the NOTICE file distributed with
- # this work for additional information regarding copyright ownership.
- # The ASF licenses this file to You under the Apache License, Version 2.0
- # (the "License"); you may not use this file except in compliance with
- # the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- # shellcheck disable=SC1091
- . dev-support/testrun-scripts/testsupport.sh
- init
- resourceDir=src/test/resources/
- logdir=dev-support/testlogs/
- azureTestXml=azure-auth-keys.xml
- azureTestXmlPath=$resourceDir$azureTestXml
- processCount=8
- ## SECTION: TEST COMBINATION METHODS
- runHNSOAuthTest()
- {
- accountName=$(xmlstarlet sel -t -v '//property[name = "fs.azure.hnsTestAccountName"]/value' -n $azureTestXmlPath)
- PROPERTIES=("fs.azure.account.auth.type")
- VALUES=("OAuth")
- triggerRun "HNS-OAuth" "$accountName" "$runTest" $processCount "$cleanUpTestContainers"
- }
- runHNSSharedKeyTest()
- {
- accountName=$(xmlstarlet sel -t -v '//property[name = "fs.azure.hnsTestAccountName"]/value' -n $azureTestXmlPath)
- PROPERTIES=("fs.azure.account.auth.type")
- VALUES=("SharedKey")
- triggerRun "HNS-SharedKey" "$accountName" "$runTest" $processCount "$cleanUpTestContainers"
- }
- runNonHNSSharedKeyTest()
- {
- accountName=$(xmlstarlet sel -t -v '//property[name = "fs.azure.nonHnsTestAccountName"]/value' -n $azureTestXmlPath)
- PROPERTIES=("fs.azure.account.auth.type")
- VALUES=("SharedKey")
- triggerRun "NonHNS-SharedKey" "$accountName" "$runTest" $processCount "$cleanUpTestContainers"
- }
- runAppendBlobHNSOAuthTest()
- {
- accountName=$(xmlstarlet sel -t -v '//property[name = "fs.azure.hnsTestAccountName"]/value' -n $azureTestXmlPath)
- PROPERTIES=("fs.azure.account.auth.type" "fs.azure.test.appendblob.enabled")
- VALUES=("OAuth" "true")
- triggerRun "AppendBlob-HNS-OAuth" "$accountName" "$runTest" $processCount "$cleanUpTestContainers"
- }
- runTest=false
- cleanUpTestContainers=false
- echo 'Ensure below are complete before running script:'
- echo '1. Account specific settings file is present.'
- echo ' Copy accountName_settings.xml.template to accountName_settings.xml'
- echo ' where accountName in copied file name should be the test account name without domain'
- echo ' (accountName_settings.xml.template is present in src/test/resources/accountName_settings'
- echo ' folder. New account settings file to be added to same folder.)'
- echo ' Follow instructions in the template to populate settings correctly for the account'
- echo '2. In azure-auth-keys.xml, update properties fs.azure.hnsTestAccountName and fs.azure.nonHnsTestAccountName'
- echo ' where accountNames should be the test account names without domain'
- echo ' '
- echo ' '
- echo 'Choose action:'
- echo '[Note - SET_ACTIVE_TEST_CONFIG will help activate the config for IDE/single test class runs]'
- select scriptMode in SET_ACTIVE_TEST_CONFIG RUN_TEST CLEAN_UP_OLD_TEST_CONTAINERS SET_OR_CHANGE_TEST_ACCOUNT PRINT_LOG4J_LOG_PATHS_FROM_LAST_RUN
- do
- case $scriptMode in
- SET_ACTIVE_TEST_CONFIG)
- runTest=false
- break
- ;;
- RUN_TEST)
- runTest=true
- read -r -p "Enter parallel test run process count [default - 8]: " processCount
- processCount=${processCount:-8}
- break
- ;;
- CLEAN_UP_OLD_TEST_CONTAINERS)
- runTest=false
- cleanUpTestContainers=true
- break
- ;;
- SET_OR_CHANGE_TEST_ACCOUNT)
- runTest=false
- cleanUpTestContainers=false
- accountSettingsFile="src/test/resources/azure-auth-keys.xml"
- if [[ ! -f "$accountSettingsFile" ]];
- then
- logOutput "No settings present. Creating new settings file ($accountSettingsFile) from template"
- cp src/test/resources/azure-auth-keys.xml.template $accountSettingsFile
- fi
- vi $accountSettingsFile
- exit 0
- break
- ;;
- PRINT_LOG4J_LOG_PATHS_FROM_LAST_RUN)
- runTest=false
- cleanUpTestContainers=false
- logFilePaths=/tmp/logPaths
- find target/ -name "*output.txt" > $logFilePaths
- logOutput "$(cat $logFilePaths)"
- rm $logFilePaths
- exit 0
- break
- ;;
- *) logOutput "ERROR: Invalid selection"
- ;;
- esac
- done
- ## SECTION: COMBINATION DEFINITIONS AND TRIGGER
- echo ' '
- echo 'Set the active test combination to run the action:'
- select combo in HNS-OAuth HNS-SharedKey nonHNS-SharedKey AppendBlob-HNS-OAuth AllCombinationsTestRun Quit
- do
- case $combo in
- HNS-OAuth)
- runHNSOAuthTest
- break
- ;;
- HNS-SharedKey)
- runHNSSharedKeyTest
- break
- ;;
- nonHNS-SharedKey)
- runNonHNSSharedKeyTest
- break
- ;;
- AppendBlob-HNS-OAuth)
- runAppendBlobHNSOAuthTest
- break
- ;;
- AllCombinationsTestRun)
- if [ $runTest == false ]
- then
- logOutput "ERROR: Invalid selection for SET_ACTIVE_TEST_CONFIG. This is applicable only for RUN_TEST."
- break
- fi
- runHNSOAuthTest
- runHNSSharedKeyTest
- runNonHNSSharedKeyTest
- runAppendBlobHNSOAuthTest ## Keep this as the last run scenario always
- break
- ;;
- Quit)
- exit 0
- ;;
- *) logOutput "ERROR: Invalid selection"
- ;;
- esac
- done
- if [ $runTest == true ]
- then
- printAggregate
- fi
|