#!/bin/bash # # Copyright 2024 Nordix Foundation. # # Licensed 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. # ALL_TEST_SCRIPTS=( \ 1-create-cmhandles.js \ 2-wait-for-cmhandles-to-be-ready.js \ 3-passthrough-read.js \ 4-id-search-no-filter.js \ 5-search-no-filter.js \ 6-id-search-public-property.js \ 7-search-public-property.js \ 8-id-search-module.js \ 9-search-module.js \ 10-mixed-load-test.js \ 11-delete-cmhandles.js \ ) pushd "$(dirname "$0")" || exit 1 echo 'Warming up JVM (warmup results will not be recorded)' for test_script in "${ALL_TEST_SCRIPTS[@]}"; do echo "[warmup] k6 run $test_script" k6 --quiet -e TOTAL_CM_HANDLES=1000 -e REGISTRATION_BATCH_SIZE=10 -e K6_MODULE_NAME="$test_script" run "$test_script" > /dev/null done printf "Test Case\tCondition\tLimit\tActual\tResult\n" > summary.log number_of_failures=0 for test_script in "${ALL_TEST_SCRIPTS[@]}"; do echo "k6 run $test_script" k6 --quiet run -e K6_MODULE_NAME="$test_script" "$test_script" >> summary.log || ((number_of_failures++)) done echo '##############################################################################################################################' echo '## K 6 P E R F O R M A N C E T E S T R E S U L T S ##' echo '##############################################################################################################################' awk -F$'\t' '{printf "%-40s%-50s%-20s%-10s%-6s\n", $1, $2, $3, $4, $5}' summary.log popd || exit 1 echo "NCMP TEST FAILURES: $number_of_failures" exit $number_of_failures