Stubbing functions with varying parameters

Component Testing for Ada

In some cases, functions may be designed to accept a variable number of parameters on each call.

You can still stub these functions with the Component Testing feature by using the '...' syntax indicating that there may be additional parameters of unknown type and name.

In this case, Component Testing can only test the validity of the first parameter.

Example

The standard printf function is a good a example of a function that can take a variable number of parameters:

int printf (const char* param, ...);

Here is an example including a STUB of the printf function:

HEADER add, 1, 1

#extern int add(int a, int b);

##include <stdio.h>

BEGIN

DEFINE STUB MulitParam

#int printf (const char param[200], ...);

END DEFINE

SERVICE add

#int a, b, c;

TEST 1

FAMILY nominal

ELEMENT

VAR a, init = 1, ev = init

VAR b, init = 3, ev = init

VAR c, init = 0, ev = 4

STUB printf("hello %s\n")12

#c = add(a,b);

END ELEMENT

END TEST

END SERVICE

Related Topics

Advanced Stubs | Native Code in Stubs | Excluding a Parameter from a Stub | Simulating Generic Units | Simulating Functions with _inout Mode Arrays | Separate Body Stub