summaryrefslogtreecommitdiff
path: root/datatest.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2021-03-19 17:50:37 -0400
committerJeffrey Walton <noloader@gmail.com>2021-03-19 17:50:37 -0400
commit5a587fedec11fdbef4b6d59d65e5ddd5f5db2493 (patch)
tree9f396c1f7d76337e74ad231683f93d0f87381a84 /datatest.cpp
parent462e15c192e605356588013cda7eec9c1f7f4a90 (diff)
downloadcryptopp-git-5a587fedec11fdbef4b6d59d65e5ddd5f5db2493.tar.gz
Use anonymous namespace in datatest.cpp
Diffstat (limited to 'datatest.cpp')
-rw-r--r--datatest.cpp54
1 files changed, 31 insertions, 23 deletions
diff --git a/datatest.cpp b/datatest.cpp
index c12a02b8..25ee86b8 100644
--- a/datatest.cpp
+++ b/datatest.cpp
@@ -41,8 +41,10 @@
NAMESPACE_BEGIN(CryptoPP)
NAMESPACE_BEGIN(Test)
+ANONYMOUS_NAMESPACE_BEGIN
+
typedef std::map<std::string, std::string> TestData;
-static bool s_thorough = false;
+bool s_thorough = false;
const std::string testDataFilename = "cryptest.dat";
class TestFailure : public Exception
@@ -51,9 +53,9 @@ public:
TestFailure() : Exception(OTHER_ERROR, "Validation test failed") {}
};
-static const TestData *s_currentTestData = NULLPTR;
+const TestData *s_currentTestData = NULLPTR;
-std::string TrimSpace(std::string str)
+std::string TrimSpace(const std::string& str)
{
if (str.empty()) return "";
@@ -69,7 +71,7 @@ std::string TrimSpace(std::string str)
return "";
}
-std::string TrimComment(std::string str)
+std::string TrimComment(const std::string& str)
{
if (str.empty()) return "";
@@ -81,7 +83,7 @@ std::string TrimComment(std::string str)
return TrimSpace(str);
}
-static void OutputTestData(const TestData &v)
+void OutputTestData(const TestData &v)
{
std::cerr << "\n";
for (TestData::const_iterator i = v.begin(); i != v.end(); ++i)
@@ -90,19 +92,19 @@ static void OutputTestData(const TestData &v)
}
}
-static void SignalTestFailure()
+void SignalTestFailure()
{
OutputTestData(*s_currentTestData);
throw TestFailure();
}
-static void SignalUnknownAlgorithmError(const std::string& algType)
+void SignalUnknownAlgorithmError(const std::string& algType)
{
OutputTestData(*s_currentTestData);
throw Exception(Exception::OTHER_ERROR, "Unknown algorithm " + algType + " during validation test");
}
-static void SignalTestError(const char* msg = NULLPTR)
+void SignalTestError(const char* msg = NULLPTR)
{
OutputTestData(*s_currentTestData);
@@ -480,14 +482,22 @@ void TestAsymmetricCipher(TestData &v, unsigned int &totalTests)
std::string name = GetRequiredDatum(v, "Name");
std::string test = GetRequiredDatum(v, "Test");
- member_ptr<PK_Encryptor> encryptor(ObjectFactoryRegistry<PK_Encryptor>::Registry().CreateObject(name.c_str()));
- member_ptr<PK_Decryptor> decryptor(ObjectFactoryRegistry<PK_Decryptor>::Registry().CreateObject(name.c_str()));
+ static member_ptr<PK_Encryptor> encryptor;
+ static member_ptr<PK_Decryptor> decryptor;
+ static std::string lastName;
- // Code coverage
- (void)encryptor->AlgorithmName();
- (void)decryptor->AlgorithmName();
- (void)encryptor->AlgorithmProvider();
- (void)decryptor->AlgorithmProvider();
+ if (name != lastName)
+ {
+ encryptor.reset(ObjectFactoryRegistry<PK_Encryptor>::Registry().CreateObject(name.c_str()));
+ decryptor.reset(ObjectFactoryRegistry<PK_Decryptor>::Registry().CreateObject(name.c_str()));
+ lastName = name;
+
+ // Code coverage
+ (void)encryptor->AlgorithmName();
+ (void)decryptor->AlgorithmName();
+ (void)encryptor->AlgorithmProvider();
+ (void)decryptor->AlgorithmProvider();
+ }
std::string keyFormat = GetRequiredDatum(v, "KeyFormat");
@@ -661,7 +671,7 @@ void TestSymmetricCipher(TestData &v, const NameValuePairs &overrideParameters,
}
StreamTransformationFilter encFilter(*encryptor, new StringSink(encrypted),
- static_cast<BlockPaddingSchemeDef::BlockPaddingScheme>(paddingScheme));
+ static_cast<BlockPaddingSchemeDef::BlockPaddingScheme>(paddingScheme));
StringStore pstore(plaintext);
RandomizedTransfer(pstore, encFilter, true);
@@ -689,7 +699,7 @@ void TestSymmetricCipher(TestData &v, const NameValuePairs &overrideParameters,
std::string decrypted;
StreamTransformationFilter decFilter(*decryptor, new StringSink(decrypted),
- static_cast<BlockPaddingSchemeDef::BlockPaddingScheme>(paddingScheme));
+ static_cast<BlockPaddingSchemeDef::BlockPaddingScheme>(paddingScheme));
StringStore cstore(encrypted);
RandomizedTransfer(cstore, decFilter, true);
@@ -796,11 +806,7 @@ void TestSymmetricCipherWithFileSource(TestData &v, const NameValuePairs &overri
std::string encrypted, ciphertext;
StreamTransformationFilter encFilter(*encryptor, new StringSink(encrypted),
- static_cast<BlockPaddingSchemeDef::BlockPaddingScheme>(paddingScheme));
-
- //StringStore pstore(plaintext);
- //RandomizedTransfer(pstore, encFilter, true);
- //encFilter.MessageEnd();
+ static_cast<BlockPaddingSchemeDef::BlockPaddingScheme>(paddingScheme));
StringSource ss(plaintext, true, new FileSink(testDataFilename.c_str()));
FileSource pstore(testDataFilename.c_str(), true);
@@ -820,7 +826,7 @@ void TestSymmetricCipherWithFileSource(TestData &v, const NameValuePairs &overri
std::string decrypted;
StreamTransformationFilter decFilter(*decryptor, new StringSink(decrypted),
- static_cast<BlockPaddingSchemeDef::BlockPaddingScheme>(paddingScheme));
+ static_cast<BlockPaddingSchemeDef::BlockPaddingScheme>(paddingScheme));
StringStore cstore(encrypted);
RandomizedTransfer(cstore, decFilter, true);
@@ -1267,6 +1273,8 @@ void TestDataFile(std::string filename, const NameValuePairs &overrideParameters
}
}
+ANONYMOUS_NAMESPACE_END
+
bool RunTestDataFile(const char *filename, const NameValuePairs &overrideParameters, bool thorough)
{
s_thorough = thorough;