xref: /aosp_15_r20/external/pigweed/pw_log_null/test.cc (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1 // Copyright 2020 The Pigweed Authors
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not
4 // use this file except in compliance with the License. You may obtain a copy of
5 // the License at
6 //
7 //     https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 // License for the specific language governing permissions and limitations under
13 // the License.
14 
15 #include "pw_log_null/log_null.h"
16 #include "pw_unit_test/framework.h"
17 
18 #define PW_LOG_MODULE_NAME "this test!"
19 
20 extern "C" bool CTest();
21 
22 namespace {
23 
TEST(LogNull,NoArguments)24 TEST(LogNull, NoArguments) {
25   PW_HANDLE_LOG(1, PW_LOG_MODULE_NAME, 2, "3");
26   PW_HANDLE_LOG(1, PW_LOG_MODULE_NAME, 2, "whoa");
27 }
28 
TEST(LogNull,WithArguments)29 TEST(LogNull, WithArguments) {
30   PW_HANDLE_LOG(1, PW_LOG_MODULE_NAME, 2, "%s", "hello");
31   PW_HANDLE_LOG(1,
32                 PW_LOG_MODULE_NAME,
33                 2,
34                 "%d + %s == %p",
35                 1,
36                 "two",
37                 static_cast<void*>(nullptr));
38 }
39 
TEST(LogNull,ExpressionsAreEvaluated)40 TEST(LogNull, ExpressionsAreEvaluated) {
41   static int global;
42 
43   global = 0;
44   bool local = true;
45 
46   PW_HANDLE_LOG(1,
47                 PW_LOG_MODULE_NAME,
48                 2,
49                 "You are number%s %d!",
50                 (local = false) ? "" : " not",
51                 []() {
52                   global = 1;
53                   return global;
54                 }());
55 
56   EXPECT_EQ(1, global);
57   EXPECT_FALSE(local);
58 }
59 
60 }  // namespace
61