Skip to content

Create a CF_ASSERT macro for tests - #3245

Open
Databean wants to merge 1 commit into
google:mainfrom
Databean:cf_assert
Open

Databean wants to merge 1 commit into
google:mainfrom
Databean:cf_assert

Conversation

@Databean

Copy link
Copy Markdown
Member

In tests it is common to write

auto value = FunctionReturningResult();
ASSERT_THAT(value, IsOk());
DoSomething(*value);

It would be nice to have something like CF_EXPECT instead, to write a test as

auto value = CF_ASSERT(FunctionReturningResult());
DoSomething(value);

Sample error:

cuttlefish/host/commands/cvd/cli/commands/monitor/kernel_test.cc:31: Failure
Value of: macro_intermediate_result
Expected: an ok result
  Actual: 56-byte object <F0-13 F3-FD 07-56 00-00 70-15 F3-FD 07-56 00-00 70-15 F3-FD 07-56 00-00 F8-FB F2-FD 07-56 00-00 40-09 BE-0C FE-7F 00-00 C1-0D D5-47 80-7F 00-00 00-13 F3-FD 07-56 00-00>, which is an error result with trace:  | cuttlefish/host/commands/cvd/cli/commands/monitor/kernel.cc:55
 v Result<KernelLine> cuttlefish::ParseKernelLine(std::string_view)
CF_EXPECT(false)

Bug: b/565923720

@Databean
Databean requested review from cjreynol and jmacnak and removed request for cjreynol September 25, 2026 00:33
In tests it is common to write
```c++
auto value = FunctionReturningResult();
ASSERT_THAT(value, IsOk());
DoSomething(*value);
```
It would be nice to have something like `CF_EXPECT` instead, to write a test as
```c++
auto value = CF_ASSERT(FunctionReturningResult());
DoSomething(value);
```

Sample error:
```
cuttlefish/host/commands/cvd/cli/commands/monitor/kernel_test.cc:31: Failure
Value of: macro_intermediate_result
Expected: an ok result
  Actual: 56-byte object <F0-13 F3-FD 07-56 00-00 70-15 F3-FD 07-56 00-00 70-15 F3-FD 07-56 00-00 F8-FB F2-FD 07-56 00-00 40-09 BE-0C FE-7F 00-00 C1-0D D5-47 80-7F 00-00 00-13 F3-FD 07-56 00-00>, which is an error result with trace:  | cuttlefish/host/commands/cvd/cli/commands/monitor/kernel.cc:55
 v Result<KernelLine> cuttlefish::ParseKernelLine(std::string_view)
CF_EXPECT(false)
```

Bug: b/565923720

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants