diff options
author | unknown <tomas@poseidon.ndb.mysql.com> | 2004-09-28 17:44:40 +0000 |
---|---|---|
committer | unknown <tomas@poseidon.ndb.mysql.com> | 2004-09-28 17:44:40 +0000 |
commit | 1ddc28a471dbf33e446d20fd4fcfcbb0e49eea62 (patch) | |
tree | a70d938207d3ff17b7ad86ce1bd22291f3fe0757 | |
parent | e44be2922e5005487b1bdd8dcfad2d27e9ad8a43 (diff) | |
parent | fa450407b1b90b706fa9a430c897723bf778edb4 (diff) | |
download | mariadb-git-1ddc28a471dbf33e446d20fd4fcfcbb0e49eea62.tar.gz |
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-ndb
-rw-r--r-- | client/mysqltest.c | 19 | ||||
-rw-r--r-- | mysql-test/mysql-test-run.sh | 11 | ||||
-rw-r--r-- | mysql-test/t/client_test.test | 2 | ||||
-rw-r--r-- | tests/client_test.c | 68 |
4 files changed, 63 insertions, 37 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c index b9eda208136..7f2b6e16947 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -861,10 +861,10 @@ int do_source(struct st_query* q) 1 error */ -int do_exec(struct st_query* q) +static void do_exec(struct st_query* q) { - int error= 0; - DYNAMIC_STRING *ds; + int error; + DYNAMIC_STRING *ds= NULL; /* Assign just to avoid warning */ DYNAMIC_STRING ds_tmp; char buf[1024]; FILE *res_file; @@ -901,7 +901,15 @@ int do_exec(struct st_query* q) while (fgets(buf, sizeof(buf), res_file)) replace_dynstr_append_mem(ds, buf, strlen(buf)); + } + + error= pclose(res_file); + + if (error != 0) + die("command \"%s\" failed", cmd); + if (!disable_result_log) + { if (glob_replace) free_replace(); @@ -919,9 +927,6 @@ int do_exec(struct st_query* q) if (ds == &ds_tmp) dynstr_free(&ds_tmp); } - pclose(res_file); - - DBUG_RETURN(error); } @@ -2846,7 +2851,7 @@ int main(int argc, char **argv) (void) mysql_ping(&cur_con->mysql); break; case Q_EXEC: - (void) do_exec(q); + do_exec(q); break; case Q_START_TIMER: /* Overwrite possible earlier start of timer */ diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 9b891d44a0b..f79a79256f8 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -208,6 +208,7 @@ MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log MYSQL_MANAGER_USER=root NO_SLAVE=0 USER_TEST= +FAILED_CASES= EXTRA_MASTER_OPT="" EXTRA_MYSQL_TEST_OPT="" @@ -1475,7 +1476,7 @@ run_testcase () fi exit 1 fi - + FAILED_CASES="$FAILED_CASES $tname" if [ -z "$DO_GDB" ] && [ -z "$USE_RUNNING_SERVER" ] && \ [ -z "$DO_DDD" ] && [ -z "$USE_EMBEDDED_SERVER" ] then @@ -1673,4 +1674,10 @@ $ECHO [ "$DO_GCOV" ] && gcov_collect # collect coverage information [ "$DO_GPROF" ] && gprof_collect # collect coverage information -exit 0 +if [ $TOT_FAIL -ne 0 ]; then + $ECHO "mysql-test-run: *** Failing the test(s):$FAILED_CASES" + $ECHO + exit 1 +else + exit 0 +fi diff --git a/mysql-test/t/client_test.test b/mysql-test/t/client_test.test new file mode 100644 index 00000000000..eb053b6c902 --- /dev/null +++ b/mysql-test/t/client_test.test @@ -0,0 +1,2 @@ +-- disable_result_log +--exec ../tests/client_test --testcase --user=root --socket=var/tmp/master.sock --port=$MYSQL_TCP_PORT diff --git a/tests/client_test.c b/tests/client_test.c index a2b0791baa2..06a655cd3fb 100644 --- a/tests/client_test.c +++ b/tests/client_test.c @@ -27,11 +27,19 @@ #include <my_getopt.h> #include <m_string.h> #include <assert.h> +#ifdef HAVE_SYS_PARAM_H +/* Include to get MAXPATHLEN */ +#include <sys/param.h> +#endif +#ifndef MAXPATHLEN +#define MAXPATHLEN 256 +#endif #define MAX_TEST_QUERY_LENGTH 300 /* MAX QUERY BUFFER LENGTH */ /* set default options */ +static int opt_testcase = 0; static char *opt_db= 0; static char *opt_user= 0; static char *opt_password= 0; @@ -183,7 +191,7 @@ static void client_connect() if (!(mysql= mysql_init(NULL))) { myerror("mysql_init() failed"); - exit(0); + exit(1); } if (!(mysql_real_connect(mysql, opt_host, opt_user, @@ -193,7 +201,7 @@ static void client_connect() myerror("connection failed"); mysql_close(mysql); fprintf(stdout, "\n Check the connection options using --help or -?\n"); - exit(0); + exit(1); } fprintf(stdout, " OK"); @@ -4071,14 +4079,14 @@ static void test_stmt_close() if (!(lmysql= mysql_init(NULL))) { myerror("mysql_init() failed"); - exit(0); + exit(1); } if (!(mysql_real_connect(lmysql, opt_host, opt_user, opt_password, current_db, opt_port, opt_unix_socket, 0))) { myerror("connection failed"); - exit(0); + exit(1); } fprintf(stdout, " OK"); @@ -4688,7 +4696,7 @@ static void test_manual_sample() { fprintf(stderr, "\n drop table failed"); fprintf(stderr, "\n %s", mysql_error(mysql)); - exit(0); + exit(1); } if (mysql_query(mysql, "CREATE TABLE test_table(col1 int, col2 varchar(50), \ col3 smallint, \ @@ -4696,7 +4704,7 @@ static void test_manual_sample() { fprintf(stderr, "\n create table failed"); fprintf(stderr, "\n %s", mysql_error(mysql)); - exit(0); + exit(1); } /* Prepare a insert query with 3 parameters */ @@ -4705,7 +4713,7 @@ static void test_manual_sample() { fprintf(stderr, "\n prepare, insert failed"); fprintf(stderr, "\n %s", mysql_error(mysql)); - exit(0); + exit(1); } fprintf(stdout, "\n prepare, insert successful"); @@ -4716,7 +4724,7 @@ static void test_manual_sample() if (param_count != 3) /* validate parameter count */ { fprintf(stderr, "\n invalid parameter count returned by MySQL"); - exit(0); + exit(1); } /* Bind the data for the parameters */ @@ -4747,7 +4755,7 @@ static void test_manual_sample() { fprintf(stderr, "\n param bind failed"); fprintf(stderr, "\n %s", mysql_stmt_error(stmt)); - exit(0); + exit(1); } /* Specify the data */ @@ -4762,7 +4770,7 @@ static void test_manual_sample() { fprintf(stderr, "\n execute 1 failed"); fprintf(stderr, "\n %s", mysql_stmt_error(stmt)); - exit(0); + exit(1); } /* Get the total rows affected */ @@ -4772,7 +4780,7 @@ static void test_manual_sample() if (affected_rows != 1) /* validate affected rows */ { fprintf(stderr, "\n invalid affected rows by MySQL"); - exit(0); + exit(1); } /* Re-execute the insert, by changing the values */ @@ -4786,7 +4794,7 @@ static void test_manual_sample() { fprintf(stderr, "\n execute 2 failed"); fprintf(stderr, "\n %s", mysql_stmt_error(stmt)); - exit(0); + exit(1); } /* Get the total rows affected */ @@ -4796,7 +4804,7 @@ static void test_manual_sample() if (affected_rows != 1) /* validate affected rows */ { fprintf(stderr, "\n invalid affected rows by MySQL"); - exit(0); + exit(1); } /* Close the statement */ @@ -4804,7 +4812,7 @@ static void test_manual_sample() { fprintf(stderr, "\n failed while closing the statement"); fprintf(stderr, "\n %s", mysql_stmt_error(stmt)); - exit(0); + exit(1); } assert(2 == my_stmt_result("SELECT * FROM test_table")); @@ -4813,7 +4821,7 @@ static void test_manual_sample() { fprintf(stderr, "\n drop table failed"); fprintf(stderr, "\n %s", mysql_error(mysql)); - exit(0); + exit(1); } fprintf(stdout, "Success !!!"); } @@ -4865,7 +4873,7 @@ static void test_prepare_alter() check_execute(stmt, rc); if (thread_query((char *)"ALTER TABLE test_prep_alter change id id_new varchar(20)")) - exit(0); + exit(1); is_null= 1; rc= mysql_stmt_execute(stmt); @@ -6486,7 +6494,7 @@ static void test_prepare_grant() ER_UNKNOWN_COM_ERROR= 1047 */ if (mysql_errno(mysql) != 1047) - exit(0); + exit(1); } else { @@ -6497,7 +6505,7 @@ static void test_prepare_grant() if (!(lmysql= mysql_init(NULL))) { myerror("mysql_init() failed"); - exit(0); + exit(1); } if (!(mysql_real_connect(lmysql, opt_host, "test_grant", "", current_db, opt_port, @@ -6505,7 +6513,7 @@ static void test_prepare_grant() { myerror("connection failed"); mysql_close(lmysql); - exit(0); + exit(1); } fprintf(stdout, " OK"); @@ -6559,8 +6567,8 @@ static void test_frm_bug() MYSQL_RES *result; MYSQL_ROW row; FILE *test_file; - char data_dir[NAME_LEN]; - char test_frm[255]; + char data_dir[MAXPATHLEN]; + char test_frm[MAXPATHLEN]; int rc; myheader("test_frm_bug"); @@ -6581,7 +6589,7 @@ static void test_frm_bug() bind[0].buffer_type= MYSQL_TYPE_STRING; bind[0].buffer= data_dir; - bind[0].buffer_length= NAME_LEN; + bind[0].buffer_length= MAXPATHLEN; bind[0].is_null= 0; bind[0].length= 0; bind[1]= bind[0]; @@ -6605,7 +6613,7 @@ static void test_frm_bug() { fprintf(stdout, "\n ERROR: my_fopen failed for '%s'", test_frm); fprintf(stdout, "\n test cancelled"); - return; + exit(1); } fprintf(test_file, "this is a junk file for test"); @@ -6894,7 +6902,7 @@ static void test_drop_temp() ER_UNKNOWN_COM_ERROR= 1047 */ if (mysql_errno(mysql) != 1047) - exit(0); + exit(1); } else { @@ -6904,7 +6912,7 @@ static void test_drop_temp() if (!(lmysql= mysql_init(NULL))) { myerror("mysql_init() failed"); - exit(0); + exit(1); } rc= mysql_query(mysql, "flush privileges"); @@ -6917,7 +6925,7 @@ static void test_drop_temp() mysql= lmysql; myerror("connection failed"); mysql_close(lmysql); - exit(0); + exit(1); } fprintf(stdout, " OK"); @@ -10447,6 +10455,8 @@ static struct my_option client_test_long_options[] = (char **) &opt_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"socket", 'S', "Socket file to use for connection", (char **) &opt_unix_socket, (char **) &opt_unix_socket, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, + {"testcase", 'c', "May disable some code when runs as mysql-test-run testcase.", + 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"count", 't', "Number of times test to be executed", (char **) &opt_count, (char **) &opt_count, 0, GET_UINT, REQUIRED_ARG, 1, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0} @@ -10490,6 +10500,9 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), case '#': DBUG_PUSH(argument ? argument : default_dbug_option); break; + case 'c': + opt_testcase = 1; + break; case 'p': if (argument) { @@ -10740,6 +10753,5 @@ int main(int argc, char **argv) print_test_output(); my_end(0); - return(0); + exit(0); } - |