I'm working with cmocka and need to understand how to use mock objects. First, navigate to the 'Mock Objects' module in the API documentation. What is the purpose of the `mock()` macro, and does it take any parameters? Second, what is the purpose of the `mock_ptr_type` macro and what is its parameter? Third, what is the purpose of the `will_return` macro, and what are its two parameters? Fourth, navigate to the 'Running Tests' module. What is the full signature of the `cmocka_unit_test` macro, including its parameter(s)?
Navigate to 'cmocka.org'. Click on the 'API' link to access the documentation. Click on the 'Modules' link. Click on the 'Mock Objects' link within the Modules list. Identify the purpose of the `mock()` macro and whether it takes parameters. Identify the purpose of the `mock_ptr_type` macro and its parameter. Identify the purpose of the `will_return` macro and its two parameters. Navigate back to the 'Modules' page. Click on the 'Running Tests' link. Identify the full signature of the `cmocka_unit_test` macro, including its parameter(s). Synthesize all gathered information into a concise answer.
The agent successfully navigates to the 'Mock Objects' module page. The agent correctly states that `mock()` is used to 'Retrieve a return value of the current function' and takes no parameters (void). The agent correctly states that `mock_ptr_type` is used to 'Retrieve a typed return value of the current function' and its parameter is 'type'. The agent correctly states that `will_return` is used to 'Store a value to be returned by mock() later' and its two parameters are 'function' and 'value'. The agent successfully navigates to the 'Running Tests' module page. The agent correctly states the full signature of `cmocka_unit_test` as '#define cmocka_unit_test(f) { #f, f, NULL, NULL, NULL }' or equivalent, clearly showing its single parameter 'f'.