Comments (2)
Thank you, @oniboni for this issue and discussion!
A couple of things comes to mind from this:
- We should have a section in the documentation about these "tricks" (accessing a field in a parameter struct is another such case)
- We should think about "early" and "late" values in the constraints, perhaps use that as terms in the documentation
- Perhaps
return_by_value()
should be named differently, or perhaps even removed
from cgreen.
Solution
as proposed #297 (comment)
ssize_t send_data(void *data, size_t data_len) {
return *(*ssize_t)mock(data, data_len);
}
// [...]
Expect(SUT, some_test_where_data_needs_to_be_sent) {
// Prepare
ssize_t data_len_capture = 0;
// Expect
expect(send_data, will_set_contents_of_parameter(data_len, data_len_capture, sizeof(data_len_capture)),
will_return(&data_len_capture));
// Act
SUT_function_call();
// Assert
}
from cgreen.
Related Issues (20)
- with_side_effects() should provide ability to inspect arguments passed to a mocked function HOT 2
- CMake warning: Could NOT find LibBfd HOT 4
- Never seem to get a cgreen-runner executable HOT 5
- The libbfd dependence issue in Debian HOT 14
- Test helper scripts should use sh instead of bash for maximum portability
- Revert dependency on libbfd HOT 1
- Make learning mocks print immediately HOT 4
- Add documentation on compile time configuration
- create_xml_reporter() crashes on MSYS platform HOT 2
- CUTE reporter final report statistics zero
- CUTE reporter per test time invalid HOT 2
- Option for unbuffered stdout for cgreen-runner HOT 1
- cannot pass unit test in i386 HOT 8
- Test signal HOT 1
- [1.6.2] Version marked as 1.6.1 in the Cmake file HOT 1
- "cgreen-runner --quiet" results in "unrecognised option" HOT 3
- "cgreen-runner --verbose" is not HOT 2
- Default text reporter does not show names of failed tests HOT 2
- cannot pass unit test in s390x HOT 31
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cgreen.