aboutsummaryrefslogtreecommitdiff
path: root/cast/sender
diff options
context:
space:
mode:
authorbtolsch <btolsch@chromium.org>2020-04-03 01:49:40 -0700
committerCommit Bot <commit-bot@chromium.org>2020-04-03 09:26:13 +0000
commit31665eb818aaefbb1ad706b0f2a99846125d1321 (patch)
treeb0b563ca5d7e0ce93777d6488c7891bb87098316 /cast/sender
parentf954babacc6cd535d426d577d1fa0d0932539cb3 (diff)
downloadopenscreen-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.cc22
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());