return grp.gr_gid;
}
-void restoreFile(const string &filename)
+void restoreFileInternal(const string& sourcePath, const string& targetPath)
{
- static uid_t CKM_UID = getUid(USER_NAME);
- static gid_t CKM_GID = getGid(GROUP_NAME);
- string sourcePath = string(MISC_DIR) + "/" + filename;
- string targetPath = string(RW_DATA_DIR) + "/" + filename;
-
int err, ret;
+ static const uid_t CKM_UID = getUid(USER_NAME);
+ static const gid_t CKM_GID = getGid(GROUP_NAME);
+
int sourceFd = TEMP_FAILURE_RETRY(open(sourcePath.c_str(), O_RDONLY));
err = errno;
BOOST_REQUIRE_MESSAGE(sourceFd > 0,
BOOST_REQUIRE_MESSAGE(ret != -1, "fsync() failed: " << GetErrnoString(err));
}
+void restoreFile(const string &filename)
+{
+ string sourcePath = string(MISC_DIR) + "/" + filename;
+ string targetPath = string(RW_DATA_DIR) + "/" + filename;
+
+ restoreFileInternal(sourcePath, targetPath);
+}
+
+void restoreFile(const string &filename, const string &replaced_filename)
+{
+ string sourcePath = string(MISC_DIR) + "/" + filename;
+ string targetPath = string(RW_DATA_DIR) + "/" + replaced_filename;
+
+ restoreFileInternal(sourcePath, targetPath);
+}
+
void generateRandom(size_t random_bytes, unsigned char *output)
{
if (random_bytes <= 0 || !output)
m_directAccessEnabled = false;
}
+void SchemeTest::RestoreDb32()
+{
+ m_db.reset();
+ restoreFile("key-32bit", "key-7654");
+ restoreFile("db-key-32bit", "db-key-7654");
+ restoreFile("db0-32bit", "db0-7654");
+ m_directAccessEnabled = false;
+}
+
+void SchemeTest::RestoreDb64()
+{
+ m_db.reset();
+ restoreFile("key-64bit", "key-7654");
+ restoreFile("db-key-64bit", "db-key-7654");
+ restoreFile("db0-64bit", "db0-7654");
+ m_directAccessEnabled = false;
+}
+
void SchemeTest::CheckSchemeVersion(const ItemFilter &filter, int version)
{
EnableDirectDbAccess();