From 11497fcbf107acae6aa824d88ac5c15f6fabd6f9 Mon Sep 17 00:00:00 2001 From: pulimsr Date: Sun, 19 Oct 2025 19:24:23 -0400 Subject: [PATCH 01/15] adding SERVICE_ID --- tools/scripts/build-tests/run-al2-integ-tests.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index ac8ee3af18a..0f508933c7f 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -21,6 +21,9 @@ AWS_ROLE_SESSION_NAME="$3" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest +cd PREFIX_DIR/aws-sdk-cpp +SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n \'s|.*generated/src/aws-cpp-sdk-\\([^/]*\\).*|\\1|p\' | sort -u | tr "\\n" "," | sed "s/,$//") +echo "SERVICE_ID: $SERVICE_ID" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources export sts=$(aws sts assume-role --role-arn "$TEST_ASSUME_ROLE_ARN" --role-session-name "${AWS_ROLE_SESSION_NAME}" --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]') export profile=sdk-integ-test From 4599a8a1154b44e3def4bd3fafad91fbcdc380e7 Mon Sep 17 00:00:00 2001 From: pulimsr Date: Sun, 19 Oct 2025 20:40:14 -0400 Subject: [PATCH 02/15] making PREFIX_DIR a variable --- tools/scripts/build-tests/run-al2-integ-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index 0f508933c7f..24fdcb8d1cc 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -21,7 +21,7 @@ AWS_ROLE_SESSION_NAME="$3" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest -cd PREFIX_DIR/aws-sdk-cpp +cd S{PREFIX_DIR}/aws-sdk-cpp SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n \'s|.*generated/src/aws-cpp-sdk-\\([^/]*\\).*|\\1|p\' | sort -u | tr "\\n" "," | sed "s/,$//") echo "SERVICE_ID: $SERVICE_ID" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources From 84a8e47d2ddb4438950fa83c0ab93be38457ed76 Mon Sep 17 00:00:00 2001 From: pulimsr Date: Sun, 19 Oct 2025 21:52:43 -0400 Subject: [PATCH 03/15] ls --- tools/scripts/build-tests/run-al2-integ-tests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index 24fdcb8d1cc..e7cb3ef9613 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -21,8 +21,8 @@ AWS_ROLE_SESSION_NAME="$3" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest -cd S{PREFIX_DIR}/aws-sdk-cpp -SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n \'s|.*generated/src/aws-cpp-sdk-\\([^/]*\\).*|\\1|p\' | sort -u | tr "\\n" "," | sed "s/,$//") +ls +#SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n \'s|.*generated/src/aws-cpp-sdk-\\([^/]*\\).*|\\1|p\' | sort -u | tr "\\n" "," | sed "s/,$//") echo "SERVICE_ID: $SERVICE_ID" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources export sts=$(aws sts assume-role --role-arn "$TEST_ASSUME_ROLE_ARN" --role-session-name "${AWS_ROLE_SESSION_NAME}" --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]') From ab5580ad1f19ed1ae10d05b52477c96943ef37fe Mon Sep 17 00:00:00 2001 From: pulimsr Date: Sun, 19 Oct 2025 21:57:23 -0400 Subject: [PATCH 04/15] PREFIX_DIR --- tools/scripts/build-tests/run-al2-integ-tests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index e7cb3ef9613..90c02051efc 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -21,8 +21,8 @@ AWS_ROLE_SESSION_NAME="$3" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest -ls -#SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n \'s|.*generated/src/aws-cpp-sdk-\\([^/]*\\).*|\\1|p\' | sort -u | tr "\\n" "," | sed "s/,$//") +cd ${PREFIX_DIR}/aws-sdk-cpp +SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n \'s|.*generated/src/aws-cpp-sdk-\\([^/]*\\).*|\\1|p\' | sort -u | tr "\\n" "," | sed "s/,$//") echo "SERVICE_ID: $SERVICE_ID" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources export sts=$(aws sts assume-role --role-arn "$TEST_ASSUME_ROLE_ARN" --role-session-name "${AWS_ROLE_SESSION_NAME}" --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]') From 3a905a59ca3608318d0bf66b536e6a043bae7cdb Mon Sep 17 00:00:00 2001 From: pulimsr Date: Mon, 20 Oct 2025 09:43:57 -0400 Subject: [PATCH 05/15] PREFIX_DIR --- tools/scripts/build-tests/run-al2-integ-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index 90c02051efc..817f2a25ba6 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -22,7 +22,7 @@ AWS_ROLE_SESSION_NAME="$3" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest cd ${PREFIX_DIR}/aws-sdk-cpp -SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n \'s|.*generated/src/aws-cpp-sdk-\\([^/]*\\).*|\\1|p\' | sort -u | tr "\\n" "," | sed "s/,$//") +SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//") echo "SERVICE_ID: $SERVICE_ID" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources export sts=$(aws sts assume-role --role-arn "$TEST_ASSUME_ROLE_ARN" --role-session-name "${AWS_ROLE_SESSION_NAME}" --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]') From 0ee45e4a170639cc6488455d396c61b0de0f39ed Mon Sep 17 00:00:00 2001 From: pulimsr Date: Mon, 20 Oct 2025 10:50:29 -0400 Subject: [PATCH 06/15] adding SERVICE_ID to all integ-tests files --- tools/scripts/build-tests/run-mac-integ-tests.sh | 3 +++ tools/scripts/build-tests/run-windows-integ-tests.ps1 | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/tools/scripts/build-tests/run-mac-integ-tests.sh b/tools/scripts/build-tests/run-mac-integ-tests.sh index 64f473e76f0..2d7e0735cc2 100755 --- a/tools/scripts/build-tests/run-mac-integ-tests.sh +++ b/tools/scripts/build-tests/run-mac-integ-tests.sh @@ -21,6 +21,9 @@ AWS_ROLE_SESSION_NAME="$3" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest +cd ${PREFIX_DIR}/aws-sdk-cpp +SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//") +echo "SERVICE_ID: $SERVICE_ID" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources export sts=$(aws sts assume-role --role-arn "$TEST_ASSUME_ROLE_ARN" --role-session-name "${AWS_ROLE_SESSION_NAME}" --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]') export profile=sdk-integ-test diff --git a/tools/scripts/build-tests/run-windows-integ-tests.ps1 b/tools/scripts/build-tests/run-windows-integ-tests.ps1 index 5795b0051c8..1bed016a849 100755 --- a/tools/scripts/build-tests/run-windows-integ-tests.ps1 +++ b/tools/scripts/build-tests/run-windows-integ-tests.ps1 @@ -17,6 +17,10 @@ aws configure set aws_access_key_id (${sts}[1] -replace " " -replace "`"" -repla aws configure set aws_secret_access_key (${sts}[2] -replace " " -replace "`"" -replace ",") aws configure set aws_session_token (${sts}[3] -replace " " -replace "`"" -replace ",") aws configure list +cd "${env:PREFIX_DIR}/aws-sdk-cpp" +SERVICE_ID="$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//")" +echo "SERVICE_ID: $SERVICE_ID" +cd "../.." # Run tests cd "${env:PREFIX_DIR}\\win-build" python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug From 2605a092b4b43141f202338d5641a3d69887e2ad Mon Sep 17 00:00:00 2001 From: pulimsr Date: Mon, 20 Oct 2025 14:13:41 -0400 Subject: [PATCH 07/15] adding serviceId filtering on integration tests --- tools/scripts/run_integration_tests.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tools/scripts/run_integration_tests.py b/tools/scripts/run_integration_tests.py index 616afc661e0..e106cb87a7c 100644 --- a/tools/scripts/run_integration_tests.py +++ b/tools/scripts/run_integration_tests.py @@ -17,9 +17,11 @@ def parse_arguments(): parser = argparse.ArgumentParser(description="AWSNativeSDK Run all Integration Tests") parser.add_argument("--testDir", action="store") + parser.add_argument("--serviceId", action="store") args = vars(parser.parse_args()) arg_map["testDir"] = args["testDir"] or "./build" + arg_map["serviceId"] = args["serviceId"] or "" return arg_map @@ -35,7 +37,7 @@ def main(): test_has_parent_dir = platform.system() != "Windows" exe_extension = ".exe" if platform.system() == "Windows" else "" - test_list = [ + all_tests = [ "aws-cpp-sdk-core-integration-tests", "aws-cpp-sdk-transcribestreaming-integ-tests", "aws-cpp-sdk-dynamodb-unit-tests", @@ -59,6 +61,20 @@ def main(): "aws-cpp-sdk-bedrock-runtime-integration-tests" ] + if arguments["serviceId"]: + service_ids = arguments["serviceId"].split(",") + test_list = [] + for test in all_tests: + if "core" not in test: + for service_id in service_ids: + if service_id in test: + test_list.append(test) + break + else: + test_list.append(test) + else: + test_list = all_tests.copy() + # check for existence of these binaries before adding them to tests # as they will not always be present cmake_dependent_tests = [ From 76c55209684167400feb6769e705a9662d021ef1 Mon Sep 17 00:00:00 2001 From: pulimsr Date: Mon, 20 Oct 2025 14:28:30 -0400 Subject: [PATCH 08/15] sending serviceId parameter to run_integration_tests.py --- tools/scripts/build-tests/run-al2-integ-tests.sh | 2 +- tools/scripts/build-tests/run-mac-integ-tests.sh | 2 +- tools/scripts/build-tests/run-windows-integ-tests.ps1 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index 817f2a25ba6..60929d6a83c 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -35,4 +35,4 @@ export AWS_PROFILE=$profile export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${PREFIX_DIR}/al2-install/lib64/:${PREFIX_DIR}/al2-build/tests/testing-resources/" cd "${PREFIX_DIR}/al2-build" if [ -f "${PREFIX_DIR}/aws-sdk-cpp/tools/scripts/suppressions.txt" ]; then export LSAN_OPTIONS=suppressions="${PREFIX_DIR}/aws-sdk-cpp/tools/scripts/suppressions.txt"; fi -python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./tests +python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./tests --serviceId ${SERVICE_ID} diff --git a/tools/scripts/build-tests/run-mac-integ-tests.sh b/tools/scripts/build-tests/run-mac-integ-tests.sh index 2d7e0735cc2..0b91f6bd043 100755 --- a/tools/scripts/build-tests/run-mac-integ-tests.sh +++ b/tools/scripts/build-tests/run-mac-integ-tests.sh @@ -35,4 +35,4 @@ export AWS_PROFILE=$profile export DYLD_LIBRARY_PATH="${CATAPULT_WORKSPACE_DIR}/mac-install/lib:${CATAPULT_WORKSPACE_DIR}/mac-build/tests/testing-resources/" cd "${PREFIX_DIR}/mac-build" if [ -f "${PREFIX_DIR}/aws-sdk-cpp/tools/scripts/suppressions.txt" ]; then export LSAN_OPTIONS=suppressions="${PREFIX_DIR}/aws-sdk-cpp/tools/scripts/suppressions.txt"; fi -python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./tests +python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./tests --serviceId ${SERVICE_ID} diff --git a/tools/scripts/build-tests/run-windows-integ-tests.ps1 b/tools/scripts/build-tests/run-windows-integ-tests.ps1 index 1bed016a849..711e6760c53 100755 --- a/tools/scripts/build-tests/run-windows-integ-tests.ps1 +++ b/tools/scripts/build-tests/run-windows-integ-tests.ps1 @@ -23,4 +23,4 @@ echo "SERVICE_ID: $SERVICE_ID" cd "../.." # Run tests cd "${env:PREFIX_DIR}\\win-build" -python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug +python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug --serviceId $SERVICE_ID From 65bc01c2eae59bf25ea1a7655a15544472b6aa5b Mon Sep 17 00:00:00 2001 From: pulimsr Date: Mon, 20 Oct 2025 15:43:23 -0400 Subject: [PATCH 09/15] conditional parameters --- tools/scripts/build-tests/run-al2-integ-tests.sh | 2 +- tools/scripts/build-tests/run-mac-integ-tests.sh | 2 +- tools/scripts/build-tests/run-windows-integ-tests.ps1 | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index 60929d6a83c..19635d86a08 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -35,4 +35,4 @@ export AWS_PROFILE=$profile export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${PREFIX_DIR}/al2-install/lib64/:${PREFIX_DIR}/al2-build/tests/testing-resources/" cd "${PREFIX_DIR}/al2-build" if [ -f "${PREFIX_DIR}/aws-sdk-cpp/tools/scripts/suppressions.txt" ]; then export LSAN_OPTIONS=suppressions="${PREFIX_DIR}/aws-sdk-cpp/tools/scripts/suppressions.txt"; fi -python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./tests --serviceId ${SERVICE_ID} +python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./tests --serviceId ${SERVICE_ID:-""} diff --git a/tools/scripts/build-tests/run-mac-integ-tests.sh b/tools/scripts/build-tests/run-mac-integ-tests.sh index 0b91f6bd043..403e0e8fdd0 100755 --- a/tools/scripts/build-tests/run-mac-integ-tests.sh +++ b/tools/scripts/build-tests/run-mac-integ-tests.sh @@ -35,4 +35,4 @@ export AWS_PROFILE=$profile export DYLD_LIBRARY_PATH="${CATAPULT_WORKSPACE_DIR}/mac-install/lib:${CATAPULT_WORKSPACE_DIR}/mac-build/tests/testing-resources/" cd "${PREFIX_DIR}/mac-build" if [ -f "${PREFIX_DIR}/aws-sdk-cpp/tools/scripts/suppressions.txt" ]; then export LSAN_OPTIONS=suppressions="${PREFIX_DIR}/aws-sdk-cpp/tools/scripts/suppressions.txt"; fi -python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./tests --serviceId ${SERVICE_ID} +python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./tests --serviceId ${SERVICE_ID:-""} diff --git a/tools/scripts/build-tests/run-windows-integ-tests.ps1 b/tools/scripts/build-tests/run-windows-integ-tests.ps1 index 711e6760c53..20133bb6198 100755 --- a/tools/scripts/build-tests/run-windows-integ-tests.ps1 +++ b/tools/scripts/build-tests/run-windows-integ-tests.ps1 @@ -23,4 +23,5 @@ echo "SERVICE_ID: $SERVICE_ID" cd "../.." # Run tests cd "${env:PREFIX_DIR}\\win-build" -python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug --serviceId $SERVICE_ID +$serviceIdArg = if ($SERVICE_ID) { "--serviceId $SERVICE_ID" } else { "" } +python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug serviceIdArg From 30b41a92b711920667986317324a4f8d3fa3e47c Mon Sep 17 00:00:00 2001 From: pulimsr Date: Tue, 21 Oct 2025 16:31:14 -0400 Subject: [PATCH 10/15] tests filtering --- tools/scripts/build-tests/run-windows-integ-tests.ps1 | 2 +- tools/scripts/run_integration_tests.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/scripts/build-tests/run-windows-integ-tests.ps1 b/tools/scripts/build-tests/run-windows-integ-tests.ps1 index 20133bb6198..d2cacf77e14 100755 --- a/tools/scripts/build-tests/run-windows-integ-tests.ps1 +++ b/tools/scripts/build-tests/run-windows-integ-tests.ps1 @@ -24,4 +24,4 @@ cd "../.." # Run tests cd "${env:PREFIX_DIR}\\win-build" $serviceIdArg = if ($SERVICE_ID) { "--serviceId $SERVICE_ID" } else { "" } -python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug serviceIdArg +python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug $serviceIdArg diff --git a/tools/scripts/run_integration_tests.py b/tools/scripts/run_integration_tests.py index e106cb87a7c..5627fc35f55 100644 --- a/tools/scripts/run_integration_tests.py +++ b/tools/scripts/run_integration_tests.py @@ -65,9 +65,10 @@ def main(): service_ids = arguments["serviceId"].split(",") test_list = [] for test in all_tests: - if "core" not in test: + service = test.replace('aws-cpp-sdk-', '').replace('-integration-tests', '').replace('-unit-tests', '').replace('-tests', '') + if service != "core": for service_id in service_ids: - if service_id in test: + if service_id == service: test_list.append(test) break else: From cce503c25490fd89cab216253f53106b1091ca2e Mon Sep 17 00:00:00 2001 From: pulimsr Date: Wed, 22 Oct 2025 02:40:39 -0400 Subject: [PATCH 11/15] removing echo SERVICE_ID --- tools/scripts/build-tests/run-al2-integ-tests.sh | 1 - tools/scripts/build-tests/run-mac-integ-tests.sh | 1 - tools/scripts/build-tests/run-windows-integ-tests.ps1 | 6 ++---- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index 19635d86a08..c28d35ac459 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -23,7 +23,6 @@ echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest cd ${PREFIX_DIR}/aws-sdk-cpp SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//") -echo "SERVICE_ID: $SERVICE_ID" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources export sts=$(aws sts assume-role --role-arn "$TEST_ASSUME_ROLE_ARN" --role-session-name "${AWS_ROLE_SESSION_NAME}" --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]') export profile=sdk-integ-test diff --git a/tools/scripts/build-tests/run-mac-integ-tests.sh b/tools/scripts/build-tests/run-mac-integ-tests.sh index 403e0e8fdd0..28b33938da4 100755 --- a/tools/scripts/build-tests/run-mac-integ-tests.sh +++ b/tools/scripts/build-tests/run-mac-integ-tests.sh @@ -23,7 +23,6 @@ echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest cd ${PREFIX_DIR}/aws-sdk-cpp SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//") -echo "SERVICE_ID: $SERVICE_ID" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources export sts=$(aws sts assume-role --role-arn "$TEST_ASSUME_ROLE_ARN" --role-session-name "${AWS_ROLE_SESSION_NAME}" --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]') export profile=sdk-integ-test diff --git a/tools/scripts/build-tests/run-windows-integ-tests.ps1 b/tools/scripts/build-tests/run-windows-integ-tests.ps1 index d2cacf77e14..f107eae3f24 100755 --- a/tools/scripts/build-tests/run-windows-integ-tests.ps1 +++ b/tools/scripts/build-tests/run-windows-integ-tests.ps1 @@ -18,10 +18,8 @@ aws configure set aws_secret_access_key (${sts}[2] -replace " " -replace "`"" -r aws configure set aws_session_token (${sts}[3] -replace " " -replace "`"" -replace ",") aws configure list cd "${env:PREFIX_DIR}/aws-sdk-cpp" -SERVICE_ID="$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//")" -echo "SERVICE_ID: $SERVICE_ID" +$SERVICE_ID = (git status generated/src/aws-cpp-sdk-* --porcelain | Select-String "generated/src/" | ForEach-Object { if($_ -match "generated/src/aws-cpp-sdk-([^/]*)") { $matches[1] } } | Sort-Object -Unique) -join "," cd "../.." # Run tests cd "${env:PREFIX_DIR}\\win-build" -$serviceIdArg = if ($SERVICE_ID) { "--serviceId $SERVICE_ID" } else { "" } -python3 ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug $serviceIdArg +if ($SERVICE_ID) { & python ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug --serviceId $SERVICE_ID } else { & python ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug } From ed8b8f664444868ffd6180c87b7ed732131015bb Mon Sep 17 00:00:00 2001 From: pulimsr Date: Wed, 22 Oct 2025 15:34:51 -0400 Subject: [PATCH 12/15] adding pushd popd --- tools/scripts/build-tests/run-al2-integ-tests.sh | 4 +++- tools/scripts/build-tests/run-mac-integ-tests.sh | 4 +++- tools/scripts/build-tests/run-windows-integ-tests.ps1 | 5 +++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index c28d35ac459..028bef4b912 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -21,8 +21,10 @@ AWS_ROLE_SESSION_NAME="$3" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest -cd ${PREFIX_DIR}/aws-sdk-cpp +pushd cd ${PREFIX_DIR}/aws-sdk-cpp SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//") +popd +echo "SERVICE_ID=${SERVICE_ID}" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources export sts=$(aws sts assume-role --role-arn "$TEST_ASSUME_ROLE_ARN" --role-session-name "${AWS_ROLE_SESSION_NAME}" --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]') export profile=sdk-integ-test diff --git a/tools/scripts/build-tests/run-mac-integ-tests.sh b/tools/scripts/build-tests/run-mac-integ-tests.sh index 28b33938da4..609607aaaa5 100755 --- a/tools/scripts/build-tests/run-mac-integ-tests.sh +++ b/tools/scripts/build-tests/run-mac-integ-tests.sh @@ -21,8 +21,10 @@ AWS_ROLE_SESSION_NAME="$3" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest -cd ${PREFIX_DIR}/aws-sdk-cpp +pushd cd ${PREFIX_DIR}/aws-sdk-cpp SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//") +popd +echo "Service ID: ${SERVICE_ID}" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources export sts=$(aws sts assume-role --role-arn "$TEST_ASSUME_ROLE_ARN" --role-session-name "${AWS_ROLE_SESSION_NAME}" --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]') export profile=sdk-integ-test diff --git a/tools/scripts/build-tests/run-windows-integ-tests.ps1 b/tools/scripts/build-tests/run-windows-integ-tests.ps1 index f107eae3f24..3de41c90ed8 100755 --- a/tools/scripts/build-tests/run-windows-integ-tests.ps1 +++ b/tools/scripts/build-tests/run-windows-integ-tests.ps1 @@ -17,9 +17,10 @@ aws configure set aws_access_key_id (${sts}[1] -replace " " -replace "`"" -repla aws configure set aws_secret_access_key (${sts}[2] -replace " " -replace "`"" -replace ",") aws configure set aws_session_token (${sts}[3] -replace " " -replace "`"" -replace ",") aws configure list -cd "${env:PREFIX_DIR}/aws-sdk-cpp" +pushd cd "${env:PREFIX_DIR}/aws-sdk-cpp" $SERVICE_ID = (git status generated/src/aws-cpp-sdk-* --porcelain | Select-String "generated/src/" | ForEach-Object { if($_ -match "generated/src/aws-cpp-sdk-([^/]*)") { $matches[1] } } | Sort-Object -Unique) -join "," -cd "../.." +popd +echo "Service ID: $SERVICE_ID" # Run tests cd "${env:PREFIX_DIR}\\win-build" if ($SERVICE_ID) { & python ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug --serviceId $SERVICE_ID } else { & python ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug } From 609c09a93909321b7b11949b394876625fb20f9c Mon Sep 17 00:00:00 2001 From: pulimsr Date: Wed, 22 Oct 2025 16:29:39 -0400 Subject: [PATCH 13/15] adding BUILD_TYPE condition --- tools/scripts/build-tests/run-al2-integ-tests.sh | 9 +++++---- tools/scripts/build-tests/run-mac-integ-tests.sh | 9 +++++---- tools/scripts/build-tests/run-windows-integ-tests.ps1 | 10 ++++++---- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index 028bef4b912..888cf09e59e 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -11,18 +11,19 @@ set -e -if [ "$#" -ne 3 ]; then - echo "Usage: ${0} PREFIX_DIR AWS_ACCOUNT ROLE_SESSION_NAME" +if [ "$#" -ne 4 ]; then + echo "Usage: ${0} PREFIX_DIR AWS_ACCOUNT ROLE_SESSION_NAME BUILD_TYPE" exit 1 fi PREFIX_DIR="$1" AWS_ACCOUNT="$2" AWS_ROLE_SESSION_NAME="$3" +BUILD_TYPE="$4" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest -pushd cd ${PREFIX_DIR}/aws-sdk-cpp -SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//") +pushd ${PREFIX_DIR}/aws-sdk-cpp +if [ "${BUILD_TYPE}" = "PREVIEW" ]; then SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//"); else SERVICE_ID=""; fi popd echo "SERVICE_ID=${SERVICE_ID}" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources diff --git a/tools/scripts/build-tests/run-mac-integ-tests.sh b/tools/scripts/build-tests/run-mac-integ-tests.sh index 609607aaaa5..6ea1ef0028d 100755 --- a/tools/scripts/build-tests/run-mac-integ-tests.sh +++ b/tools/scripts/build-tests/run-mac-integ-tests.sh @@ -11,18 +11,19 @@ set -e -if [ "$#" -ne 3 ]; then - echo "Usage: ${0} PREFIX_DIR AWS_ACCOUNT ROLE_SESSION_NAME" +if [ "$#" -ne 4 ]; then + echo "Usage: ${0} PREFIX_DIR AWS_ACCOUNT ROLE_SESSION_NAME BUILD_TYPE" exit 1 fi PREFIX_DIR="$1" AWS_ACCOUNT="$2" AWS_ROLE_SESSION_NAME="$3" +BUILD_TYPE="$4" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest -pushd cd ${PREFIX_DIR}/aws-sdk-cpp -SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//") +pushd ${PREFIX_DIR}/aws-sdk-cpp +if [ "${BUILD_TYPE}" = "PREVIEW" ]; then SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//"); else SERVICE_ID=""; fi popd echo "Service ID: ${SERVICE_ID}" export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources diff --git a/tools/scripts/build-tests/run-windows-integ-tests.ps1 b/tools/scripts/build-tests/run-windows-integ-tests.ps1 index 3de41c90ed8..22fe72fa39c 100755 --- a/tools/scripts/build-tests/run-windows-integ-tests.ps1 +++ b/tools/scripts/build-tests/run-windows-integ-tests.ps1 @@ -17,10 +17,12 @@ aws configure set aws_access_key_id (${sts}[1] -replace " " -replace "`"" -repla aws configure set aws_secret_access_key (${sts}[2] -replace " " -replace "`"" -replace ",") aws configure set aws_session_token (${sts}[3] -replace " " -replace "`"" -replace ",") aws configure list -pushd cd "${env:PREFIX_DIR}/aws-sdk-cpp" -$SERVICE_ID = (git status generated/src/aws-cpp-sdk-* --porcelain | Select-String "generated/src/" | ForEach-Object { if($_ -match "generated/src/aws-cpp-sdk-([^/]*)") { $matches[1] } } | Sort-Object -Unique) -join "," -popd -echo "Service ID: $SERVICE_ID" +$BUILD_TYPE=$(cat build-request.json | jq .buildType | tr -d \\) +Write-Host BUILD_TYPE:$BUILD_TYPE +Push-Location "${env:CATAPULT_WORKSPACE_DIR}\\aws-sdk-cpp" +if ($BUILD_TYPE -eq "PREVIEW") { $SERVICE_ID = (git status generated/src/aws-cpp-sdk-* --porcelain | Select-String "generated/src/" | ForEach-Object { if($_ -match "generated/src/aws-cpp-sdk-([^/]*)") { $matches[1] } } | Sort-Object -Unique) -join "," } else { $SERVICE_ID="" } +Write-Host "SERVICE_ID: $SERVICE_ID" +Pop-Location # Run tests cd "${env:PREFIX_DIR}\\win-build" if ($SERVICE_ID) { & python ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug --serviceId $SERVICE_ID } else { & python ../aws-sdk-cpp/tools/scripts/run_integration_tests.py --testDir ./bin/Debug } From c04388c97b25d4213e7b800f0fdcb58dbd255545 Mon Sep 17 00:00:00 2001 From: pulimsr Date: Thu, 23 Oct 2025 11:21:18 -0400 Subject: [PATCH 14/15] removing BUILD_TYPE as a parameter --- tools/scripts/build-tests/run-al2-integ-tests.sh | 7 ++++--- tools/scripts/build-tests/run-mac-integ-tests.sh | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index 888cf09e59e..852d9e1acbc 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -11,17 +11,18 @@ set -e -if [ "$#" -ne 4 ]; then - echo "Usage: ${0} PREFIX_DIR AWS_ACCOUNT ROLE_SESSION_NAME BUILD_TYPE" +if [ "$#" -ne 3 ]; then + echo "Usage: ${0} PREFIX_DIR AWS_ACCOUNT ROLE_SESSION_NAME" exit 1 fi PREFIX_DIR="$1" AWS_ACCOUNT="$2" AWS_ROLE_SESSION_NAME="$3" -BUILD_TYPE="$4" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest +BUILD_TYPE=$(cat build-request.json | jq .buildType | tr -d \\") +echo "BUILD_TYPE=${BUILD_TYPE}" pushd ${PREFIX_DIR}/aws-sdk-cpp if [ "${BUILD_TYPE}" = "PREVIEW" ]; then SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//"); else SERVICE_ID=""; fi popd diff --git a/tools/scripts/build-tests/run-mac-integ-tests.sh b/tools/scripts/build-tests/run-mac-integ-tests.sh index 6ea1ef0028d..c4137a4c266 100755 --- a/tools/scripts/build-tests/run-mac-integ-tests.sh +++ b/tools/scripts/build-tests/run-mac-integ-tests.sh @@ -11,17 +11,18 @@ set -e -if [ "$#" -ne 4 ]; then - echo "Usage: ${0} PREFIX_DIR AWS_ACCOUNT ROLE_SESSION_NAME BUILD_TYPE" +if [ "$#" -ne 3 ]; then + echo "Usage: ${0} PREFIX_DIR AWS_ACCOUNT ROLE_SESSION_NAME" exit 1 fi PREFIX_DIR="$1" AWS_ACCOUNT="$2" AWS_ROLE_SESSION_NAME="$3" -BUILD_TYPE="$4" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest +BUILD_TYPE=$(cat build-request.json | jq .buildType | tr -d \\") +echo "Build type: ${BUILD_TYPE}" pushd ${PREFIX_DIR}/aws-sdk-cpp if [ "${BUILD_TYPE}" = "PREVIEW" ]; then SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//"); else SERVICE_ID=""; fi popd From 9f472dd14ad6657bffcd93cbb3324362ddf172bb Mon Sep 17 00:00:00 2001 From: pulimsr Date: Thu, 23 Oct 2025 12:53:13 -0400 Subject: [PATCH 15/15] fixing syntax error --- tools/scripts/build-tests/run-al2-integ-tests.sh | 2 +- tools/scripts/build-tests/run-mac-integ-tests.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index 852d9e1acbc..dc782bed8e1 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -21,7 +21,7 @@ AWS_ROLE_SESSION_NAME="$3" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest -BUILD_TYPE=$(cat build-request.json | jq .buildType | tr -d \\") +BUILD_TYPE=$(cat build-request.json | jq .buildType | tr -d '"') echo "BUILD_TYPE=${BUILD_TYPE}" pushd ${PREFIX_DIR}/aws-sdk-cpp if [ "${BUILD_TYPE}" = "PREVIEW" ]; then SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//"); else SERVICE_ID=""; fi diff --git a/tools/scripts/build-tests/run-mac-integ-tests.sh b/tools/scripts/build-tests/run-mac-integ-tests.sh index c4137a4c266..871b452628e 100755 --- a/tools/scripts/build-tests/run-mac-integ-tests.sh +++ b/tools/scripts/build-tests/run-mac-integ-tests.sh @@ -21,7 +21,7 @@ AWS_ROLE_SESSION_NAME="$3" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest -BUILD_TYPE=$(cat build-request.json | jq .buildType | tr -d \\") +BUILD_TYPE=$(cat build-request.json | jq .buildType | tr -d '"') echo "Build type: ${BUILD_TYPE}" pushd ${PREFIX_DIR}/aws-sdk-cpp if [ "${BUILD_TYPE}" = "PREVIEW" ]; then SERVICE_ID=$(git status generated/src/aws-cpp-sdk-* --porcelain | grep "generated/src/" | sed -n 's|.*generated/src/aws-cpp-sdk-\([^/]*\).*|\1|p' | sort -u | tr "\n" "," | sed "s/,$//"); else SERVICE_ID=""; fi