diff options
author | btolsch <btolsch@chromium.org> | 2020-04-03 01:49:40 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-04-03 09:26:13 +0000 |
commit | 31665eb818aaefbb1ad706b0f2a99846125d1321 (patch) | |
tree | b0b563ca5d7e0ce93777d6488c7891bb87098316 /cast/sender | |
parent | f954babacc6cd535d426d577d1fa0d0932539cb3 (diff) | |
download | openscreen-31665eb818aaefbb1ad706b0f2a99846125d1321.tar.gz |
Get test data path by exe path
This change makes tests that use runtime data derive the final path
relative to the source root, which is determined from the executable
path. This is hard-coded to two directories up from the executable but
is consistent with Chromium's behavior.
Bug: openscreen:104
Change-Id: I72475cc5dcdefb782ece6d4f8b75907dbe49e22e
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2125368
Commit-Queue: Brandon Tolsch <btolsch@chromium.org>
Reviewed-by: Max Yakimakha <yakimakha@chromium.org>
Diffstat (limited to 'cast/sender')
-rw-r--r-- | cast/sender/channel/cast_auth_util_unittest.cc | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/cast/sender/channel/cast_auth_util_unittest.cc b/cast/sender/channel/cast_auth_util_unittest.cc index 0b76c18b..51e4e338 100644 --- a/cast/sender/channel/cast_auth_util_unittest.cc +++ b/cast/sender/channel/cast_auth_util_unittest.cc @@ -13,6 +13,7 @@ #include "cast/common/channel/proto/cast_channel.pb.h" #include "gtest/gtest.h" #include "platform/api/time.h" +#include "platform/test/paths.h" #include "testing/util/read_file.h" #include "util/logging.h" @@ -107,7 +108,10 @@ bool ConvertTimeSeconds(const DateTime& time, uint64_t* seconds) { return true; } -#define TEST_DATA_PREFIX OPENSCREEN_TEST_DATA_DIR "cast/common/certificate/" +const std::string& GetSpecificTestDataPath() { + static std::string data_path = GetTestDataPath() + "cast/common/certificate/"; + return data_path; +} class CastAuthUtilTest : public ::testing::Test { public: @@ -121,11 +125,11 @@ class CastAuthUtilTest : public ::testing::Test { std::vector<uint8_t>* signed_data, ::cast::channel::HashAlgorithm digest_algorithm) { std::vector<std::string> chain = testing::ReadCertificatesFromPemFile( - TEST_DATA_PREFIX "certificates/chromecast_gen1.pem"); + GetSpecificTestDataPath() + "certificates/chromecast_gen1.pem"); OSP_CHECK(!chain.empty()); testing::SignatureTestData signatures = testing::ReadSignatureTestData( - TEST_DATA_PREFIX "signeddata/2ZZBG9_FA8FCA3EF91A.pem"); + GetSpecificTestDataPath() + "signeddata/2ZZBG9_FA8FCA3EF91A.pem"); AuthResponse response; @@ -161,6 +165,8 @@ class CastAuthUtilTest : public ::testing::Test { static void MangleData(std::vector<uint8_t>* data) { (*data)[0] = ~(*data)[0]; } + + const std::string& data_path_{GetSpecificTestDataPath()}; }; // Note on expiration: VerifyCredentials() depends on the system clock. In @@ -287,7 +293,7 @@ TEST_F(CastAuthUtilTest, VerifySenderNonceMissing) { TEST_F(CastAuthUtilTest, VerifyTLSCertificateSuccess) { std::vector<std::string> tls_cert_der = testing::ReadCertificatesFromPemFile( - TEST_DATA_PREFIX "certificates/test_tls_cert.pem"); + data_path_ + "certificates/test_tls_cert.pem"); std::string& der_cert = tls_cert_der[0]; const uint8_t* data = (const uint8_t*)der_cert.data(); X509* tls_cert = d2i_X509(nullptr, &data, der_cert.size()); @@ -305,7 +311,7 @@ TEST_F(CastAuthUtilTest, VerifyTLSCertificateSuccess) { TEST_F(CastAuthUtilTest, VerifyTLSCertificateTooEarly) { std::vector<std::string> tls_cert_der = testing::ReadCertificatesFromPemFile( - TEST_DATA_PREFIX "certificates/test_tls_cert.pem"); + data_path_ + "certificates/test_tls_cert.pem"); std::string& der_cert = tls_cert_der[0]; const uint8_t* data = (const uint8_t*)der_cert.data(); X509* tls_cert = d2i_X509(nullptr, &data, der_cert.size()); @@ -326,7 +332,7 @@ TEST_F(CastAuthUtilTest, VerifyTLSCertificateTooEarly) { TEST_F(CastAuthUtilTest, VerifyTLSCertificateTooLate) { std::vector<std::string> tls_cert_der = testing::ReadCertificatesFromPemFile( - TEST_DATA_PREFIX "certificates/test_tls_cert.pem"); + data_path_ + "certificates/test_tls_cert.pem"); std::string& der_cert = tls_cert_der[0]; const uint8_t* data = (const uint8_t*)der_cert.data(); X509* tls_cert = d2i_X509(nullptr, &data, der_cert.size()); @@ -390,9 +396,9 @@ bool RunTest(const DeviceCertTest& test_case) { std::unique_ptr<TrustStore> cast_trust_store; if (test_case.use_test_trust_anchors()) { crl_trust_store = testing::CreateTrustStoreFromPemFile( - TEST_DATA_PREFIX "certificates/cast_crl_test_root_ca.pem"); + GetSpecificTestDataPath() + "certificates/cast_crl_test_root_ca.pem"); cast_trust_store = testing::CreateTrustStoreFromPemFile( - TEST_DATA_PREFIX "certificates/cast_test_root_ca.pem"); + GetSpecificTestDataPath() + "certificates/cast_test_root_ca.pem"); EXPECT_FALSE(crl_trust_store->certs.empty()); EXPECT_FALSE(cast_trust_store->certs.empty()); |