Skip to content

Commit 3f1fbe7

Browse files
authored
Migrate FSTPersistenceTestHelpers to C++ (#4122)
* Move FSTPersistenceHelpers to core/test/.../local * Rewrite persistence_testing in C++ * Migrate from FSTPersistenceTestHelpers to C++ persistence_testing * Rename .mm to .cc where possible in IndexManager tests * Remove Objective-C gunk from index_manager_test.h
1 parent 2bcfcc2 commit 3f1fbe7

24 files changed

+297
-294
lines changed

Firestore/Example/Firestore.xcodeproj/project.pbxproj

Lines changed: 44 additions & 44 deletions
Large diffs are not rendered by default.

Firestore/Example/Tests/Local/FSTLevelDBLRUGarbageCollectorTests.mm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@
1818

1919
#import "Firestore/Example/Tests/Local/FSTLRUGarbageCollectorTests.h"
2020

21-
#import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h"
22-
2321
#include "Firestore/core/src/firebase/firestore/local/leveldb_key.h"
2422
#include "Firestore/core/src/firebase/firestore/local/leveldb_persistence.h"
2523
#include "Firestore/core/src/firebase/firestore/local/lru_garbage_collector.h"
2624
#include "Firestore/core/src/firebase/firestore/local/persistence.h"
2725
#include "Firestore/core/src/firebase/firestore/model/document_key.h"
26+
#include "Firestore/core/test/firebase/firestore/local/persistence_testing.h"
2827

2928
using firebase::firestore::local::LevelDbDocumentTargetKey;
3029
using firebase::firestore::local::LevelDbPersistence;
30+
using firebase::firestore::local::LevelDbPersistenceForTesting;
3131
using firebase::firestore::local::Persistence;
3232
using firebase::firestore::model::DocumentKey;
3333

@@ -41,7 +41,7 @@ @interface FSTLevelDBLRUGarbageCollectorTests : FSTLRUGarbageCollectorTests
4141
@implementation FSTLevelDBLRUGarbageCollectorTests
4242

4343
- (std::unique_ptr<Persistence>)newPersistenceWithLruParams:(LruParams)lruParams {
44-
return [FSTPersistenceTestHelpers levelDBPersistenceWithLruParams:lruParams];
44+
return LevelDbPersistenceForTesting(lruParams);
4545
}
4646

4747
- (BOOL)sentinelExists:(const DocumentKey &)key {

Firestore/Example/Tests/Local/FSTLevelDBLocalStoreTests.mm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616

1717
#import "Firestore/Example/Tests/Local/FSTLocalStoreTests.h"
1818

19-
#import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h"
20-
2119
#include "Firestore/core/src/firebase/firestore/local/leveldb_persistence.h"
20+
#include "Firestore/core/test/firebase/firestore/local/persistence_testing.h"
2221

2322
NS_ASSUME_NONNULL_BEGIN
2423

24+
using firebase::firestore::local::LevelDbPersistenceForTesting;
2525
using firebase::firestore::local::Persistence;
2626

2727
/**
@@ -35,7 +35,7 @@ @interface FSTLevelDBLocalStoreTests : FSTLocalStoreTests
3535
@implementation FSTLevelDBLocalStoreTests
3636

3737
- (std::unique_ptr<Persistence>)persistence {
38-
return [FSTPersistenceTestHelpers levelDBPersistence];
38+
return LevelDbPersistenceForTesting();
3939
}
4040

4141
- (BOOL)gcIsEager {

Firestore/Example/Tests/Local/FSTLevelDBMigrationsTests.mm

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,17 @@
2828
#include "Firestore/core/src/firebase/firestore/local/leveldb_migrations.h"
2929
#include "Firestore/core/src/firebase/firestore/local/leveldb_query_cache.h"
3030
#include "Firestore/core/src/firebase/firestore/util/ordered_code.h"
31+
#include "Firestore/core/src/firebase/firestore/util/path.h"
32+
#include "Firestore/core/test/firebase/firestore/local/persistence_testing.h"
3133
#include "Firestore/core/test/firebase/firestore/testutil/testutil.h"
3234
#include "absl/strings/match.h"
3335
#include "leveldb/db.h"
3436

35-
#import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h"
36-
3737
NS_ASSUME_NONNULL_BEGIN
3838

3939
using firebase::firestore::Error;
4040
using firebase::firestore::local::LevelDbCollectionParentKey;
41+
using firebase::firestore::local::LevelDbDir;
4142
using firebase::firestore::local::LevelDbDocumentMutationKey;
4243
using firebase::firestore::local::LevelDbDocumentTargetKey;
4344
using firebase::firestore::local::LevelDbMigrations;
@@ -75,7 +76,7 @@ - (void)setUp {
7576
options.error_if_exists = true;
7677
options.create_if_missing = true;
7778

78-
Path dir = [FSTPersistenceTestHelpers levelDBDir];
79+
Path dir = LevelDbDir();
7980
DB *db;
8081
Status status = DB::Open(options, dir.ToUtf8String(), &db);
8182
XCTAssert(status.ok(), @"Failed to create db: %s", status.ToString().c_str());

Firestore/Example/Tests/Local/FSTLevelDBMutationQueueTests.mm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#include <vector>
2121

2222
#import "Firestore/Example/Tests/Local/FSTMutationQueueTests.h"
23-
#import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h"
2423
#import "Firestore/Protos/objc/firestore/local/Mutation.pbobjc.h"
2524

2625
#include "Firestore/core/src/firebase/firestore/auth/user.h"
@@ -29,6 +28,7 @@
2928
#include "Firestore/core/src/firebase/firestore/local/leveldb_persistence.h"
3029
#include "Firestore/core/src/firebase/firestore/local/reference_set.h"
3130
#include "Firestore/core/src/firebase/firestore/util/ordered_code.h"
31+
#include "Firestore/core/test/firebase/firestore/local/persistence_testing.h"
3232
#include "absl/strings/string_view.h"
3333
#include "leveldb/db.h"
3434

@@ -38,6 +38,7 @@
3838
using firebase::firestore::local::LevelDbMutationKey;
3939
using firebase::firestore::local::LevelDbMutationQueue;
4040
using firebase::firestore::local::LevelDbPersistence;
41+
using firebase::firestore::local::LevelDbPersistenceForTesting;
4142
using firebase::firestore::local::LoadNextBatchIdFromDb;
4243
using firebase::firestore::local::ReferenceSet;
4344
using firebase::firestore::model::BatchId;
@@ -77,7 +78,7 @@ @implementation FSTLevelDBMutationQueueTests {
7778

7879
- (void)setUp {
7980
[super setUp];
80-
_db = [FSTPersistenceTestHelpers levelDBPersistence];
81+
_db = LevelDbPersistenceForTesting();
8182
_db->reference_delegate()->AddInMemoryPins(&_additionalReferences);
8283

8384
self.mutationQueue = _db->GetMutationQueueForUser(User("user"));

Firestore/Example/Tests/Local/FSTLevelDBQueryCacheTests.mm

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
* limitations under the License.
1515
*/
1616

17-
#import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h"
1817
#import "Firestore/Example/Tests/Local/FSTQueryCacheTests.h"
1918

2019
#include "Firestore/core/include/firebase/firestore/timestamp.h"
@@ -27,13 +26,16 @@
2726
#include "Firestore/core/src/firebase/firestore/model/document_key.h"
2827
#include "Firestore/core/src/firebase/firestore/model/resource_path.h"
2928
#include "Firestore/core/src/firebase/firestore/model/snapshot_version.h"
29+
#include "Firestore/core/test/firebase/firestore/local/persistence_testing.h"
3030
#include "Firestore/core/test/firebase/firestore/testutil/testutil.h"
3131

3232
namespace core = firebase::firestore::core;
3333
namespace testutil = firebase::firestore::testutil;
3434

3535
using firebase::Timestamp;
36+
using firebase::firestore::local::LevelDbDir;
3637
using firebase::firestore::local::LevelDbPersistence;
38+
using firebase::firestore::local::LevelDbPersistenceForTesting;
3739
using firebase::firestore::local::LevelDbQueryCache;
3840
using firebase::firestore::local::Persistence;
3941
using firebase::firestore::local::QueryData;
@@ -69,7 +71,7 @@ - (LevelDbQueryCache *)getCache:(Persistence *)persistence {
6971
- (void)setUp {
7072
[super setUp];
7173

72-
_db = [FSTPersistenceTestHelpers levelDBPersistence];
74+
_db = LevelDbPersistenceForTesting();
7375
self.persistence = _db.get();
7476
self.queryCache = [self getCache:_db.get()];
7577
self.persistence->reference_delegate()->AddInMemoryPins(&_additionalReferences);
@@ -86,9 +88,9 @@ - (void)testMetadataPersistedAcrossRestarts {
8688
_db.reset();
8789
self.persistence = nullptr;
8890

89-
Path dir = [FSTPersistenceTestHelpers levelDBDir];
91+
Path dir = LevelDbDir();
9092

91-
auto db1 = [FSTPersistenceTestHelpers levelDBPersistenceWithDir:dir];
93+
auto db1 = LevelDbPersistenceForTesting(dir);
9294
LevelDbQueryCache *queryCache = [self getCache:db1.get()];
9395

9496
XCTAssertEqual(0, queryCache->highest_listen_sequence_number());
@@ -111,7 +113,7 @@ QueryData queryData(std::move(query), lastTargetId, minimumSequenceNumber,
111113
db1->Shutdown();
112114
db1.reset();
113115

114-
auto db2 = [FSTPersistenceTestHelpers levelDBPersistenceWithDir:dir];
116+
auto db2 = LevelDbPersistenceForTesting(dir);
115117
db2->Run("verify sequence number", [&] {
116118
// We should remember the previous sequence number, and the next transaction should
117119
// have a higher one.

Firestore/Example/Tests/Local/FSTLevelDBRemoteDocumentCacheTests.mm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,21 @@
1717
#include <memory>
1818
#include <string>
1919

20-
#import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h"
2120
#import "Firestore/Example/Tests/Local/FSTRemoteDocumentCacheTests.h"
2221

2322
#include "Firestore/core/src/firebase/firestore/local/leveldb_persistence.h"
2423
#include "Firestore/core/src/firebase/firestore/local/leveldb_remote_document_cache.h"
2524
#include "Firestore/core/src/firebase/firestore/local/remote_document_cache.h"
26-
2725
#include "Firestore/core/src/firebase/firestore/util/ordered_code.h"
26+
#include "Firestore/core/test/firebase/firestore/local/persistence_testing.h"
2827
#include "absl/memory/memory.h"
2928
#include "leveldb/db.h"
3029

3130
NS_ASSUME_NONNULL_BEGIN
3231

3332
using leveldb::WriteOptions;
3433
using firebase::firestore::local::LevelDbPersistence;
34+
using firebase::firestore::local::LevelDbPersistenceForTesting;
3535
using firebase::firestore::local::LevelDbRemoteDocumentCache;
3636
using firebase::firestore::local::RemoteDocumentCache;
3737
using firebase::firestore::util::OrderedCode;
@@ -54,7 +54,7 @@ @implementation FSTLevelDBRemoteDocumentCacheTests {
5454

5555
- (void)setUp {
5656
[super setUp];
57-
_db = [FSTPersistenceTestHelpers levelDBPersistence];
57+
_db = LevelDbPersistenceForTesting();
5858
self.persistence = _db.get();
5959
HARD_ASSERT(!_cache, "Previous cache not torn down");
6060
_cache = _db->remote_document_cache();

Firestore/Example/Tests/Local/FSTLevelDBTransactionTests.mm

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,18 @@
2424
// TODO(wilhuff): move this to the top once the test filename matches
2525
#include "Firestore/core/src/firebase/firestore/local/leveldb_transaction.h"
2626

27-
#import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h"
2827
#import "Firestore/Protos/objc/firestore/local/Mutation.pbobjc.h"
2928
#import "Firestore/Protos/objc/firestore/local/Target.pbobjc.h"
3029

3130
#include "Firestore/core/src/firebase/firestore/local/leveldb_key.h"
31+
#include "Firestore/core/src/firebase/firestore/util/path.h"
32+
#include "Firestore/core/test/firebase/firestore/local/persistence_testing.h"
3233
#include "absl/strings/string_view.h"
3334
#include "leveldb/db.h"
3435

3536
NS_ASSUME_NONNULL_BEGIN
3637

38+
using firebase::firestore::local::LevelDbDir;
3739
using firebase::firestore::local::LevelDbMutationKey;
3840
using firebase::firestore::local::LevelDbTransaction;
3941
using firebase::firestore::util::Path;
@@ -55,7 +57,7 @@ - (void)setUp {
5557
options.error_if_exists = true;
5658
options.create_if_missing = true;
5759

58-
Path dir = [FSTPersistenceTestHelpers levelDBDir];
60+
Path dir = LevelDbDir();
5961
DB *db;
6062
Status status = DB::Open(options, dir.ToUtf8String(), &db);
6163
XCTAssert(status.ok(), @"Failed to create db: %s", status.ToString().c_str());

Firestore/Example/Tests/Local/FSTMemoryLRUGarbageCollectorTests.mm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@
1616

1717
#import "Firestore/Example/Tests/Local/FSTLRUGarbageCollectorTests.h"
1818

19-
#import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h"
20-
2119
#include "Firestore/core/src/firebase/firestore/local/memory_lru_reference_delegate.h"
2220
#include "Firestore/core/src/firebase/firestore/local/memory_persistence.h"
2321
#include "Firestore/core/src/firebase/firestore/model/document_key.h"
22+
#include "Firestore/core/test/firebase/firestore/local/persistence_testing.h"
2423

2524
using firebase::firestore::model::DocumentKey;
2625
using firebase::firestore::local::LruParams;
2726
using firebase::firestore::local::MemoryLruReferenceDelegate;
27+
using firebase::firestore::local::MemoryPersistenceWithLruGcForTesting;
2828
using firebase::firestore::local::Persistence;
2929

3030
NS_ASSUME_NONNULL_BEGIN
@@ -35,7 +35,7 @@ @interface FSTMemoryLRUGarbageCollectionTests : FSTLRUGarbageCollectorTests
3535
@implementation FSTMemoryLRUGarbageCollectionTests
3636

3737
- (std::unique_ptr<Persistence>)newPersistenceWithLruParams:(LruParams)lruParams {
38-
return [FSTPersistenceTestHelpers lruMemoryPersistenceWithLruParams:lruParams];
38+
return MemoryPersistenceWithLruGcForTesting(lruParams);
3939
}
4040

4141
- (BOOL)sentinelExists:(const DocumentKey &)key {

Firestore/Example/Tests/Local/FSTMemoryLocalStoreTests.mm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616

1717
#import "Firestore/Example/Tests/Local/FSTLocalStoreTests.h"
1818

19-
#import "Firestore/Example/Tests/Local/FSTPersistenceTestHelpers.h"
20-
2119
#include "Firestore/core/src/firebase/firestore/local/memory_persistence.h"
2220
#include "Firestore/core/src/firebase/firestore/local/reference_delegate.h"
21+
#include "Firestore/core/test/firebase/firestore/local/persistence_testing.h"
2322

2423
NS_ASSUME_NONNULL_BEGIN
2524

25+
using firebase::firestore::local::MemoryPersistenceWithEagerGcForTesting;
2626
using firebase::firestore::local::Persistence;
2727

2828
/**
@@ -36,7 +36,7 @@ @interface FSTMemoryLocalStoreTests : FSTLocalStoreTests
3636
@implementation FSTMemoryLocalStoreTests
3737

3838
- (std::unique_ptr<Persistence>)persistence {
39-
return [FSTPersistenceTestHelpers eagerGCMemoryPersistence];
39+
return MemoryPersistenceWithEagerGcForTesting();
4040
}
4141

4242
- (BOOL)gcIsEager {

0 commit comments

Comments
 (0)