[Proftpd-user] How to execute unit and regression tests
Gunjan Aggarwal <[email protected]>
| Newsgroups | gmane.network.proftpd.user |
|---|---|
| Message-ID | <[email protected]> |
Hi, I just installed ProFTPD version "1.3.7rc1" and trying to execute tests. It looks like that executing "make check" in the top level directory is not building and executing tests. If I change my current directory to "tests" directory and execute "make check", I get following build errors (complete log is attached with the mail): ``` PROJECT# cd tests/ && make check mkdir -p api/ gcc -g2 -O2 -Wall -fno-omit-frame-pointer -DHAVE_CONFIG_H -DLINUX -I.. -I../include -I../include -c -o api/pool.o api/pool.c In file included from api/pool.c:27:0: api/tests.h:36:3: error: #error "Missing Check installation; necessary for ProFTPD testsuite" # error "Missing Check installation; necessary for ProFTPD testsuite" ^ api/tests.h:42:1: error: unknown type name 'Suite' Suite *tests_get_pool_suite(void); ^ api/tests.h:43:1: error: unknown type name 'Suite' Suite *tests_get_array_suite(void); ^ api/tests.h:44:1: error: unknown type name 'Suite' Suite *tests_get_str_suite(void); .... <builtin>: recipe for target 'api/pool.o' failed ``` Please suggest how to build and execute the tests. Thanks, Gunjan ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ ProFTPD Users List <[email protected]> Unsubscribe problems? http://www.proftpd.org/list-unsub.html
Tests_build_failure.txt
(text/plain, 12.3 KB)
PROJECT# cd tests/ && make check
mkdir -p api/
gcc -g2 -O2 -Wall -fno-omit-frame-pointer -DHAVE_CONFIG_H -DLINUX -I.. -I../include -I../include -c -o api/pool.o api/pool.c
In file included from api/pool.c:27:0:
api/tests.h:36:3: error: #error "Missing Check installation; necessary for ProFTPD testsuite"
# error "Missing Check installation; necessary for ProFTPD testsuite"
^
api/tests.h:42:1: error: unknown type name 'Suite'
Suite *tests_get_pool_suite(void);
^
api/tests.h:43:1: error: unknown type name 'Suite'
Suite *tests_get_array_suite(void);
^
api/tests.h:44:1: error: unknown type name 'Suite'
Suite *tests_get_str_suite(void);
^
api/tests.h:45:1: error: unknown type name 'Suite'
Suite *tests_get_sets_suite(void);
^
api/tests.h:46:1: error: unknown type name 'Suite'
Suite *tests_get_timers_suite(void);
^
api/tests.h:47:1: error: unknown type name 'Suite'
Suite *tests_get_table_suite(void);
^
api/tests.h:48:1: error: unknown type name 'Suite'
Suite *tests_get_var_suite(void);
^
api/tests.h:49:1: error: unknown type name 'Suite'
Suite *tests_get_event_suite(void);
^
api/tests.h:50:1: error: unknown type name 'Suite'
Suite *tests_get_env_suite(void);
^
api/tests.h:51:1: error: unknown type name 'Suite'
Suite *tests_get_random_suite(void);
^
api/tests.h:52:1: error: unknown type name 'Suite'
Suite *tests_get_version_suite(void);
^
api/tests.h:53:1: error: unknown type name 'Suite'
Suite *tests_get_feat_suite(void);
^
api/tests.h:54:1: error: unknown type name 'Suite'
Suite *tests_get_netaddr_suite(void);
^
api/tests.h:55:1: error: unknown type name 'Suite'
Suite *tests_get_netacl_suite(void);
^
api/tests.h:56:1: error: unknown type name 'Suite'
Suite *tests_get_class_suite(void);
^
api/tests.h:57:1: error: unknown type name 'Suite'
Suite *tests_get_regexp_suite(void);
^
api/tests.h:58:1: error: unknown type name 'Suite'
Suite *tests_get_expr_suite(void);
^
api/tests.h:59:1: error: unknown type name 'Suite'
Suite *tests_get_scoreboard_suite(void);
^
api/tests.h:60:1: error: unknown type name 'Suite'
Suite *tests_get_stash_suite(void);
^
api/tests.h:61:1: error: unknown type name 'Suite'
Suite *tests_get_modules_suite(void);
^
api/tests.h:62:1: error: unknown type name 'Suite'
Suite *tests_get_cmd_suite(void);
^
api/tests.h:63:1: error: unknown type name 'Suite'
Suite *tests_get_response_suite(void);
^
api/tests.h:64:1: error: unknown type name 'Suite'
Suite *tests_get_fsio_suite(void);
^
api/tests.h:65:1: error: unknown type name 'Suite'
Suite *tests_get_netio_suite(void);
^
api/tests.h:66:1: error: unknown type name 'Suite'
Suite *tests_get_trace_suite(void);
^
api/tests.h:67:1: error: unknown type name 'Suite'
Suite *tests_get_parser_suite(void);
^
api/tests.h:68:1: error: unknown type name 'Suite'
Suite *tests_get_pidfile_suite(void);
^
api/tests.h:69:1: error: unknown type name 'Suite'
Suite *tests_get_config_suite(void);
^
api/tests.h:70:1: error: unknown type name 'Suite'
Suite *tests_get_auth_suite(void);
^
api/tests.h:71:1: error: unknown type name 'Suite'
Suite *tests_get_filter_suite(void);
^
api/tests.h:72:1: error: unknown type name 'Suite'
Suite *tests_get_inet_suite(void);
^
api/tests.h:73:1: error: unknown type name 'Suite'
Suite *tests_get_data_suite(void);
^
api/tests.h:74:1: error: unknown type name 'Suite'
Suite *tests_get_ascii_suite(void);
^
api/tests.h:75:1: error: unknown type name 'Suite'
Suite *tests_get_help_suite(void);
^
api/tests.h:76:1: error: unknown type name 'Suite'
Suite *tests_get_rlimit_suite(void);
^
api/tests.h:77:1: error: unknown type name 'Suite'
Suite *tests_get_encode_suite(void);
^
api/tests.h:78:1: error: unknown type name 'Suite'
Suite *tests_get_privs_suite(void);
^
api/tests.h:79:1: error: unknown type name 'Suite'
Suite *tests_get_display_suite(void);
^
api/tests.h:80:1: error: unknown type name 'Suite'
Suite *tests_get_misc_suite(void);
^
api/tests.h:81:1: error: unknown type name 'Suite'
Suite *tests_get_json_suite(void);
^
api/tests.h:82:1: error: unknown type name 'Suite'
Suite *tests_get_jot_suite(void);
^
api/tests.h:83:1: error: unknown type name 'Suite'
Suite *tests_get_redis_suite(void);
^
api/tests.h:84:1: error: unknown type name 'Suite'
Suite *tests_get_error_suite(void);
^
api/pool.c:45:1: warning: return type defaults to 'int' [-Wimplicit-int]
START_TEST (pool_destroy_pool_test) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:45:1: warning: type of 'pool_destroy_pool_test' defaults to 'int' [-Wimplicit-int]
api/pool.c:48:3: warning: implicit declaration of function 'mark_point' [-Wimplicit-function-declaration]
mark_point();
^
api/pool.c: At top level:
api/pool.c:81:1: error: unknown type name 'END_TEST'
END_TEST
^
api/pool.c:83:1: error: redefinition of 'START_TEST'
START_TEST (pool_make_sub_pool_test) {
^
api/pool.c:45:1: note: previous definition of 'START_TEST' was here
START_TEST (pool_destroy_pool_test) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:83:1: warning: type of 'pool_make_sub_pool_test' defaults to 'int' [-Wimplicit-int]
START_TEST (pool_make_sub_pool_test) {
^
api/pool.c:87:3: warning: implicit declaration of function 'fail_if' [-Wimplicit-function-declaration]
fail_if(p == NULL, "Failed to allocate parent pool");
^
api/pool.c: At top level:
api/pool.c:98:1: error: unknown type name 'END_TEST'
END_TEST
^
api/pool.c:100:1: error: redefinition of 'START_TEST'
START_TEST (pool_create_sz_test) {
^
api/pool.c:45:1: note: previous definition of 'START_TEST' was here
START_TEST (pool_destroy_pool_test) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:100:1: warning: type of 'pool_create_sz_test' defaults to 'int' [-Wimplicit-int]
START_TEST (pool_create_sz_test) {
^
api/pool.c: At top level:
api/pool.c:124:1: error: unknown type name 'END_TEST'
END_TEST
^
api/pool.c:126:1: error: redefinition of 'START_TEST'
START_TEST (pool_create_sz_with_alloc_test) {
^
api/pool.c:45:1: note: previous definition of 'START_TEST' was here
START_TEST (pool_destroy_pool_test) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:126:1: warning: type of 'pool_create_sz_with_alloc_test' defaults to 'int' [-Wimplicit-int]
START_TEST (pool_create_sz_with_alloc_test) {
^
api/pool.c: At top level:
api/pool.c:181:1: error: unknown type name 'END_TEST'
END_TEST
^
api/pool.c:183:1: error: redefinition of 'START_TEST'
START_TEST (pool_palloc_test) {
^
api/pool.c:45:1: note: previous definition of 'START_TEST' was here
START_TEST (pool_destroy_pool_test) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:183:1: warning: type of 'pool_palloc_test' defaults to 'int' [-Wimplicit-int]
START_TEST (pool_palloc_test) {
^
api/pool.c:193:3: warning: implicit declaration of function 'fail_unless' [-Wimplicit-function-declaration]
fail_unless(v == NULL, "Allocated %u-len memory", sz);
^
api/pool.c: At top level:
api/pool.c:205:1: error: unknown type name 'END_TEST'
END_TEST
^
api/pool.c:207:1: error: redefinition of 'START_TEST'
START_TEST (pool_pallocsz_test) {
^
api/pool.c:45:1: note: previous definition of 'START_TEST' was here
START_TEST (pool_destroy_pool_test) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:207:1: warning: type of 'pool_pallocsz_test' defaults to 'int' [-Wimplicit-int]
START_TEST (pool_pallocsz_test) {
^
api/pool.c: At top level:
api/pool.c:229:1: error: unknown type name 'END_TEST'
END_TEST
^
api/pool.c:231:1: error: redefinition of 'START_TEST'
START_TEST (pool_pcalloc_test) {
^
api/pool.c:45:1: note: previous definition of 'START_TEST' was here
START_TEST (pool_destroy_pool_test) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:231:1: warning: type of 'pool_pcalloc_test' defaults to 'int' [-Wimplicit-int]
START_TEST (pool_pcalloc_test) {
^
api/pool.c: At top level:
api/pool.c:260:1: error: unknown type name 'END_TEST'
END_TEST
^
api/pool.c:262:1: error: redefinition of 'START_TEST'
START_TEST (pool_pcallocsz_test) {
^
api/pool.c:45:1: note: previous definition of 'START_TEST' was here
START_TEST (pool_destroy_pool_test) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:262:1: warning: type of 'pool_pcallocsz_test' defaults to 'int' [-Wimplicit-int]
START_TEST (pool_pcallocsz_test) {
^
api/pool.c: At top level:
api/pool.c:284:1: error: unknown type name 'END_TEST'
END_TEST
^
api/pool.c:286:1: error: redefinition of 'START_TEST'
START_TEST (pool_tag_test) {
^
api/pool.c:45:1: note: previous definition of 'START_TEST' was here
START_TEST (pool_destroy_pool_test) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:286:1: warning: type of 'pool_tag_test' defaults to 'int' [-Wimplicit-int]
START_TEST (pool_tag_test) {
^
api/pool.c: At top level:
api/pool.c:346:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'static'
static unsigned int pool_cleanup_count = 0;
^
api/pool.c: In function 'cleanup_cb':
api/pool.c:349:3: error: 'pool_cleanup_count' undeclared (first use in this function)
pool_cleanup_count++;
^
api/pool.c:349:3: note: each undeclared identifier is reported only once for each function it appears in
api/pool.c: At top level:
api/pool.c:352:1: warning: return type defaults to 'int' [-Wimplicit-int]
START_TEST (pool_register_cleanup_test) {
^
api/pool.c:352:1: error: redefinition of 'START_TEST'
api/pool.c:45:1: note: previous definition of 'START_TEST' was here
START_TEST (pool_destroy_pool_test) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:352:1: warning: type of 'pool_register_cleanup_test' defaults to 'int' [-Wimplicit-int]
START_TEST (pool_register_cleanup_test) {
^
api/pool.c:355:3: error: 'pool_cleanup_count' undeclared (first use in this function)
pool_cleanup_count = 0;
^
api/pool.c: At top level:
api/pool.c:369:1: error: unknown type name 'END_TEST'
END_TEST
^
api/pool.c:371:1: error: redefinition of 'START_TEST'
START_TEST (pool_unregister_cleanup_test) {
^
api/pool.c:45:1: note: previous definition of 'START_TEST' was here
START_TEST (pool_destroy_pool_test) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:371:1: warning: type of 'pool_unregister_cleanup_test' defaults to 'int' [-Wimplicit-int]
START_TEST (pool_unregister_cleanup_test) {
^
api/pool.c:374:3: error: 'pool_cleanup_count' undeclared (first use in this function)
pool_cleanup_count = 0;
^
api/pool.c: At top level:
api/pool.c:396:1: error: unknown type name 'END_TEST'
END_TEST
^
api/pool.c:398:7: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
Suite *tests_get_pool_suite(void) {
^
api/pool.c:29:13: warning: 'set_up' defined but not used [-Wunused-function]
static void set_up(void) {
^
api/pool.c:37:13: warning: 'tear_down' defined but not used [-Wunused-function]
static void tear_down(void) {
^
api/pool.c: In function 'START_TEST':
api/pool.c:97:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
api/pool.c: In function 'START_TEST':
api/pool.c:123:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
api/pool.c: In function 'START_TEST':
api/pool.c:180:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
api/pool.c: In function 'START_TEST':
api/pool.c:204:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
api/pool.c: In function 'START_TEST':
api/pool.c:228:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
api/pool.c: In function 'START_TEST':
api/pool.c:259:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
api/pool.c: In function 'START_TEST':
api/pool.c:283:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
api/pool.c: In function 'START_TEST':
api/pool.c:301:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
api/pool.c: In function 'START_TEST':
api/pool.c:368:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
api/pool.c: In function 'START_TEST':
api/pool.c:395:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
<builtin>: recipe for target 'api/pool.o' failed
make: *** [api/pool.o] Error 1