aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Example
Commit message (Collapse)AuthorAge
* Create Status objects from errno (#1374)Gravatar Gil2018-06-12
| | | | | | | | | | | * Add a portable interface to strerror * Add Status::FromErrno * Add strerror_test.cc to the Xcode project * Use glibc feature selection macros instead of return-type overloads * Fix tensorflow references
* Fuzz testing Header Search Paths settings (#1395)Gravatar Mina Farid2018-06-11
| | | | * Modified `HEADER_SEARCH_PATHS` in the project file.
* Allowing field deletes using merge fields (#1389)Gravatar Sebastian Schmidt2018-06-07
|
* Force refresh token if RPC fails with "Unauthenticated" error (#1373)Gravatar Konstantin Varlamov2018-06-07
| | | "Unauthenticated" is presumed to mean that token is expired (which might happen if local clock is wrong) and retried, subject to the usual backoff logic.
* Adding AppCode schema for Fuzz tests (#1388)Gravatar Sebastian Schmidt2018-06-07
|
* Merge branch 'release-5.2.0' into masterGravatar davidair2018-06-06
|\
* | Add pathname manipulation utilities (#1376)Gravatar Gil2018-06-05
| |
* | Add a new Xcode target and scheme for fuzz tests (#1364)Gravatar Mina Farid2018-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Created `Firestore_FuzzTests_iOS` Xcode target as a duplicate of the target `Firestore_Tests_iOS`. - Added `-fsanitize-coverage=trace-pc-guard` to the compiler flags to enable code coverage by libFuzzer fuzzing driver. - Modified the files to compile to the fuzz testing ones. - Added a Principal testing class. * Modified the `Podfile` to include `LibFuzzer.podspec` as a dependency for the target `Firestore_FuzzTests_iOS`. * Added a skeleton for fuzz testing. Currently does not test any code but the fuzzing works fine and calls an empty `LLVMFuzzerTestOneInput` with different input values. - This means that fuzzing does not finish or crash.
* | Fix Firestore compilation under Xcode < 9.2 (#1367)Gravatar Gil2018-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Don't rely on specialization failure to determine when std::hash is unavailable. Instead manually declare the conditions under which std::hash should be defined. * Fix detection of Objective-C classes in Xcode < 9.2 std::is_base_of<NSObject, NSString>{} is false there so the overloads defined for Objective-C types weren't getting enabled. * Add explicit tests for StringFormat using Objective-C objects * Add explicit tests for HasStdHash
| * Version updates for 5.2.0 (#1355)Gravatar davidair2018-05-30
|/
* Merge pull request #1350 from firebase/release-5.1.0Gravatar Ryan Wilson2018-05-29
|\ | | | | Release 5.1.0
* | Added .podspec file for libFuzzer (#1338)Gravatar Mina Farid2018-05-28
| | | | | | | | | | | | | | | | | | | | | | * Added .podspec file for libFuzzer * The libFuzzer pod does not include the `main()` function to allow the pod to be built independently. * Fuzzing applications must provide both the `main()` function and the `LLVMFuzzerTestOneInput` function. The `main()` function should call `fuzzer::FuzzerDriver(...)` similar to the original `FuzzerMain.cpp`. * LLVM License and authors
* | Replace Objective-C assertions with C++ assertions (#1327)Gravatar Gil2018-05-24
| | | | | | | | | | | | | | | | * Migrate FSTFail to HARD_FAIL * FSTCFail -> HARD_FAIL * FSTCAssert -> HARD_ASSERT * FSTAssert -> HARD_ASSERT * Replace FSTAssert with NSAssert in dead Objective-C code * Remove FSTAssert.h
* | Fix Objective-C logging (#1322)Gravatar Gil2018-05-23
| |
* | Add a test synchronization script (#1303)Gravatar Gil2018-05-23
| | | | | | | | | | | | * Add a project sync script * Give an error if the configuration references a group that doesn't exist * Fix hard_assert_test reference * Run sync_project to sort all project elements
| * Bump version numbers for 5.1.0 (#1320)Gravatar Ryan Wilson2018-05-23
| | | | | | | | | | | | | | | | * Bump version numbers for 5.1.0 * Update push pods script for releasing SDKs. * Fix Core library version string.
* | Reimplement C++ logging (#1313)Gravatar Gil2018-05-23
|/ | | | | | | * Add direct support for formatting Objective-C objects * Rewrite log.h * Convert FSTWarn to LOG_WARN * Convert FSTLog to LOG_DEBUG * Remove FSTLogger
* Remove extraneous braces (#1315)Gravatar Gil2018-05-22
|
* Add a HARD_ASSERT C++ assertion macro (#1304)Gravatar Gil2018-05-22
| | | | | | * Add HARD_ASSERT * Use HARD_ASSERT * Remove FIREBASE_ASSERT * Remove StringPrintf
* Firestore project fixes (#1301)Gravatar Gil2018-05-22
| | | | | | * Move GoogleTest.podspec out of the Tests tree * Rename GoogleTests to CoreTests * Move CoreTests to the top-level * Move FSTGoogleTestTests.mm into core/test
* Add a C++ native StringFormat (#1289)Gravatar Gil2018-05-21
| | | | * Add StringFormat * Use StringFormat
* b/79432277: Limit Queries to only a single array-contains clause. (#1286)Gravatar Michael Lehenbauer2018-05-16
|
* mergeGravatar Paul Beusterien2018-05-15
|\
* | More macOS/static library prep (#1280)Gravatar Gil2018-05-15
| | | | | | | | | | | | | | | | | | | | * Avoid direct use of generated umbrella headers These: * don't exist in static library builds * have different names in multi-platform builds * Only iOS targets depend upon Firebase/Core
* | Prep for direct macOS support in Firestore pod (#1269)Gravatar Gil2018-05-14
| | | | | | | | | | | | | | | | | | * Add Firestore/Example/App group * Move "Example For Firestore" into App * Rename "Example For Firestore" to "iOS" * Update plist file location
| * Version updates for 5.0.1 (#1272)Gravatar Paul Beusterien2018-05-14
| |
* | Update travis to use CocoaPods 1.5.2 (#1103)Gravatar Paul Beusterien2018-05-13
| | | | | | | | | | | | | | | | * Update travis to use CocoaPods 1.5.2 * CODE_SIGNING_ALLOWED=YES * Remove workaround and iPhone 8 * Remove #1210 static library Podfile workaround * Add -all_load to Firestore Example so all C++ is available for tests
* | Firestore C++: make FSTDispatchQueue delegate to C++ implementation (#1240)Gravatar Konstantin Varlamov2018-05-11
| | | | | | | | | | FSTDispatchQueue now doesn't contain any logic of its own and instead just passes through all method calls to AsyncQueue (backed by an ExecutorLibdispatch).
* | Firestore: use C++ Executor for user queue. (#1238)Gravatar Konstantin Varlamov2018-05-10
| | | | | | | | | | | | | | FSTDispatchQueue enforces serial execution, which is inappropriate for user queue, because a user may configure usage of a concurrent queue in settings, breaking FSTDispatchQueue invariants. Instead, use C++ ExecutorLibdispatch directly.
* | Add remaining tests to Xcode (#1256)Gravatar Gil2018-05-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add classes in testutil and util to the project * Exclude util/iterator_adaptors_test which requires gmock * Exclude remote/serializer_test which is missing some paths * Add iterator_adaptors_test and add gmock support * Add gmock support to the GoogleTest podspec we vendor * Add iterator_adaptors_test.cc to the Xcode project * Add a script that verifies all tests are referenced in the project * Add a travis check that all tests are referenced in the project * Review feedback * Moar feedback
* | Add missing tests to the Firestore project (#1254)Gravatar Gil2018-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix order of project elements * Add immutable container tests to the Firestore project * Fix style problems in TransformOperations * Method names should have an initial upper case character (except getters/setters) * Pointers bind to the type not the name in C++ * Fix unsigned/signed comparison warning * Make transform_operations.h Objective-C++ only It turns out that you can't conditionally define virtual methods. This causes multiple versions of the vtable to be emitted and when the linker resolves all the vtable definitions for a class it picks one arbitrarily causing failures for callers that expect some of the conditional methods to be present. * Add precondition_test and field_mask_test to the project * Add field_transform_test and transform_operations_test to the project * Clean up missing newline/excess comments * Use braced initialization to avoid linter false positive on std::transform
* | Align folders with actual test locations in the Firestore project (#1251)Gravatar Gil2018-05-09
| |
* | Firestore C++: compile ExecutorLibdispatch in Objective-C++ mode (#1237)Gravatar Konstantin Varlamov2018-05-08
| | | | | | | | | | | | | | | | dispatch_queue_t is defined differently in libdispatch depending on whether the library header is being include from Objective-C (or Objective-C++) code, or else from C or C++ code. Make sure that all source files in Firestore that include executor_libdispatch.h are compiled in the same mode (Objective-C++) to avoid linker errors.
* | Backport array contains / transform improvements from Web. (#1242)Gravatar Michael Lehenbauer2018-05-08
| |
* | mergeGravatar Paul Beusterien2018-05-08
|\|
* | C++ migration: add AsyncQueue, the C++ version of FSTDispatchQueue (#1176)Gravatar Konstantin Varlamov2018-05-07
| | | | | | | | | | | | | | | | | | | | | | | | AsyncQueue is a queue that executes given operations asynchronously, enforcing that only a single operation is executing at any given time, and that in-progress operations don't spawn more operations. The actual execution is delegated to a platform-specific executor. Executor is an interface for a FIFO queue that executes given operations serially. Two implementations of Executor, one using libdispatch and the other using C++11 standard library, are provided. AsyncQueue is not used anywhere in the code base at this point.
* | Migrate FSTDocumentVersionDictionary to C++ DocumentVersionMap (#1231)Gravatar Gil2018-05-05
| |
* | Port FSTDocumentKeySet to C++ DocumentKeySet (#1229)Gravatar Gil2018-05-05
| | | | | | | | | | | | | | | | | | * Define a Comparator for DocumentKey * Automated migration from FSTDocumentKeySet to DocumentKeySet * Manual fixups for DocumentKeySet * Delete FSTDocumentKeySet
| * Disable pre-release repos (#1228)Gravatar Paul Beusterien2018-05-04
| |
* | Prepare Firestore for use as a static library (#1210)Gravatar Gil2018-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove spurious dependencies on other project targets in the integration tests * Integration tests don't depend on OCMock ... and shouldn't * Integration tests don't directly depend upon leveldb either * Flatten Firestore example Podfile Make the targets independent in Firestore/Example/Podfile and add a workaround to deduplicate dependencies. * Project file output from running pod update
* | Bump sequence numbers when receiving a new resume token (#1214)Gravatar Greg Soltis2018-05-03
| | | | | | | | | | | | | | | | * Bump sequence number on resume token refresh * Style * Fix comment formatting
* | b/78539022: Fix test at risk of range violation errors depending on ↵Gravatar Michael Lehenbauer2018-05-02
| | | | | | | | | | time-of-day. (#1213) micros could underflow or overflow if the test was run at the wrong time... Replaced with hardcoded timestamps as I don't think making it time-dependent gains us interesting additional coverage.
* | Adding mergeFields support (#1141)Gravatar Sebastian Schmidt2018-05-02
| |
* | Port `SnapshotVersion` for the rest Firestore modulo (#1185)Gravatar zxu2018-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * remove conversions in `Local` and `Remote` * replace `FSTSnapshotVersion` in `Model` * replace `FSTSnapshotVersion` in the rest * let test check equal with C++ equal * fix newly added code * address changes
* | Define a general hashing utility in C++ (#1195)Gravatar Gil2018-05-01
| | | | | | | | | | This is good enough to make it possible for the new C++ code to interoperate with existing Objective-C code where `-hash` is required if you override `-isEqual:`.
* | Port the feedback from the Java port (#1199)Gravatar Greg Soltis2018-04-30
| | | | | | | | | | | | * Port the feedback from the port * Fix comment grammar
* | Identify limbo-only document updates (#1167)Gravatar Greg Soltis2018-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Filter out document updates from target association changes * Move remote-event-modifying methods onto remote event * Style * keep limbo docs in remote event * Implement identification of limbo document updates * Refactor a bit to handle removes as well * Drop newline * Handle synthesized limbo deletes * Response to feedback * Appease the style gods
* | Port `SnapshotVersion` for `Remote` (#1174)Gravatar zxu2018-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * no-brainer replace FSTSnapshotVersion by SnapshotVersion in `Remote` * delete `FSTSnapshotVersion` in `Remote` * fix test * partially revert RemoteEvent * Revert "partially revert RemoteEvent" This reverts commit 67e35bb6c11eaf79608df8d02a60788a40331d0f. * fix a bug * fix integration * address changes
* | Port `SnapshotVersion` for `Local` (#1182)Gravatar zxu2018-04-25
| | | | | | | | | | | | | | | | | | | | | | | | * no-brainer replace `FSTSnapshotVersion` with `SnapshotVersion` * refresh code * fix LocalStore * fix LocalStore (partial revert 78e6c38) * address changes
| * Firestore Podfile 5.0.0 updateGravatar Paul Beusterien2018-04-25
|/