* Run remoteconfig framework testing.
This testing is scheduled at 3am PST, 3 hours after zip testing triggered. This is to enable the zip testing to test the latest built zip file.
* Remove code folding and raw log output
Code folds were interacting poorly with Travis and causing output to be
lost. This was causing xcresult log output to be lost.
Travis terminates jobs that exceed its maximum log output length, so
showing raw log output could cause failing jobs to be killed for
unrelated reasons.
* Fix xcresult_logs when run against non-Run configurations
The leading part of the name can be "Run" or "Test" or others.
* Add support for Xcode 10 xcreult bundles
In particular:
* All tasks are guaranteed to either run to completion or not run at all;
* Executors can now be destroyed from the threads they own (if applicable); and
* Many common concepts between the Executor implementations have been harmonized and shared.
Note:
* This change does not yet implement `Executor::Dispose` or clean up any of the higher level componentry to take advantage of these changes.
* The executors implement shutdown by canceling any tasks that haven't started yet. This diverges from the plan (which called for a separate `UserCallbackExecutor` to handle this), but in the end it turns out to be simpler to just cancel everything and make cancel handle tasks-in-progress in a reasonable way. LMK if you have grave objections to this, in which case I can rework this.
This is the foundation for addressing firebase/quickstart-unity#638.
The tests in this target are already covered by
Firestore_IntegrationTests_iOS and also run on the other platforms
through the other platform variants of this target.
Also remove an explicit override of CLANG_WARN_COMMA in the
Firestore_Example_macOS target. This should have been cleaned up earlier
--no other targets have this setting.
* Manual Xcode project fixups
* Remove `firebase/firestore` from paths in Firestore/core
This renames all Firestore files under `Firestore/core` to remove the
interior `firebase/firestore` directory structure. This is motivated by
build failures under Windows where the filenames of intermediates were
too long.
Concretely:
* `Firebase/core/src/firebase/firestore` becomes `Firebase/core/src`
* `Firebase/core/test/firebase/firestore` becomes
`Firebase/core/test/unit`
Moving the tests into a `unit` subdirectory aligns Firestore with the
directory structure in
[AddNewPod](https://github.com/firebase/firebase-ios-sdk/blob/master/AddNewPod.md),
modified for C++ (see discussion in #3224).
There are some particular pain points debugging Firestore today because contents of variables are obscured due to information hiding and shared representation techniques we use. Also, we use elements of the Abseil library to supplement what's available in the C++11 standard library.
Taken together, these make our default experience in LLDB and the Xcode debugger quite painful: getting the path of a document currently takes 5 clicks. This change pulls the document path into the summary line, making it available with no clicks.
This change adds type summaries for
* DocumentKey and ResourcePath
* DocumentReference and FIRDocumentReference
* DocumentSnapshot and FIRDocumentSnapshot
* absl::optional
* DatabaseId