Controller Tester는 여러 가지 매크로를 제공하여 사용자가 테스트 코드를 보다 쉽게 작성할 수 있도록 도와줍니다. 제공되는 매크로는 편집기에서 단축키(Ctrl + Spacebar)를 사용하여 확인 및 작성할 수 있습니다.

ASSERT 매크로

조건식을 검사하여 성공/실패 여부를 [테스트 케이스 탭]에 출력합니다.

매크로 형태 매개 변수 예제
CS_ASSERT(_b) _b: 조건식 CS_ASSERT(val!=1);
CS_ASSERT_MSG(_B, _msg) _B: 조건식
_msg: 조건식이 거짓일 경우 출력할 메시지
CS_ASSERT_MSG(val==1, "val is not 1!");

출력 매크로

특정 변수의 값을 [테스트 케이스 탭]에 출력합니다.

매크로 형태 매개 변수 예제
CS_INT_OUTPUT(_v, _s)
CS_UINT_OUTPUT(_v, _s)
CS_FLT_OUTPUT(_v, _s)
CS_STR_OUTPUT(_v, _s)
_v: 값을 출력할 변수
_s: [테스트 케이스 탭]에 표시할 이름
CS_INT_OUTPUT(int_var, "int_var_name");
CS_UINT_OUTPUT(unsigned_int_var, "unsigned_int_var_name");
CS_FLT_OUTPUT(float_var, "float_var_name");
CS_STR_OUTPUT(string_var, "string_var_name");

입력 매크로

테스트 수행 함수에 테스트 데이터를 전달하는 매크로입니다.

매크로 형태 매개 변수 예제
CS_INT_INPUT(_t, _s)
CS_UINT_INPUT(_t, _s)
CS_FLT_INPUT(_t, _s)
CS_STR_INPUT(_t, _s)
_t: 변수의 타입
_s: [테스트 케이스 탭]에 표시할 이름
CS_INT_INPUT(int, "int_var_name");
CS_UINT_INPUT(unsigned int, "unsigned_int_var_name");
CS_FLT_INPUT(float, "float_var_name");
CS_STR_INPUT(char*, "string_var_name");

주소 관련 매크로

변환된 소스 코드에서 임베디드 상의 주소에 직접 값을 입력하거나 가져오는 부분이 있는 경우 로컬 컴퓨터에서 수행 시 정상 동작을 하지 않을 수 있습니다. 이런 경우 주소 관련 매크로를 사용하여 가상의 주소에 값을 입력하고 출력할 수 있습니다.

매크로 형태 설명
CS_VIRTUAL_ADDR(_b,_e) 주소(_b)부터 주소(_e)까지의 공간을 생성합니다.
CS_ADDR_ASSIGN(_t,_a,_v)
CS_ADDR_SET(_t,_a,_v)
주소(_a)에 타입(_t)의 값(_v)을 지정합니다.
CS_ADDR_GET(_t,_a) 주소(_a)에서 타입(_t)의 값을 가져옵니다.
CS_ADDR_PTR(_a) 주소(_a)를 포인터 타입으로 반환합니다.
CS_VIRTUAL_ADDR_CLEAR() 생성한 메모리 공간을 제거합니다.

주소 관련 매크로 예제

// 0xFFE40000U에서부터 100만큼의 가상 메모리 공간 생성
CS_VIRTUAL_ADDR(0xFFE40000U, 0xFFE40000U+100);

// 0xFFE40000U에 int 타입의 값 10을 할당
CS_ADDR_ASSIGN(int ,0xFFE40000U, 10);
CS_ADDR_SET(int ,0xFFE40000U, 10);

// 변수 a에 0xFFE40000U의 값을 할당
int a = CS_ADDR_GET(int ,0xFFE40000U);

// 변수 ptr에 0xFFE40000U의 주소를 할당
int* ptr = CS_ADDR_PTR(0xFFE40000U);

// 생성한 가상 메모리 공간 삭제
CS_VIRTUAL_ADDR_CLEAR();

기타 매크로

매크로 형태 매개 변수 설명 예제
CS_LOG(_msg) _msg: 로그 메시지 사용자 로그 출력 CS_LOG("User Log");
CS_TESTCASENO() 현재 수행중인 테스트 케이스의 번호 반환 long long testCaseNum = CS_TESTCASENO();

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.