From 0234d5d11585e5e1a3c76a7ea5e99c3d925a06ca Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 13 Feb 2015 11:06:37 -0800 Subject: [PATCH] folly: move side effects out of EXPECT_EQ args Summary: This avoids warnings about e.g., sizeof(k++) that result from macro expansion. * folly/futures/test/ExecutorTest.cpp: Move increment out of macro argument list. * folly/test/FBVectorTestBenchmarks.cpp.h: Likewise. * folly/test/LazyTest.cpp: Likewise. Otherwise, we'd get errors like this: folly/test/LazyTest.cpp:49:118: error: expression with side effects has no effect in an unevaluated context [-Werror,-Wunevaluated-expression] switch (0) case 0: default: if (const ::testing::AssertionResult gtest_ar = (::testing::internal:: EqHelper<(sizeof(::testing::internal::IsNullLiteralHelper(++globalCount())) == 1)>::Compare("++globalCount()", "1", ++globalCount(), 1))) ; else ::testing::internal::AssertHelper(::testing::TestPartResult::kNonFatalFailure, "folly/test/LazyTest.cpp", 49, gtest_ar.failure_message()) = ::testing::Message(); ^ Test Plan: Run these commands and note there are fewer errors than before: fbconfig --clang --with-project-version=clang:dev -r folly && fbmake dbgo Reviewed By: njormrod@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum FB internal diff: D1848324 Tasks: 6244745 Signature: t1:1848324:1423860890:bce44c5e0895804a21957893ae6b78e76dfbc4d3 --- folly/futures/test/ExecutorTest.cpp | 12 ++++++++---- folly/test/FBVectorTestBenchmarks.cpp.h | 9 ++++++--- folly/test/LazyTest.cpp | 6 ++++-- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/folly/futures/test/ExecutorTest.cpp b/folly/futures/test/ExecutorTest.cpp index a9bfef4b..bda05b4d 100644 --- a/folly/futures/test/ExecutorTest.cpp +++ b/folly/futures/test/ExecutorTest.cpp @@ -112,9 +112,11 @@ TEST(Executor, InlineExecutor) { size_t counter = 0; x.add([&]{ x.add([&]{ - EXPECT_EQ(counter++, 0); + EXPECT_EQ(counter, 0); + counter++; }); - EXPECT_EQ(counter++, 1); + EXPECT_EQ(counter, 1); + counter++; }); EXPECT_EQ(counter, 2); } @@ -124,9 +126,11 @@ TEST(Executor, QueuedImmediateExecutor) { size_t counter = 0; x.add([&]{ x.add([&]{ - EXPECT_EQ(1, counter++); + EXPECT_EQ(1, counter); + counter++; }); - EXPECT_EQ(0, counter++); + EXPECT_EQ(0, counter); + counter++; }); EXPECT_EQ(2, counter); } diff --git a/folly/test/FBVectorTestBenchmarks.cpp.h b/folly/test/FBVectorTestBenchmarks.cpp.h index 57bf5dab..442b9fb1 100644 --- a/folly/test/FBVectorTestBenchmarks.cpp.h +++ b/folly/test/FBVectorTestBenchmarks.cpp.h @@ -47,7 +47,8 @@ TESTFUN(clause_23_3_6_1_9) { EXPECT_EQ(v.size(), lst.size()); size_t j = 0; FOR_EACH (i, lst) { - EXPECT_EQ(v[j++], *i); + EXPECT_EQ(v[j], *i); + j++; } } @@ -63,7 +64,8 @@ TESTFUN(clause_23_3_6_1_11) { EXPECT_EQ(v.size(), lst.size()); size_t j = 0; FOR_EACH (i, lst) { - EXPECT_EQ(v[j++], *i); + EXPECT_EQ(v[j], *i); + j++; } // aliased assign @@ -72,7 +74,8 @@ TESTFUN(clause_23_3_6_1_11) { j = 0; FOR_EACH (i, lst) { if (j == v.size()) break; - EXPECT_EQ(v[j++], *i); + EXPECT_EQ(v[j], *i); + j++; } } diff --git a/folly/test/LazyTest.cpp b/folly/test/LazyTest.cpp index 712435a1..cf5492ff 100644 --- a/folly/test/LazyTest.cpp +++ b/folly/test/LazyTest.cpp @@ -27,7 +27,8 @@ TEST(Lazy, Simple) { int computeCount = 0; auto const val = folly::lazy([&]() -> int { - EXPECT_EQ(++computeCount, 1); + ++computeCount; + EXPECT_EQ(computeCount, 1); return 12; }); EXPECT_EQ(computeCount, 0); @@ -46,7 +47,8 @@ TEST(Lazy, Simple) { auto globalCount = folly::lazy([]{ return 0; }); auto const foo = folly::lazy([]() -> std::string { - EXPECT_EQ(++globalCount(), 1); + ++globalCount(); + EXPECT_EQ(globalCount(), 1); return std::string("YEP"); }); -- 2.34.1