Same tests as basic but checking result

vseva/unittest
Victor Seva 13 years ago
parent 4f83431e92
commit 3c68810c81

@ -9,7 +9,7 @@ basic: basic.c ../src/libtcap.so.0
cd .. && make all
unit_test: unit_test.c
gcc -Wall -g unit_test.c -o unit_test -lcmocka
gcc -Wall -g -I ../include -I../asn1-compiled unit_test.c -o unit_test -L../src -lcmocka -ltcap
clean:
rm -f basic unit_test

@ -3,14 +3,51 @@
#include <setjmp.h>
#include <cmocka.h>
/* A test case that does nothing and succeeds. */
static void null_test_success(void **state) {
(void) state; /* unused */
#include "libtcap.h"
const char tcap[] = "\x64\x81\x86\x49\x03\x0a\x7e\x71\x6b\x2a\x28\x28\x06\x07\x00\x11\x86\x05\x01\x01\x01\xa0\x1d\x61\x1b\xa1\x0d\x06\x0b\x2a\x81\x76\x82\x15\x01\x01\x01\x01\x00\x01\xa2\x03\x02\x01\x00\xa3\x05\xa1\x03\x02\x01\x00\x6c\x53\xa1\x10\x02\x01\x58\x02\x01\x22\xbf\x33\x07\x83\x05\x31\x30\x30\x32\x34\xa1\x3f\x02\x01\x59\x02\x01\x14\x30\x37\xa0\x0e\x04\x0c\x83\x90\x89\x10\x10\x80\x22\x08\x00\x55\x50\x05\x83\x01\x09\x9a\x22\x30\x20\xa0\x1e\x80\x01\x00\x81\x01\x00\x82\x01\x01\x83\x01\x01\x84\x01\x00\x85\x01\x00\x86\x01\x01\x87\x01\x01\x88\x01\x00\x89\x01\x00";
const int tcap_len = sizeof(tcap) - 1;
struct output_buffer out;
char buf[256];
static void test_localValue(void **state) {
int i;
OUTPUT_BUFFER_INIT(&out, buf);
i = tcap_extract(tcap, tcap_len, "end.components.1.invoke.opCode.localValue", &out);
assert_int_equal(i, 0);
assert_int_equal(out.used, 2);
out.buf[2] = '\0';
assert_string_equal(out.buf, "20");
}
static void test_cutAndPaste(void **state) {
int i;
OUTPUT_BUFFER_INIT(&out, buf);
i = inap_extract(tcap, tcap_len, "ConnectArg.cutAndPaste", &out);
assert_int_equal(i, 0);
assert_int_equal(out.used, 1);
out.buf[1] = '\0';
assert_string_equal(out.buf, "9");
}
static void test_destinationRoutingAddress(void **state) {
int i;
OUTPUT_BUFFER_INIT(&out, buf);
i = inap_extract(tcap, tcap_len, "ConnectArg.destinationRoutingAddress.0", &out);
assert_int_equal(i, 0);
assert_int_equal(out.used, 35);
out.buf[35] = '\0';
assert_string_equal(out.buf, "83 90 89 10 10 80 22 08 00 55 50 05");
}
int main(void) {
const UnitTest tests[] = {
unit_test(null_test_success),
unit_test(test_localValue),
unit_test(test_cutAndPaste),
unit_test(test_destinationRoutingAddress)
};
return run_tests(tests);
}

Loading…
Cancel
Save