aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Example/Firestore.xcodeproj/project.pbxproj
Commit message (Collapse)AuthorAge
* Generate CMake frameworks from podspecs (#1531)Gravatar Gil2018-07-16
| | | | | | | | | | | | | * Rename utils.cmake to cc_rules.cmake This makes it less of a dumping ground * Fix sign mismatch in FIRApp * Implement a podspec_framework CMake function ... that generates a CMake framework library target from a podspec. * Remove manual CMake scripts for xcodebuild
* Fuzz testing uses protoc from a pod dependency (#1538)Gravatar Mina Farid2018-07-16
|
* Migrate contents of SwiftBuildTest to Firestore_SwiftTests_iOS (#1524)Gravatar Gil2018-07-15
| | | | | | | | * Move main.swift to BasicCompileTests.swift * Remove SwiftBuildTest from the Podfile, Xcode project, build.sh Add Firestore_SwiftTests_iOS, but only if building with Xcode 9 or better.
* Fuzz testing Serializer with a dictionary and corpus (#1513)Gravatar Mina Farid2018-07-13
| | | | Added functionality to read dictionary file and seed input corpus from bundle
* Fix Firestore source errors under VS2017 (#1515)Gravatar Gil2018-07-11
| | | | | | | | | | | | | | | | * Project file updates from sync_project.rb * Fix misc compile errors under VS2017 * Fix util/hashing under VS2017 std::hash<int> is not just a pass through in Microsoft's STL. * Disable unsafe code warnings in VS2017 ... where comparing against a reference implementation that has no easy safe equivalent. * Handle drive letters in paths on Windows
* C++ migration: add a C++ implementation of `FSTExponentialBackoff` (#1465)Gravatar Konstantin Varlamov2018-07-10
| | | | | | | | | | | This is a pretty close port of `FSTExponentialBackoff`. The changes are pretty minor: * delay is calculated using <chrono> duration types, not plain numbers, which should be a little more type-safe; * split a piece of code into a ClampDelay function, because it's reasonably close to std::clamp; * rephrased the class-level comment to make it clearer that the first attempt always has delay = 0; * added simple tests (other platforms don't have tests for this). Also make sure that canceling a DelayedOperation is always valid.
* pod update for the addition of GoogleUtilities (#1506)Gravatar Gil2018-07-09
|
* Split GoogleUtilities from FirebaseCore (#1370)Gravatar Paul Beusterien2018-07-06
|
* Initial (incomplete) implementation of f:f::core::Query (#1471)Gravatar rsgowman2018-06-29
|
* Initial creation of the local serializer. (#1415)Gravatar rsgowman2018-06-21
| | | Added a single, basic test as a motivator.
* Hookup serializer_test.cc to the xcode based test suite (#1343)Gravatar rsgowman2018-06-18
|\
| * pod update output from cocoapods 1.5.3Gravatar Marek Gilbert2018-06-15
| |
| * Remove Protos/cpp/google/protobuf from sync_project.rb ...Gravatar Rich Gowman2018-06-13
| | | | | | | | ... and run sync_project.rb
* | 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
| * Merge remote-tracking branch 'origin/master' into rsgowman/protobuf_cppGravatar Rich Gowman2018-06-12
| |\ | |/ |/|
| * Merge remote-tracking branch 'origin/master' into rsgowman/protobuf_cppGravatar Rich Gowman2018-06-12
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also "fixed" BadFieldValueTagWithOtherValidTagsPresent test by changing 'false' to 'true'. Details: Depending on the version of nanopb, nanopb would explicitly encode 'false', which shouldn't be done in proto3. When it's explicitly encoded, the test worked properly. But when it was (properly) dropped, the invalid tag is the only field that's actually encoded, thus violating the assumptions of the test, leading to a test failure. s/false/true fixes it, as now the boolean_value field is (properly) encoded regardless of version.
* | | Fuzz testing Header Search Paths settings (#1395)Gravatar Mina Farid2018-06-11
| | | | | | | | | | | | * Modified `HEADER_SEARCH_PATHS` in the project file.
* | | 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
| * Add CoreTestsProtos to scripts/sync_project.rb (and run it)Gravatar Rich Gowman2018-05-29
| |
| * Rename cpp group to CoreTestsProtosGravatar Rich Gowman2018-05-29
| |
| * Hookup serializer_test.cc to the xcode based test suiteGravatar Rich Gowman2018-05-28
| | | | | | | | | | | | | | | | | | This involves: - building c++ libprotobuf (rather than just the obj-c version). - adding c++ libprotobuf, c++ built protos (previously created) to the *test suite* only (not to the main build). - modifying existing nanopb CFLAGS to match those that are indirectly pulled in.
| * Changes resulting from me running 'pod update'Gravatar Rich Gowman2018-05-25
|/
* 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
* 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
* 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
* 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
* 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
* 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.
* 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.
* 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
* 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:`.
* Rename iOS-specific targets with iOS-specific names (#1150)Gravatar Gil2018-04-20
| | | | | | | | | | | * Rename targets: * Firestore_Example to Firestore_Example_iOS * Firestore_Tests to Firestore_Tests_iOS * Firestore_IntegrationTests to Firestore_IntegrationTests_iOS * AllTests to AllTests_iOS * Rename associated schemes the same way * Update Podfile to reference the new targets
* Prep Firestore Podfile for multiple platforms (#1148)Gravatar Gil2018-04-19
|
* Update project for CocoaPods 1.5.0. (#1147)Gravatar Gil2018-04-19
|
* Add GetOptions for controlling offline get behaviour (#655)Gravatar rsgowman2018-04-18
| | | | Add option to allow the user to control where DocumentReference.getDocument() and CollectionReference.getDocuments() fetches from. By default, it fetches from the server (if possible) and falls back to the local cache. It's now possible to alternatively fetch from the local cache only, or to fetch from the server only (though in the server only case, latency compensation is still enabled).
* Integration tests, changelog, and minor fixes for array transforms. (#1108)Gravatar Michael Lehenbauer2018-04-17
|
* Drop FSTRemoteDocumentChangeBuffer (#1013)Gravatar Greg Soltis2018-04-02
|
* Drop FSTWriteGroup (#986)Gravatar Greg Soltis2018-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Drop write group from remote document change buffer * Unwind some group dependendencies in local store * Write group dropped from local store * Drop write group from mutation queue tests * Drop write group usage from query cache tests * Drop write groups from remote document cache tests * Drop write groups from remote document change buffer tests * Drop write groups and the write group tracker * Style * Put the action in transaction * Merge master, fix test * Fix some compiler warnings but mostly trigger travis * Responses to feedback
* C++ migration: make Timestamp class a part of public API (#944)Gravatar Konstantin Varlamov2018-03-27
| | | | | | | | | | | * move Timestamp from model/ to the root directory; * move Timestamp to top-level firebase namespace and update all references; * add conversions to and from native date types; * add a specialization of std::hash; * add comments to public member functions; * rename nanos -> nanoseconds; * add public headers, including Timestamp, to CMake; * increase test coverage.
* Port FSTLevelDBKey to C++ (#937)Gravatar Gil2018-03-21
|
* Implements transactions for leveldb (#881)Gravatar Greg Soltis2018-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Start work on leveldb transactions * Style * Working API. Not plumbed in yet * Move files into correct place * Wrangling file locations and associations * Tests pass * Add some comments * style * Fix copyright * Rewrite iterator internals to handle deletion-while-iterating. Also add tests for same * Switch to strings instead of slices * Style * More style fixes * Response to feedback before updating docs * Style * Add comment * Initialize version_ * Satisfy the linter * Fix style * snake_case * More snakes * LevelDBTransaction -> LevelDbTransaction
* grand PR to port the remaining paths (FieldPath and ResourcePath). (#865)Gravatar zxu2018-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * naively remove FSTPath import and source/test files. * port FieldPath, part I * port FieldPath, part II * port ResourcePath, part I * port ResourcePath, part II * the grand commit to fix build errors * use testutil:: helper instead of those from FSTHelpers * fix test and lint * use c_str in errmsg directly * fix * fix * make code clean * fix integration test I missed * fix to avoid naming collision in preprocessor * address changes * address changes * address changes * fix: fieldMask are actually shared with different context. * address changes * address changes
* Add build infrastructure for Codable support in Firestore (#815)Gravatar Gil2018-02-26
| | | | | | | | | | | | * Add Firestore_SwiftTests_iOS target to Xcode * Add FirebaseFirestoreSwift podspec * Add Firestore_SwiftTests_iOS to the Podfile * Add CodableGeoPoint and tests * Version FirebaseFirestoreSwift separately