Function Capturing: Difference between revisions
Jump to navigation
Jump to search
Line 22: | Line 22: | ||
== Interception == | == Interception == | ||
Once captured a function could be intercepted and dynamically substituted to implement on-the-fly mocks, stubs, and doubles. The [[Using Test Doubles|Test Double]] article provides more details on the topic. | |||
== Remoting == | == Remoting == | ||
[[Category: Source Instrumentation]] | [[Category: Source Instrumentation]] |
Revision as of 18:49, 15 March 2010
For a user function to be exposed to the STRIDE Test System it needs to be captured. Once made available it could be remoted or doubled.
Specification
By using the STRIDE special scl_function pragma any global function could be captured. For example to capture:
/* foo.h */
int foo(void);
create a new header file and add the following pragma statement:
/* foo_SCL.h */
#include "foo.h"
#ifdef _SCL
#pragma scl_function(foo)
#endif
By simply passing the new header file to the STRIDE Build Tools the captured function would become part of the Intercept Module.
Interception
Once captured a function could be intercepted and dynamically substituted to implement on-the-fly mocks, stubs, and doubles. The Test Double article provides more details on the topic.