Aws-sdk-cpp: Three test failures on macOS if AWS_DEFAULT_PROFILE is set in the environment

Created on 12 Jun 2019  路  5Comments  路  Source: aws/aws-sdk-cpp

What platform/OS are you using?

Darwin / macOS Mojave 10.14.5 (18F203)

Which version of the SDK?

Both tag 1.7.121 and master.

What compiler are you using? what version?

$ clang -v
Apple LLVM version 10.0.1 (clang-1001.0.46.4)

What are your CMake arguments?

cmake -DTARGET_ARCH="Apple" \
    -DCMAKE_BUILD_TYPE="Release" \
    -DCMAKE_INSTALL_PREFIX="/my/install/path" \
    -DBUILD_ONLY="gamelift" "path/to/aws-sdk-cpp"

Can you provide a TRACE level log? (sanitize any sensitive information)

Sure, just let me know where I can find it and I'll attach it.

Repro case

With AWS_DEFAULT_PROFILE set:

$ export AWS_DEFAULT_PROFILE=myprofile
$ cmake ...
$ make -j12 install
...
[----------] 1 test from ProfileConfigFileAWSCredentialsProviderTest
[ RUN      ] ProfileConfigFileAWSCredentialsProviderTest.TestDefaultConfig
.../aws-sdk-cpp/aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp:79: Failure
Expected equality of these values:
  "DefaultAccessKey"
  provider.GetAWSCredentials().GetAWSAccessKeyId().c_str()
    Which is: ""
.../aws-sdk-cpp/aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp:80: Failure
Expected equality of these values:
  "DefaultSecretKey"
  provider.GetAWSCredentials().GetAWSSecretKey().c_str()
    Which is: ""
[  FAILED  ] ProfileConfigFileAWSCredentialsProviderTest.TestDefaultConfig (2 ms)
[----------] 1 test from ProfileConfigFileAWSCredentialsProviderTest (2 ms total)
...
[ RUN      ] ProcessCredentialsProviderTest.TestProcessCredentialsProviderDoNotRefresh
.../aws-sdk-cpp/aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp:559: Failure
Expected equality of these values:
  "AccessKey456"
  credsOne.GetAWSAccessKeyId().c_str()
    Which is: ""
.../aws-sdk-cpp/aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp:560: Failure
Expected equality of these values:
  "SecretKey654"
  credsOne.GetAWSSecretKey().c_str()
    Which is: ""
.../aws-sdk-cpp/aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp:571: Failure
Value of: credsTwo.IsEmpty()
  Actual: true
Expected: false
.../aws-sdk-cpp/aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp:572: Failure
Expected equality of these values:
  "AccessKey456"
  credsTwo.GetAWSAccessKeyId().c_str()
    Which is: ""
.../aws-sdk-cpp/aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp:573: Failure
Expected equality of these values:
  "SecretKey654"
  credsTwo.GetAWSSecretKey().c_str()
    Which is: ""
[  FAILED  ] ProcessCredentialsProviderTest.TestProcessCredentialsProviderDoNotRefresh (2 ms)
[ RUN      ] ProcessCredentialsProviderTest.TestProcessCredentialsProviderExpiredThenRefreshed
.../aws-sdk-cpp/aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp:519: Failure
Expected: (credsOne) != (credsTwo), actual: 72-byte object <00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00> vs 72-byte object <00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00>
.../aws-sdk-cpp/aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp:520: Failure
Value of: credsTwo.IsEmpty()
  Actual: true
Expected: false
.../aws-sdk-cpp/aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp:521: Failure
Expected equality of these values:
  "AccessKey321"
  credsTwo.GetAWSAccessKeyId().c_str()
    Which is: ""
.../aws-sdk-cpp/aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp:522: Failure
Expected equality of these values:
  "SecretKey123"
  credsTwo.GetAWSSecretKey().c_str()
    Which is: ""
[  FAILED  ] ProcessCredentialsProviderTest.TestProcessCredentialsProviderExpiredThenRefreshed (1 ms)
[----------] 4 tests from ProcessCredentialsProviderTest (5 ms total)
...
[----------] Global test environment tear-down
[==========] 316 tests from 51 test cases ran. (684 ms total)
[  PASSED  ] 313 tests.
[  FAILED  ] 3 tests, listed below:
[  FAILED  ] ProfileConfigFileAWSCredentialsProviderTest.TestDefaultConfig
[  FAILED  ] ProcessCredentialsProviderTest.TestProcessCredentialsProviderDoNotRefresh
[  FAILED  ] ProcessCredentialsProviderTest.TestProcessCredentialsProviderExpiredThenRefreshed

 3 FAILED TESTS
make[2]: *** [aws-cpp-sdk-core-tests/aws-cpp-sdk-core-tests] Error 1
make[2]: *** Deleting file `aws-cpp-sdk-core-tests/aws-cpp-sdk-core-tests'
make[1]: *** [aws-cpp-sdk-core-tests/CMakeFiles/aws-cpp-sdk-core-tests.dir/all] Error 2

Without AWS_DEFAULT_PROFILE set:

$ unset AWS_DEFAULT_PROFILE
$ cmake ...
$ make -j12 install
...
[----------] Global test environment tear-down
[==========] 316 tests from 51 test cases ran. (675 ms total)
[  PASSED  ] 316 tests.
bug

All 5 comments

Thanks for reporting, we will take a look at it.

Update: I can reproduce this error. I will investigate it.

We have found the root cause and submitted an internal PR, will get it merged ASAP. Thanks again for your finding and report.

This has been fixed in v1.7.125

Confirmed fixed in 1.7.125. Thank you!

Was this page helpful?
0 / 5 - 0 ratings