5 #include "sw/device/lib/base/status.h"
11 #include "gtest/gtest.h"
13 namespace status_unittest {
16 TEST(Status, OkValues) {
21 EXPECT_EQ(status_ok(
status),
true);
22 EXPECT_EQ(status_err(
status), absl_status_t::kOk);
23 EXPECT_EQ(
status.value, 0);
27 EXPECT_EQ(status_ok(
status),
true);
28 EXPECT_EQ(status_err(
status), absl_status_t::kOk);
29 EXPECT_EQ(
status.value, 5);
34 EXPECT_EQ(status_ok(
status),
false);
37 TEST(Status, ErrorValues) {
47 int32_t expected_line = __LINE__ - 1;
48 err = status_extract(
status, &message, &arg, mod_id);
49 EXPECT_EQ(status_ok(
status),
false);
50 EXPECT_EQ(status_err(
status), absl_status_t::kUnknown);
52 EXPECT_EQ(arg, expected_line);
53 EXPECT_EQ(std::string(mod_id),
"STA");
57 err = status_extract(
status, &message, &arg, mod_id);
58 EXPECT_EQ(status_ok(
status),
false);
59 EXPECT_EQ(status_err(
status), absl_status_t::kCancelled);
62 EXPECT_EQ(std::string(mod_id),
"STA");
65 TEST(Status, ErrorValuesInModule) {
76 #define MODULE_ID MAKE_MODULE_ID('z', 'z', 'z')
78 int32_t expected_line = __LINE__ - 1;
79 err = status_extract(
status, &message, &arg, mod_id);
80 EXPECT_EQ(status_ok(
status),
false);
81 EXPECT_EQ(status_err(
status), absl_status_t::kUnknown);
83 EXPECT_EQ(arg, expected_line);
84 EXPECT_EQ(std::string(mod_id),
"ZZZ");