OSDN Git Service

Audio HAL VTS: Avoid copying Return in helper
authorKevin Rocard <krocard@google.com>
Sat, 11 Mar 2017 02:47:37 +0000 (18:47 -0800)
committerKevin Rocard <krocard@google.com>
Thu, 16 Mar 2017 23:00:02 +0000 (16:00 -0700)
Return are movable only, thus the fact that assertResult took a copy of
the value meant that the callee had to provide an rvalue.

This was not needed as the Result was not modified. Change it to a const
reference.

Test: run test on board

Bug: 34170075
Signed-off-by: Kevin Rocard <krocard@google.com>
audio/2.0/vts/functional/utility/AssertOk.h

index 39c9a1d..10b088c 100644 (file)
@@ -29,13 +29,13 @@ inline void assertResult(Result expected, Result result) {
     ASSERT_EQ(expected, result);
 }
 
-inline void assertResult(Result expected, Return<Result> ret) {
+inline void assertResult(Result expected, const Return<Result> &ret) {
     ASSERT_TRUE(ret.isOk());
     Result result = ret;
     assertResult(expected, result);
 }
 
-inline void assertResult(std::vector<Result> expected, Result result) {
+inline void assertResult(const std::vector<Result> &expected, Result result) {
     if (std::find(expected.begin(), expected.end(), result) != expected.end()) {
         return; // result is in expected
     }
@@ -43,13 +43,13 @@ inline void assertResult(std::vector<Result> expected, Result result) {
            << " to be one of " << ::testing::PrintToString(expected);
 }
 
-inline void assertResult(std::vector<Result> expected, Return<Result> ret) {
+inline void assertResult(const std::vector<Result> &expected, const Return<Result> &ret) {
     ASSERT_TRUE(ret.isOk());
     Result result = ret;
     assertResult(expected, result);
 }
 
-inline void assertOk(Return<void> ret) {
+inline void assertOk(const Return<void> &ret) {
     ASSERT_TRUE(ret.isOk());
 }
 
@@ -57,8 +57,8 @@ inline void assertOk(Result result) {
     assertResult(Result::OK, result);
 }
 
-inline void assertOk(Return<Result> ret) {
-    assertResult(Result::OK, std::move(ret));
+inline void assertOk(const Return<Result> &ret) {
+    assertResult(Result::OK, ret);
 }
 
 }
@@ -68,4 +68,4 @@ inline void assertOk(Return<Result> ret) {
 #define EXPECT_OK(ret) EXPECT_NO_FATAL_FAILURE(detail::assertOk(ret))
 
 #define ASSERT_RESULT(expected, ret) ASSERT_NO_FATAL_FAILURE(detail::assertResult(expected, ret))
-#define EXPECT_RESULT(expected, ret) ASSERT_NO_FATAL_FAILURE(detail::assertResult(expected, ret))
+#define EXPECT_RESULT(expected, ret) EXPECT_NO_FATAL_FAILURE(detail::assertResult(expected, ret))