[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.