summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris+github@qwirx.com>2010-08-27 09:24:18 +0000
committerChris Wilson <chris+github@qwirx.com>2010-08-27 09:24:18 +0000
commitda86f00567dbddf1f498f5ce707b18379af55371 (patch)
treedc933f321581f74b2ba1c5bbeff8b251f4eda802
parent4724bc959f27d8c6cde468b6a2921425bae8bc21 (diff)
Test that numbers of files are adjusted correctly during normal store
operations.
-rw-r--r--test/backupstore/testbackupstore.cpp185
1 files changed, 133 insertions, 52 deletions
diff --git a/test/backupstore/testbackupstore.cpp b/test/backupstore/testbackupstore.cpp
index 646e6b45..3feb5ce9 100644
--- a/test/backupstore/testbackupstore.cpp
+++ b/test/backupstore/testbackupstore.cpp
@@ -919,11 +919,14 @@ std::auto_ptr<SocketStreamTLS> open_conn(const char *hostname,
return conn;
}
-std::auto_ptr<BackupProtocolClient> test_server_login(SocketStreamTLS& rConn)
+std::auto_ptr<BackupProtocolClient> test_server_login(const char *hostname,
+ TLSContext& rContext, std::auto_ptr<SocketStreamTLS>& rapConn)
{
+ rapConn = open_conn(hostname, rContext);
+
// Make a protocol
std::auto_ptr<BackupProtocolClient> protocol(new
- BackupProtocolClient(rConn));
+ BackupProtocolClient(*rapConn));
// Check the version
std::auto_ptr<BackupProtocolClientVersion> serverVersion(
@@ -948,13 +951,35 @@ void run_housekeeping(BackupStoreAccountDatabase::Entry& rAccount)
housekeeping.DoHousekeeping(true /* keep trying forever */);
}
+// Run housekeeping (for which we need to disconnect ourselves) and check
+// that it doesn't change the numbers of files.
+//
+// Also check that bbstoreaccounts doesn't change anything
+
+void run_housekeeping_and_check_account(const char *hostname,
+ TLSContext& rContext, std::auto_ptr<SocketStreamTLS>& rapConn,
+ std::auto_ptr<BackupProtocolClient>& rapProtocol)
+{
+ rapProtocol->QueryFinished();
+ std::auto_ptr<BackupStoreAccountDatabase> apAccounts(
+ BackupStoreAccountDatabase::Read("testfiles/accounts.txt"));
+ BackupStoreAccountDatabase::Entry account =
+ apAccounts->GetEntry(0x1234567);
+ run_housekeeping(account);
+
+ TEST_THAT(::system(BBSTOREACCOUNTS
+ " -c testfiles/bbstored.conf check 01234567 fix") == 0);
+ TestRemoteProcessMemLeaks("bbstoreaccounts.memleaks");
+
+ rapProtocol = test_server_login(hostname, rContext, rapConn);
+}
+
int test_server(const char *hostname)
{
TLSContext context;
- std::auto_ptr<SocketStreamTLS> conn = open_conn(hostname, context);
- std::auto_ptr<BackupProtocolClient> apProtocol(
- test_server_login(*conn));
- BackupProtocolClient& protocol(*apProtocol);
+ std::auto_ptr<SocketStreamTLS> conn;
+ std::auto_ptr<BackupProtocolClient> apProtocol =
+ test_server_login(hostname, context, conn);
// Make some test attributes
#define ATTR1_SIZE 245
@@ -975,7 +1000,7 @@ int test_server(const char *hostname)
// Get it logging
FILE *protocolLog = ::fopen("testfiles/protocol.log", "w");
TEST_THAT(protocolLog != 0);
- protocol.SetLogToFile(protocolLog);
+ apProtocol->SetLogToFile(protocolLog);
#ifndef WIN32
// Check that we can't open a new connection which requests write permissions
@@ -993,7 +1018,7 @@ int test_server(const char *hostname)
#endif
// Set the client store marker
- protocol.QuerySetClientStoreMarker(0x8732523ab23aLL);
+ apProtocol->QuerySetClientStoreMarker(0x8732523ab23aLL);
#ifndef WIN32
// Open a new connection which is read only
@@ -1019,7 +1044,27 @@ int test_server(const char *hostname)
BackupProtocolClient& protocolReadOnly(protocol);
#endif
- test_server_1(protocol, protocolReadOnly);
+ test_server_1(*apProtocol, protocolReadOnly);
+
+ #define TEST_NUM_FILES(files, old, deleted, dirs) \
+ { \
+ std::auto_ptr<BackupStoreInfo> apInfo = \
+ BackupStoreInfo::Load(0x1234567, \
+ "backup/01234567/", 0, true); \
+ TEST_EQUAL_LINE(files, apInfo->GetNumFiles(), \
+ "num files"); \
+ TEST_EQUAL_LINE(old, apInfo->GetNumOldFiles(), \
+ "old files"); \
+ TEST_EQUAL_LINE(deleted, apInfo->GetNumDeletedFiles(), \
+ "deleted files"); \
+ TEST_EQUAL_LINE(dirs, apInfo->GetNumDirectories(), \
+ "directories"); \
+ }
+
+ TEST_NUM_FILES(1, 0, 0, 1);
+ run_housekeeping_and_check_account(hostname, context,
+ conn, apProtocol);
+ TEST_NUM_FILES(1, 0, 0, 1);
// sleep to ensure that the timestamp on the file will change
::safe_sleep(1);
@@ -1033,15 +1078,15 @@ int test_server(const char *hostname)
std::string filename("testfiles/test");
filename += uploads[t].fnextra;
int64_t modtime = 0;
-
+
std::auto_ptr<IOStream> upload(BackupStoreFile::EncodeFile(filename.c_str(), BackupProtocolClientListDirectory::RootDirectory, uploads[t].name, &modtime));
TEST_THAT(modtime != 0);
- std::auto_ptr<BackupProtocolClientSuccess> stored(protocol.QueryStoreFile(
+ std::auto_ptr<BackupProtocolClientSuccess> stored(apProtocol->QueryStoreFile(
BackupProtocolClientListDirectory::RootDirectory,
modtime,
modtime, /* use it for attr hash too */
- 0, /* diff from ID */
+ 0, /* diff from ID */
uploads[t].name,
*upload));
uploads[t].allocated_objid = stored->GetObjectID();
@@ -1051,40 +1096,49 @@ int test_server(const char *hostname)
BOX_TRACE("wrote file " << filename << " to server "
"as object " <<
BOX_FORMAT_OBJECTID(stored->GetObjectID()));
+ TEST_NUM_FILES(t + 2, 0, 0, 1);
+
+ run_housekeeping_and_check_account(hostname, context,
+ conn, apProtocol);
+ TEST_NUM_FILES(t + 2, 0, 0, 1);
}
// Add some attributes onto one of them
{
+ TEST_NUM_FILES(UPLOAD_NUM + 1, 0, 0, 1);
MemBlockStream attrnew(attr3, sizeof(attr3));
- std::auto_ptr<BackupProtocolClientSuccess> set(protocol.QuerySetReplacementFileAttributes(
+ std::auto_ptr<BackupProtocolClientSuccess> set(apProtocol->QuerySetReplacementFileAttributes(
BackupProtocolClientListDirectory::RootDirectory,
32498749832475LL,
uploads[UPLOAD_ATTRS_EN].name,
attrnew));
TEST_THAT(set->GetObjectID() == uploads[UPLOAD_ATTRS_EN].allocated_objid);
+ TEST_NUM_FILES(UPLOAD_NUM + 1, 0, 0, 1);
}
// Delete one of them (will implicitly delete an old version)
{
- std::auto_ptr<BackupProtocolClientSuccess> del(protocol.QueryDeleteFile(
+ std::auto_ptr<BackupProtocolClientSuccess> del(apProtocol->QueryDeleteFile(
BackupProtocolClientListDirectory::RootDirectory,
uploads[UPLOAD_DELETE_EN].name));
TEST_THAT(del->GetObjectID() == uploads[UPLOAD_DELETE_EN].allocated_objid);
+ TEST_NUM_FILES(UPLOAD_NUM, 0, 1, 1);
}
+
// Check that the block index can be obtained by name even though it's been deleted
{
// Fetch the raw object
{
FileStream out("testfiles/downloaddelobj", O_WRONLY | O_CREAT);
- std::auto_ptr<BackupProtocolClientSuccess> getobj(protocol.QueryGetObject(uploads[UPLOAD_DELETE_EN].allocated_objid));
- std::auto_ptr<IOStream> objstream(protocol.ReceiveStream());
+ std::auto_ptr<BackupProtocolClientSuccess> getobj(apProtocol->QueryGetObject(uploads[UPLOAD_DELETE_EN].allocated_objid));
+ std::auto_ptr<IOStream> objstream(apProtocol->ReceiveStream());
objstream->CopyStreamTo(out);
}
// query index and test
- std::auto_ptr<BackupProtocolClientSuccess> getblockindex(protocol.QueryGetBlockIndexByName(
+ std::auto_ptr<BackupProtocolClientSuccess> getblockindex(apProtocol->QueryGetBlockIndexByName(
BackupProtocolClientListDirectory::RootDirectory, uploads[UPLOAD_DELETE_EN].name));
TEST_THAT(getblockindex->GetObjectID() == uploads[UPLOAD_DELETE_EN].allocated_objid);
- std::auto_ptr<IOStream> blockIndexStream(protocol.ReceiveStream());
+ std::auto_ptr<IOStream> blockIndexStream(apProtocol->ReceiveStream());
TEST_THAT(check_block_index("testfiles/downloaddelobj", *blockIndexStream));
}
@@ -1092,9 +1146,9 @@ int test_server(const char *hostname)
for(int t = 0; t < UPLOAD_NUM; ++t)
{
printf("%d\n", t);
- std::auto_ptr<BackupProtocolClientSuccess> getFile(protocol.QueryGetFile(BackupProtocolClientListDirectory::RootDirectory, uploads[t].allocated_objid));
+ std::auto_ptr<BackupProtocolClientSuccess> getFile(apProtocol->QueryGetFile(BackupProtocolClientListDirectory::RootDirectory, uploads[t].allocated_objid));
TEST_THAT(getFile->GetObjectID() == uploads[t].allocated_objid);
- std::auto_ptr<IOStream> filestream(protocol.ReceiveStream());
+ std::auto_ptr<IOStream> filestream(apProtocol->ReceiveStream());
test_test_file(t, *filestream);
}
@@ -1106,7 +1160,7 @@ int test_server(const char *hostname)
check_dir_after_uploads(protocolReadOnly, attrtest);
printf("done.\n\n");
// And on the read/write one
- check_dir_after_uploads(protocol, attrtest);
+ check_dir_after_uploads(*apProtocol, attrtest);
}
// sleep to ensure that the timestamp on the file will change
@@ -1128,12 +1182,34 @@ int test_server(const char *hostname)
out.Write(buf, TEST_FILE_FOR_PATCHING_SIZE - TEST_FILE_FOR_PATCHING_PATCH_AT);
::free(buf);
}
+
+ TEST_NUM_FILES(UPLOAD_NUM, 0, 1, 1);
+
+ // Run housekeeping (for which we need to disconnect
+ // ourselves) and check that it doesn't change the numbers
+ // of files
+ apProtocol->QueryFinished();
+ std::auto_ptr<BackupStoreAccountDatabase> apAccounts(
+ BackupStoreAccountDatabase::Read("testfiles/accounts.txt"));
+ BackupStoreAccountDatabase::Entry account =
+ apAccounts->GetEntry(0x1234567);
+ run_housekeeping(account);
+
+ // Also check that bbstoreaccounts doesn't change anything
+ TEST_THAT_ABORTONFAIL(::system(BBSTOREACCOUNTS
+ " -c testfiles/bbstored.conf check 01234567 fix") == 0);
+ TestRemoteProcessMemLeaks("bbstoreaccounts.memleaks");
+
+ apProtocol = test_server_login(hostname, context, conn);
+
+ TEST_NUM_FILES(UPLOAD_NUM, 0, 1, 1);
+
{
// Fetch the block index for this one
- std::auto_ptr<BackupProtocolClientSuccess> getblockindex(protocol.QueryGetBlockIndexByName(
+ std::auto_ptr<BackupProtocolClientSuccess> getblockindex(apProtocol->QueryGetBlockIndexByName(
BackupProtocolClientListDirectory::RootDirectory, uploads[UPLOAD_PATCH_EN].name));
TEST_THAT(getblockindex->GetObjectID() == uploads[UPLOAD_PATCH_EN].allocated_objid);
- std::auto_ptr<IOStream> blockIndexStream(protocol.ReceiveStream());
+ std::auto_ptr<IOStream> blockIndexStream(apProtocol->ReceiveStream());
// Do the patching
bool isCompletelyDifferent = false;
@@ -1160,7 +1236,7 @@ int test_server(const char *hostname)
int64_t patchedID = 0;
{
FileStream uploadpatch(TEST_FILE_FOR_PATCHING ".patch");
- std::auto_ptr<BackupProtocolClientSuccess> stored(protocol.QueryStoreFile(
+ std::auto_ptr<BackupProtocolClientSuccess> stored(apProtocol->QueryStoreFile(
BackupProtocolClientListDirectory::RootDirectory,
modtime,
modtime, /* use it for attr hash too */
@@ -1175,12 +1251,14 @@ int test_server(const char *hostname)
set_refcount(patchedID, 1);
// Then download it to check it's OK
- std::auto_ptr<BackupProtocolClientSuccess> getFile(protocol.QueryGetFile(BackupProtocolClientListDirectory::RootDirectory, patchedID));
+ std::auto_ptr<BackupProtocolClientSuccess> getFile(apProtocol->QueryGetFile(BackupProtocolClientListDirectory::RootDirectory, patchedID));
TEST_THAT(getFile->GetObjectID() == patchedID);
- std::auto_ptr<IOStream> filestream(protocol.ReceiveStream());
+ std::auto_ptr<IOStream> filestream(apProtocol->ReceiveStream());
BackupStoreFile::DecodeFile(*filestream, TEST_FILE_FOR_PATCHING ".downloaded", IOStream::TimeOutInfinite);
// Check it's the same
TEST_THAT(check_files_same(TEST_FILE_FOR_PATCHING ".downloaded", TEST_FILE_FOR_PATCHING ".mod"));
+
+ TEST_NUM_FILES(UPLOAD_NUM, 1, 1, 1);
}
// Create a directory
@@ -1189,11 +1267,13 @@ int test_server(const char *hostname)
{
// Attributes
MemBlockStream attr(attr1, sizeof(attr1));
- std::auto_ptr<BackupProtocolClientSuccess> dirCreate(protocol.QueryCreateDirectory(
+ std::auto_ptr<BackupProtocolClientSuccess> dirCreate(apProtocol->QueryCreateDirectory(
BackupProtocolClientListDirectory::RootDirectory,
9837429842987984LL, dirname, attr));
subdirid = dirCreate->GetObjectID();
TEST_THAT(subdirid == maxID + 1);
+
+ TEST_NUM_FILES(UPLOAD_NUM, 1, 1, 2);
}
set_refcount(subdirid, 1);
@@ -1205,7 +1285,7 @@ int test_server(const char *hostname)
int64_t modtime;
std::auto_ptr<IOStream> upload(BackupStoreFile::EncodeFile(filename.c_str(), subdirid, uploads[0].name, &modtime));
- std::auto_ptr<BackupProtocolClientSuccess> stored(protocol.QueryStoreFile(
+ std::auto_ptr<BackupProtocolClientSuccess> stored(apProtocol->QueryStoreFile(
subdirid,
modtime,
modtime, /* use for attr hash too */
@@ -1213,6 +1293,8 @@ int test_server(const char *hostname)
uploads[0].name,
*upload));
subdirfileid = stored->GetObjectID();
+
+ TEST_NUM_FILES(UPLOAD_NUM + 1, 1, 1, 2);
}
set_refcount(subdirfileid, 1);
@@ -1303,7 +1385,7 @@ int test_server(const char *hostname)
// Change attributes on the directory
{
MemBlockStream attrnew(attr2, sizeof(attr2));
- std::auto_ptr<BackupProtocolClientSuccess> changereply(protocol.QueryChangeDirAttributes(
+ std::auto_ptr<BackupProtocolClientSuccess> changereply(apProtocol->QueryChangeDirAttributes(
subdirid,
329483209443598LL,
attrnew));
@@ -1336,7 +1418,7 @@ int test_server(const char *hostname)
{
BackupStoreFilenameClear newName("moved-files");
- std::auto_ptr<BackupProtocolClientSuccess> rep(protocol.QueryMoveObject(uploads[UPLOAD_FILE_TO_MOVE].allocated_objid,
+ std::auto_ptr<BackupProtocolClientSuccess> rep(apProtocol->QueryMoveObject(uploads[UPLOAD_FILE_TO_MOVE].allocated_objid,
BackupProtocolClientListDirectory::RootDirectory,
subdirid, BackupProtocolClientMoveObject::Flags_MoveAllWithSameName, newName));
TEST_THAT(rep->GetObjectID() == uploads[UPLOAD_FILE_TO_MOVE].allocated_objid);
@@ -1345,11 +1427,11 @@ int test_server(const char *hostname)
// Try some dodgy renames
{
BackupStoreFilenameClear newName("moved-files");
- TEST_CHECK_THROWS(protocol.QueryMoveObject(uploads[UPLOAD_FILE_TO_MOVE].allocated_objid,
+ TEST_CHECK_THROWS(apProtocol->QueryMoveObject(uploads[UPLOAD_FILE_TO_MOVE].allocated_objid,
BackupProtocolClientListDirectory::RootDirectory,
subdirid, BackupProtocolClientMoveObject::Flags_MoveAllWithSameName, newName),
ConnectionException, Conn_Protocol_UnexpectedReply);
- TEST_CHECK_THROWS(protocol.QueryMoveObject(uploads[UPLOAD_FILE_TO_MOVE].allocated_objid,
+ TEST_CHECK_THROWS(apProtocol->QueryMoveObject(uploads[UPLOAD_FILE_TO_MOVE].allocated_objid,
subdirid,
subdirid, BackupProtocolClientMoveObject::Flags_MoveAllWithSameName, newName),
ConnectionException, Conn_Protocol_UnexpectedReply);
@@ -1358,7 +1440,7 @@ int test_server(const char *hostname)
// Rename within a directory
{
BackupStoreFilenameClear newName("moved-files-x");
- protocol.QueryMoveObject(uploads[UPLOAD_FILE_TO_MOVE].allocated_objid,
+ apProtocol->QueryMoveObject(uploads[UPLOAD_FILE_TO_MOVE].allocated_objid,
subdirid,
subdirid, BackupProtocolClientMoveObject::Flags_MoveAllWithSameName, newName);
}
@@ -1423,14 +1505,14 @@ int test_server(const char *hostname)
BackupStoreFilenameClear nd("sub2");
// Attributes
MemBlockStream attr(attr1, sizeof(attr1));
- std::auto_ptr<BackupProtocolClientSuccess> dirCreate(protocol.QueryCreateDirectory(
+ std::auto_ptr<BackupProtocolClientSuccess> dirCreate(apProtocol->QueryCreateDirectory(
subdirid,
9837429842987984LL, nd, attr));
subsubdirid = dirCreate->GetObjectID();
FileStream upload("testfiles/file1_upload1");
BackupStoreFilenameClear nf("file2");
- std::auto_ptr<BackupProtocolClientSuccess> stored(protocol.QueryStoreFile(
+ std::auto_ptr<BackupProtocolClientSuccess> stored(apProtocol->QueryStoreFile(
subsubdirid,
0x123456789abcdefLL, /* modification time */
0x7362383249872dfLL, /* attr hash */
@@ -1445,26 +1527,26 @@ int test_server(const char *hostname)
// Query names -- test that invalid stuff returns not found OK
{
- std::auto_ptr<BackupProtocolClientObjectName> nameRep(protocol.QueryGetObjectName(3248972347823478927LL, subsubdirid));
+ std::auto_ptr<BackupProtocolClientObjectName> nameRep(apProtocol->QueryGetObjectName(3248972347823478927LL, subsubdirid));
TEST_THAT(nameRep->GetNumNameElements() == 0);
}
{
- std::auto_ptr<BackupProtocolClientObjectName> nameRep(protocol.QueryGetObjectName(subsubfileid, 2342378424LL));
+ std::auto_ptr<BackupProtocolClientObjectName> nameRep(apProtocol->QueryGetObjectName(subsubfileid, 2342378424LL));
TEST_THAT(nameRep->GetNumNameElements() == 0);
}
{
- std::auto_ptr<BackupProtocolClientObjectName> nameRep(protocol.QueryGetObjectName(38947234789LL, 2342378424LL));
+ std::auto_ptr<BackupProtocolClientObjectName> nameRep(apProtocol->QueryGetObjectName(38947234789LL, 2342378424LL));
TEST_THAT(nameRep->GetNumNameElements() == 0);
}
{
- std::auto_ptr<BackupProtocolClientObjectName> nameRep(protocol.QueryGetObjectName(BackupProtocolClientGetObjectName::ObjectID_DirectoryOnly, 2234342378424LL));
+ std::auto_ptr<BackupProtocolClientObjectName> nameRep(apProtocol->QueryGetObjectName(BackupProtocolClientGetObjectName::ObjectID_DirectoryOnly, 2234342378424LL));
TEST_THAT(nameRep->GetNumNameElements() == 0);
}
// Query names... first, get info for the file
{
- std::auto_ptr<BackupProtocolClientObjectName> nameRep(protocol.QueryGetObjectName(subsubfileid, subsubdirid));
- std::auto_ptr<IOStream> namestream(protocol.ReceiveStream());
+ std::auto_ptr<BackupProtocolClientObjectName> nameRep(apProtocol->QueryGetObjectName(subsubfileid, subsubdirid));
+ std::auto_ptr<IOStream> namestream(apProtocol->ReceiveStream());
TEST_THAT(nameRep->GetNumNameElements() == 3);
TEST_THAT(nameRep->GetFlags() == BackupProtocolClientListDirectory::Flags_File);
@@ -1481,8 +1563,8 @@ int test_server(const char *hostname)
// Query names... secondly, for the directory
{
- std::auto_ptr<BackupProtocolClientObjectName> nameRep(protocol.QueryGetObjectName(BackupProtocolClientGetObjectName::ObjectID_DirectoryOnly, subsubdirid));
- std::auto_ptr<IOStream> namestream(protocol.ReceiveStream());
+ std::auto_ptr<BackupProtocolClientObjectName> nameRep(apProtocol->QueryGetObjectName(BackupProtocolClientGetObjectName::ObjectID_DirectoryOnly, subsubdirid));
+ std::auto_ptr<IOStream> namestream(apProtocol->ReceiveStream());
TEST_THAT(nameRep->GetNumNameElements() == 2);
TEST_THAT(nameRep->GetFlags() == BackupProtocolClientListDirectory::Flags_Dir);
@@ -1497,21 +1579,18 @@ int test_server(const char *hostname)
//} skip:
- std::auto_ptr<BackupStoreAccountDatabase> apAccounts(
- BackupStoreAccountDatabase::Read(
- "testfiles/accounts.txt"));
std::auto_ptr<BackupStoreRefCountDatabase> apRefCount(
BackupStoreRefCountDatabase::Load(
apAccounts->GetEntry(0x1234567), true));
// Create some nice recursive directories
- int64_t dirtodelete = create_test_data_subdirs(protocol,
+ int64_t dirtodelete = create_test_data_subdirs(*apProtocol,
BackupProtocolClientListDirectory::RootDirectory,
"test_delete", 6 /* depth */, *apRefCount);
// And delete them
{
- std::auto_ptr<BackupProtocolClientSuccess> dirdel(protocol.QueryDeleteDirectory(
+ std::auto_ptr<BackupProtocolClientSuccess> dirdel(apProtocol->QueryDeleteDirectory(
dirtodelete));
TEST_THAT(dirdel->GetObjectID() == dirtodelete);
}
@@ -1549,7 +1628,7 @@ int test_server(const char *hostname)
#ifndef WIN32
protocolReadOnly.QueryFinished();
#endif
- protocol.QueryFinished();
+ apProtocol->QueryFinished();
// Close logs
#ifndef WIN32
@@ -1742,6 +1821,7 @@ int test3(int argc, const char *argv[])
TEST_CHECK_THROWS(info->ChangeBlocksInDeletedFiles(1), BackupStoreException, StoreInfoIsReadOnly);
TEST_CHECK_THROWS(info->RemovedDeletedDirectory(2), BackupStoreException, StoreInfoIsReadOnly);
TEST_CHECK_THROWS(info->AddDeletedDirectory(2), BackupStoreException, StoreInfoIsReadOnly);
+ TEST_CHECK_THROWS(info->SetAccountName("hello"), BackupStoreException, StoreInfoIsReadOnly);
}
{
std::auto_ptr<BackupStoreInfo> info(BackupStoreInfo::Load(76, "test-info/", 0, false));
@@ -1758,6 +1838,7 @@ int test3(int argc, const char *argv[])
info->AddDeletedDirectory(3);
info->AddDeletedDirectory(4);
info->RemovedDeletedDirectory(3);
+ info->SetAccountName("whee");
TEST_CHECK_THROWS(info->RemovedDeletedDirectory(9), BackupStoreException, StoreInfoDirNotInList);
info->Save();
}
@@ -1768,6 +1849,7 @@ int test3(int argc, const char *argv[])
TEST_THAT(info->GetBlocksInDeletedFiles() == 1);
TEST_THAT(info->GetBlocksSoftLimit() == 3461231233455433LL);
TEST_THAT(info->GetBlocksHardLimit() == 2934852487LL);
+ TEST_THAT(info->GetAccountName() == "whee");
const std::vector<int64_t> &delfiles(info->GetDeletedDirectories());
TEST_THAT(delfiles.size() == 2);
TEST_THAT(delfiles[0] == 2);
@@ -1848,9 +1930,8 @@ int test3(int argc, const char *argv[])
TEST_EQUAL(0, ::unlink("testfiles/0_0/backup/01234567/refcount.db.rfw"));
TLSContext context;
- std::auto_ptr<SocketStreamTLS> conn = open_conn("localhost",
- context);
- test_server_login(*conn)->QueryFinished();
+ std::auto_ptr<SocketStreamTLS> conn;
+ test_server_login("localhost", context, conn)->QueryFinished();
BackupStoreAccountDatabase::Entry account =
apAccounts->GetEntry(0x1234567);