aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/test/firebase/firestore/util
diff options
context:
space:
mode:
authorGravatar rsgowman <rgowman@google.com>2018-01-27 19:16:41 -0500
committerGravatar Gil <mcg@google.com>2018-01-27 16:16:41 -0800
commita74d39f02b93c2e7bf121b33ab2164a9ac34e66b (patch)
tree98c9dbf488e6e548a64a0341c6a2e8cd5df878f8 /Firestore/core/test/firebase/firestore/util
parent856c3a09f1d8022fc5a06b086644118fd62efbb0 (diff)
Fix a number of c++ build errors (#715)
* Move -fvisibility-inlines-hidden from common_flags to cxx_flags This option isn't supported by C (and causes the build to fail under at least rodete). Manifested error was: ``` -- Looking for include file openssl/rand.h -- Looking for include file openssl/rand.h - not found CMake Error at core/src/firebase/firestore/util/CMakeLists.txt:94 (message): No implementation for SecureRandom available. -- Configuring incomplete, errors occurred! ``` which is completely misleading. :( * Fix exception include for std::logic_error Was causing compiler error on (at least) rodete. (http://en.cppreference.com/w/cpp/error/logic_error suggests that stdexcept is the correct header.) * Remove 'const' from vector contents. vectors cannot contain const objects as the contained objects are required to be assignable and copy constructable. (Not *quite* strictly true; since c++11, this requirement now depends on the operations performed on the container. But my compiler objects at any rate.) http://en.cppreference.com/w/cpp/container/vector https://stackoverflow.com/questions/8685257/why-cant-you-put-a-const-object-into-a-stl-container * Add brackets as suggested (required) by my compiler. * Add missing include For LLONG_MIN, etc. * Enable gnu extension to c++11 for firestore/util *test*. We disable them by default (in cmake/CompilerSetup.cmake) but our tests requires hexidecimal floating point, which is not supported in c++11 (though is supported in C++17, gnu++11, and others). http://en.cppreference.com/w/cpp/language/floating_literal https://bugzilla.redhat.com/show_bug.cgi?id=1321986 * Fix printf format for uint64_t http://en.cppreference.com/w/cpp/types/integer https://stackoverflow.com/questions/9225567/how-to-print-a-int64-t-type-in-c * Allow 0 length printf template strings in tests. * Get rid of a multi line comment. The backslash is apparently interpreted by the compiler cause the next line to be ignored too. In this case, the next line is (currently) a comment, and would be ignored anyways. (But that doesn't stop the compiler from yelling.) * Run ./scripts/style.sh
Diffstat (limited to 'Firestore/core/test/firebase/firestore/util')
-rw-r--r--Firestore/core/test/firebase/firestore/util/CMakeLists.txt5
-rw-r--r--Firestore/core/test/firebase/firestore/util/comparison_test.cc23
-rw-r--r--Firestore/core/test/firebase/firestore/util/log_test.cc2
3 files changed, 18 insertions, 12 deletions
diff --git a/Firestore/core/test/firebase/firestore/util/CMakeLists.txt b/Firestore/core/test/firebase/firestore/util/CMakeLists.txt
index eb5a898..93cca16 100644
--- a/Firestore/core/test/firebase/firestore/util/CMakeLists.txt
+++ b/Firestore/core/test/firebase/firestore/util/CMakeLists.txt
@@ -12,6 +12,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+set(CMAKE_CXX_EXTENSIONS ON)
+
+# Required to allow 0 length printf style strings for testing purposes.
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-format-zero-length")
+
if(HAVE_ARC4RANDOM)
cc_test(
firebase_firestore_util_arc4random_test
diff --git a/Firestore/core/test/firebase/firestore/util/comparison_test.cc b/Firestore/core/test/firebase/firestore/util/comparison_test.cc
index ecbed4a..ccb3011 100644
--- a/Firestore/core/test/firebase/firestore/util/comparison_test.cc
+++ b/Firestore/core/test/firebase/firestore/util/comparison_test.cc
@@ -16,6 +16,7 @@
#include "Firestore/core/src/firebase/firestore/util/comparison.h"
+#include <inttypes.h>
#include <math.h>
#include <limits>
@@ -84,17 +85,17 @@ TEST(Comparison, DoubleCompare) {
ASSERT_SAME(Compare<double>(-0, 0));
}
-#define ASSERT_BIT_EQUALS(expected, actual) \
- do { \
- uint64_t expectedBits = DoubleBits(expected); \
- uint64_t actualBits = DoubleBits(actual); \
- if (expectedBits != actualBits) { \
- std::string message = StringPrintf( \
- "Expected <%f> to compare equal to <%f> " \
- "with bits <%llX> equal to <%llX>", \
- actual, expected, actualBits, expectedBits); \
- FAIL() << message; \
- } \
+#define ASSERT_BIT_EQUALS(expected, actual) \
+ do { \
+ uint64_t expectedBits = DoubleBits(expected); \
+ uint64_t actualBits = DoubleBits(actual); \
+ if (expectedBits != actualBits) { \
+ std::string message = StringPrintf( \
+ "Expected <%f> to compare equal to <%f> " \
+ "with bits <%" PRIu64 "> equal to <%" PRIu64 ">", \
+ actual, expected, actualBits, expectedBits); \
+ FAIL() << message; \
+ } \
} while (0);
#define ASSERT_MIXED_SAME(doubleValue, longValue) \
diff --git a/Firestore/core/test/firebase/firestore/util/log_test.cc b/Firestore/core/test/firebase/firestore/util/log_test.cc
index 46cbc4e..973b174 100644
--- a/Firestore/core/test/firebase/firestore/util/log_test.cc
+++ b/Firestore/core/test/firebase/firestore/util/log_test.cc
@@ -30,7 +30,7 @@ namespace util {
//
// You can fix it with:
//
-// defaults write firebase_firestore_util_log_apple_test \
+// defaults write firebase_firestore_util_log_apple_test
// /google/firebase/debug_mode NO
TEST(Log, SetAndGet) {
LogSetLevel(kLogLevelVerbose);