280
283
server_startup_st *servers= (server_startup_st*)object;
281
284
test_true(servers and servers->validate());
283
#if defined(HAVE_GEARMAND_BINARY) && HAVE_GEARMAND_BINARY
284
test_true(has_gearmand());
287
286
test_skip(true, has_gearmand());
289
test_skip(true, server_startup(*servers, "gearmand", get_free_port(), 0, NULL));
287
test_skip(true, server_startup(*servers, "gearmand", get_free_port(), 0, NULL, false));
291
290
return TEST_SUCCESS;
343
344
server_startup_st *servers= (server_startup_st*)object;
344
345
test_true(servers);
346
test_true(servers->start_server(testing_service, get_free_port(), 0, NULL, true));
347
test_compare(servers->start_server(testing_service, get_free_port(), 0, NULL, false), true);
348
349
test_true(servers->last());
349
350
pid_t last_pid= servers->last()->pid();
397
398
static test_return_t application_true_BINARY(void *)
399
Application true_app("true");
400
test_skip(0, access("/usr/bin/true", X_OK ));
401
Application true_app("/usr/bin/true");
401
403
test_compare(Application::SUCCESS, true_app.run());
402
test_compare(Application::SUCCESS, true_app.wait());
404
test_compare(Application::SUCCESS, true_app.join());
404
406
return TEST_SUCCESS;
407
409
static test_return_t application_gdb_true_BINARY2(void *)
409
411
test_skip(0, access("/usr/bin/gdb", X_OK ));
410
Application true_app("true");
412
Application true_app("/usr/bin/true");
411
413
true_app.use_gdb();
413
415
test_compare(Application::SUCCESS, true_app.run());
414
test_compare(Application::SUCCESS, true_app.wait());
416
test_compare(Application::SUCCESS, true_app.join());
416
418
return TEST_SUCCESS;
419
421
static test_return_t application_gdb_true_BINARY(void *)
421
423
test_skip(0, access("/usr/bin/gdb", X_OK ));
422
Application true_app("true");
424
Application true_app("/usr/bin/true");
423
425
true_app.use_gdb();
425
427
const char *args[]= { "--fubar", 0 };
426
428
test_compare(Application::SUCCESS, true_app.run(args));
427
test_compare(Application::SUCCESS, true_app.wait());
429
test_compare(Application::SUCCESS, true_app.join());
429
431
return TEST_SUCCESS;
432
434
static test_return_t application_true_fubar_BINARY(void *)
434
Application true_app("true");
436
test_skip(0, access("/usr/bin/true", X_OK ));
437
Application true_app("/usr/bin/true");
436
439
const char *args[]= { "--fubar", 0 };
437
440
test_compare(Application::SUCCESS, true_app.run(args));
438
test_compare(Application::SUCCESS, true_app.wait());
441
test_compare(Application::SUCCESS, true_app.join());
439
442
test_zero(true_app.stdout_result().size());
441
444
return TEST_SUCCESS;
451
454
const char *args[]= { "--fubar", 0 };
452
455
#if defined(TARGET_OS_OSX) && TARGET_OS_OSX
453
test_compare(Application::INVALID, true_app.run(args));
456
test_compare(Application::INVALID_POSIX_SPAWN, true_app.run(args));
455
458
test_compare(Application::SUCCESS, true_app.run(args));
456
test_compare(Application::INVALID, true_app.wait(false));
459
test_compare(Application::INVALID_POSIX_SPAWN, true_app.join());
459
462
test_zero(true_app.stdout_result().size());
461
464
return TEST_SUCCESS;
464
static test_return_t application_true_fubar_eq_doh_BINARY(void *)
466
Application true_app("true");
468
const char *args[]= { "--fubar=doh", 0 };
469
test_compare(Application::SUCCESS, true_app.run(args));
470
test_compare(Application::SUCCESS, true_app.wait());
471
test_zero(true_app.stdout_result().size());
476
static test_return_t application_true_fubar_eq_doh_option_BINARY(void *)
478
Application true_app("true");
480
true_app.add_option("--fubar=", "doh");
482
test_compare(Application::SUCCESS, true_app.run());
483
test_compare(Application::SUCCESS, true_app.wait());
484
test_zero(true_app.stdout_result().size());
490
467
static test_return_t GET_TEST(void *)
492
469
libtest::http::GET get("http://foo.example.com/");
540
517
static test_return_t application_echo_fubar_BINARY(void *)
542
Application true_app("echo");
544
const char *args[]= { "fubar", 0 };
545
test_compare(Application::SUCCESS, true_app.run(args));
546
test_compare(Application::SUCCESS, true_app.wait());
548
while (true_app.slurp() == false) {} ;
550
libtest::vchar_t response;
551
make_vector(response, test_literal_param("fubar\n"));
552
test_compare(response, true_app.stdout_result());
521
test_skip(0, access("/bin/echo", X_OK ));
522
Application true_app("/bin/echo");
524
const char *args[]= { "fubar", 0 };
525
test_compare(Application::SUCCESS, true_app.run(args));
527
while (true_app.slurp() == false) {} ;
529
libtest::vchar_t response;
530
make_vector(response, test_literal_param("fubar\n"));
531
test_compare(response, true_app.stdout_result());
554
534
return TEST_SUCCESS;
557
537
static test_return_t application_echo_fubar_BINARY2(void *)
559
Application true_app("echo");
561
true_app.add_option("fubar");
563
test_compare(Application::SUCCESS, true_app.run());
564
test_compare(Application::SUCCESS, true_app.join());
566
libtest::vchar_t response;
567
make_vector(response, test_literal_param("fubar\n"));
568
test_compare(response, true_app.stdout_result());
573
static test_return_t true_BINARY(void *)
541
test_skip(0, access("/bin/echo", X_OK ));
542
Application true_app("/bin/echo");
544
true_app.add_option("fubar");
546
test_compare(Application::SUCCESS, true_app.run());
547
test_compare(Application::SUCCESS, true_app.join());
549
libtest::vchar_t response;
550
make_vector(response, test_literal_param("fubar\n"));
551
test_compare(response, true_app.stdout_result());
557
static test_return_t echo_fubar_BINARY(void *)
559
const char *args[]= { "fubar", 0 };
560
test_compare(EXIT_SUCCESS, exec_cmdline("/bin/echo", args));
565
static test_return_t core_count_BINARY(void *)
575
567
const char *args[]= { 0 };
576
test_compare(EXIT_SUCCESS, exec_cmdline("true", args));
581
static test_return_t true_fubar_BINARY(void *)
583
const char *args[]= { "--fubar", 0 };
584
test_compare(EXIT_SUCCESS, exec_cmdline("true", args));
589
static test_return_t echo_fubar_BINARY(void *)
591
const char *args[]= { "fubar", 0 };
592
test_compare(EXIT_SUCCESS, exec_cmdline("echo", args));
569
test_compare(EXIT_SUCCESS, exec_cmdline("libtest/core-count", args, true));
594
571
return TEST_SUCCESS;
777
752
test_compare(-1, access(tmp.c_str(), R_OK));
778
753
test_compare(-1, access(tmp.c_str(), F_OK));
780
Application touch_app("touch");
755
Application touch_app("/usr/bin/touch");
781
756
const char *args[]= { tmp.c_str(), 0 };
782
757
test_compare(Application::SUCCESS, touch_app.run(args));
783
758
test_compare(Application::SUCCESS, touch_app.join());
915
901
test_st cmdline_tests[] ={
916
{"true", 0, true_BINARY },
917
{"true --fubar", 0, true_fubar_BINARY },
918
902
{"echo fubar", 0, echo_fubar_BINARY },
903
{"core-count", 0, core_count_BINARY },
919
904
{"wait --quiet", 0, wait_BINARY },
920
905
{"wait --quiet --help", 0, wait_help_BINARY },
921
906
{"wait --quiet --version", 0, wait_version_BINARY },
969
954
{"gbd true", 0, application_gdb_true_BINARY2 },
970
955
{"true --fubar", 0, application_true_fubar_BINARY },
971
956
{"doesnotexist --fubar", 0, application_doesnotexist_BINARY },
972
{"true --fubar=doh", 0, application_true_fubar_eq_doh_BINARY },
973
{"true --fubar=doh add_option()", 0, application_true_fubar_eq_doh_option_BINARY },
974
957
{"echo fubar", 0, application_echo_fubar_BINARY },
975
958
{"echo fubar (as option)", 0, application_echo_fubar_BINARY2 },
1008
992
{"local", 0, 0, local_log},
1009
993
{"directories", 0, 0, directories_tests},
1010
994
{"comparison", 0, 0, comparison_tests},
1011
{"gearmand", check_for_gearman, 0, gearmand_tests},
1012
{"memcached", check_for_libmemcached, 0, memcached_TESTS },
1013
{"drizzled", check_for_drizzle, 0, drizzled_tests},
995
{"gearmand", check_for_gearman, clear_servers, gearmand_tests},
996
{"memcached", check_for_libmemcached, clear_servers, memcached_TESTS },
997
{"drizzled", check_for_drizzle, clear_servers, drizzled_tests},
1014
998
{"cmdline", 0, 0, cmdline_tests},
1015
999
{"application", 0, 0, application_tests},
1016
1000
{"http", check_for_curl, 0, http_tests},