Lines Matching full:interfaces
30 Do not add test-specific interfaces if there's a practical way of doing it another way. All public …
34 …nclude internal header files from `library/`. Do not define non-public interfaces in public header…
141 ### Fine-grained public interfaces
143 …interfaces that are not useful in production. These interfaces have costs: they increase the code …
145 As a rule, we do not add public interfaces solely for testing purposes. We only add public interfac…
147 Mbed TLS traditionally has very fine-grained public interfaces, with many platform functions that c…
153 | Effacement | !! Requires adding many otherwise-useless interfaces |
154 | Portability | ++ Ideal; the additional interfaces may be useful for portability beyond testing |
156 | | ! Public interfaces must remain for backward compatibility even if the test arc…
158 ### Fine-grained undocumented interfaces
160 …interfaces. Undocumented interfaces are described in public headers for the sake of the C compiler…
162 …interfaces, mostly intended for cross-module abstraction leakage rather than for testing. For the …
168 | Effacement | !! Requires adding many otherwise-useless interfaces |
169 | Portability | ++ Ideal; the additional interfaces may be useful for portability beyond testing |
172 ### Internal interfaces
174 We can write tests that call internal functions that are not exposed in the public interfaces. This…
176 …hat these interfaces must exist in the first place. If they don't, this has mostly the same downsi…
178 …interfaces need to be used correctly. We may accidentally rely on internal details in the tests th…
180 …ch is mostly portable since it only relies on C interfaces. A limitation is that the test-only int…
184 | Coverage | ~ Many useful tests require additional internal interfaces |
187 | Effacement | ++ Fine as long as the internal interfaces aren't added solely for test purposes |
190 …ntainability | + Tests interfaces that are documented; dependencies in the tests are easily notice…
219 | Maintainability | + Test interfaces impact the product source code, but at least they're clearly …
298 Solution ([internal interface](#internal-interfaces)): in most tests involving PSA functions, the c…
330 Solution ([internal interface](#internal-interfaces)): call `psa_its` functions to modify the stora…
348 Solution ([internal interface](#internal-interfaces)): call internal functions to inspect the conte…