Comments (2)
Imported comment by internal user on Wed Nov 17 10:31:54 2021
Many of the assert statements in CF are not necessary and may be candidates for outright removal. For example, inCF_CFDP_R2_SubstateSendFin.
sret = CF_CFDP_SendFin(t, t->state_data.r.r2.dc, t->state_data.r.r2.fs, t->history->cc);
CF_Assert(sret!=CF_SEND_ERROR); /* CF_CFDP_SendFin does not return CF_SEND_ERROR */
What value does it add to assert that a local function did not return the value it does not return? In reality it only matters if it was CF_SEND_SUCCESS or not. Assertions like this unnecessary clutter in the code.
from cf.
One possible solution here is to convert the assert statements into DEBUG asserts, and default to compiling them out. This way the information is still preserved in the code (i.e. that the value must be within some range or not NULL, etc) but these are not flagged as branches that are not covered in the tests. This way a user could still turn them back on if they want to.
from cf.
Related Issues (20)
- cfs_cf.dox references CCSDS 727.0-B-4
- Update documentation to include lessons learned
- Clean up unused error codes/checks
- Reorganize headers and structure them according to documented patterns
- CF writes to received SB buffer
- Implement dispatch pattern for CF
- Add EDS file for CF
- Fix typo in Requirement CF2002.1.3
- Various type mismatches in CF
- EDS file inconsistencies
- Should message buffers returned from `CFE_SB_ReceiveBuffer` be checked for `NULL`?
- Segfault trying to dereference NULL pointer.
- Apply name updates from recent EdsLib change
- Placing a file with a name that is too long in the polling directory causes errors to spam
- Inaccurate comment in CF_CFDP_ReceiveMessage
- cf delete file when there is an error during tx HOT 1
- Transaction priority sorted incorrectly
- Static analysis issues JSC 2.1
- Standardization of Command Responses
- EotPacket provides transaction status, but defines are internal
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 cf.