Commit 51580c64 authored by msvensson@pilot.(none)'s avatar msvensson@pilot.(none)
Browse files

Improve error messages

Write test results to var/log
Add test for "source" and variable expansion
parent cee0fe85
Loading
Loading
Loading
Loading
+21 −15
Original line number Diff line number Diff line
@@ -1125,7 +1125,7 @@ void cat_file(DYNAMIC_STRING* ds, const char* filename)
  char buff[512];

  if ((fd= my_open(filename, O_RDONLY, MYF(0))) < 0)
    die("Failed to open file %s", filename);
    die("Failed to open file '%s'", filename);
  while((len= my_read(fd, (byte*)&buff,
                      sizeof(buff), MYF(0))) > 0)
  {
@@ -1364,7 +1364,7 @@ int compare_files2(File fd, const char* filename2)
  if ((fd2= my_open(filename2, O_RDONLY, MYF(0))) < 0)
  {
    my_close(fd, MYF(0));
    die("Failed to open second file: %s", filename2);
    die("Failed to open second file: '%s'", filename2);
  }
  while((len= my_read(fd, (byte*)&buff,
                      sizeof(buff), MYF(0))) > 0)
@@ -1421,7 +1421,7 @@ int compare_files(const char* filename1, const char* filename2)
  int error;

  if ((fd= my_open(filename1, O_RDONLY, MYF(0))) < 0)
    die("Failed to open first file: %s", filename1);
    die("Failed to open first file: '%s'", filename1);

  error= compare_files2(fd, filename2);

@@ -1447,12 +1447,12 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char *fname)
{
  int error;
  File fd;
  char ds_temp_file_path[FN_REFLEN];
  char temp_file_path[FN_REFLEN];

  DBUG_ENTER("dyn_string_cmp");
  DBUG_PRINT("enter", ("fname: %s", fname));

  if ((fd= create_temp_file(ds_temp_file_path, NULL,
  if ((fd= create_temp_file(temp_file_path, NULL,
                            "tmp", O_CREAT | O_SHARE | O_RDWR,
                            MYF(MY_WME))) < 0)
    die("Failed to create temporary file for ds");
@@ -1464,15 +1464,15 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char *fname)
  {
    my_close(fd, MYF(0));
    /* Remove the temporary file */
    my_delete(ds_temp_file_path, MYF(0));
    die("Failed to write to '%s'", ds_temp_file_path);
    my_delete(temp_file_path, MYF(0));
    die("Failed to write file '%s'", temp_file_path);
  }

  error= compare_files2(fd, fname);

  my_close(fd, MYF(0));
  /* Remove the temporary file */
  my_delete(ds_temp_file_path, MYF(0));
  my_delete(temp_file_path, MYF(0));

  DBUG_RETURN(error);
}
@@ -1498,6 +1498,9 @@ void check_result(DYNAMIC_STRING* ds)
  DBUG_ASSERT(result_file_name);
  DBUG_PRINT("enter", ("result_file_name: %s", result_file_name));

  if (access(result_file_name, F_OK) != 0)
    die("The specified result file does not exist: '%s'", result_file_name);

  switch (dyn_string_cmp(ds, result_file_name))
  {
  case RESULT_OK:
@@ -1507,12 +1510,15 @@ void check_result(DYNAMIC_STRING* ds)
    /* Fallthrough */
  case RESULT_CONTENT_MISMATCH:
  {
    /* Result mismatched, dump results to .reject file and then show the diff */
    /*
      Result mismatched, dump results to .reject file
      and then show the diff
    */
    char reject_file[FN_REFLEN];
    fn_format(reject_file, result_file_name, "", ".reject",
              MY_REPLACE_EXT);
    DBUG_PRINT("enter", ("reject_file_name: %s", reject_file));
    str_to_file(reject_file, ds->str, ds->length);
    str_to_file(fn_format(reject_file, result_file_name, opt_logdir, ".reject",
                          *opt_logdir ? MY_REPLACE_DIR | MY_REPLACE_EXT :
                          MY_REPLACE_EXT),
                ds->str, ds->length);

    dynstr_set(ds, NULL); /* Don't create a .log file */

@@ -2121,7 +2127,7 @@ int open_file(const char *name)
  if (!(cur_file->file = my_fopen(buff, O_RDONLY | FILE_BINARY, MYF(0))))
  {
    cur_file--;
    die("Could not open file %s", buff);
    die("Could not open file '%s'", buff);
  }
  cur_file->file_name= my_strdup(buff, MYF(MY_FAE));
  cur_file->lineno=1;
@@ -4980,7 +4986,7 @@ void read_embedded_server_arguments(const char *name)
    embedded_server_args[0]= (char*) "";		/* Progname */
  }
  if (!(file=my_fopen(buff, O_RDONLY | FILE_BINARY, MYF(MY_WME))))
    die("Failed to open file %s", buff);
    die("Failed to open file '%s'", buff);

  while (embedded_server_arg_count < MAX_EMBEDDED_SERVER_ARGS &&
	 (str=fgets(argument,sizeof(argument), file)))
+1 −0
Original line number Diff line number Diff line
@@ -4677,6 +4677,7 @@ sub run_mysqltest ($) {
  mtr_add_arg($args, "--skip-safemalloc");
  mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
  mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir);
  mtr_add_arg($args, "--logdir=%s/log", $opt_vardir);

  # Log line number and time  for each line in .test file
  mtr_add_arg($args, "--mark-progress")
+5 −3
Original line number Diff line number Diff line
@@ -293,7 +293,7 @@ var5 from query that returns no row
failing query in let
mysqltest: At line 1: Error running query 'failing query': 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'failing query' at line 1
mysqltest: At line 1: Missing required argument 'filename' to command 'source'
mysqltest: At line 1: Could not open file ./non_existingFile
mysqltest: At line 1: Could not open file './non_existingFile'
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql": At line 1: Source directives are nesting too deep
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql": At line 1: query 'garbage ' failed: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'garbage' at line 1

@@ -352,6 +352,8 @@ here is the sourced script
In loop
here is the sourced script
here is the sourced script
"hello"
"hello"
mysqltest: At line 1: Missing argument to sleep
mysqltest: At line 1: Missing argument to real_sleep
mysqltest: At line 1: Invalid argument to sleep "abc"
@@ -485,7 +487,7 @@ insert into t1 values (1);
select 'select-me';
insertz 'error query'' failed: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'insertz 'error query'' at line 1

More results from queries before failure can be found in MYSQLTEST_VARDIR/tmp/bug11731.log
More results from queries before failure can be found in MYSQLTEST_VARDIR/log/bug11731.log
drop table t1;
Multi statement using expected error
create table t1 (a int primary key);
@@ -538,7 +540,7 @@ mysqltest: At line 1: File already exist: 'MYSQLTEST_VARDIR/tmp/test_file1.tmp'
Some data
for cat_file command
of mysqltest
mysqltest: At line 1: Failed to open file non_existing_file
mysqltest: At line 1: Failed to open file 'non_existing_file'
mysqltest: At line 1: Missing required argument 'filename' to command 'file_exists'
mysqltest: At line 1: Missing required argument 'from_file' to command 'copy_file'
mysqltest: At line 1: Missing required argument 'to_file' to command 'copy_file'
+15 −2
Original line number Diff line number Diff line
@@ -854,6 +854,19 @@ while ($num)

--remove_file $MYSQLTEST_VARDIR/tmp/sourced.inc

--write_file $MYSQLTEST_VARDIR/tmp/sourced.inc
echo "hello";
EOF

let $x= sourced;
source $MYSQLTEST_VARDIR/tmp/$x.inc;

let $x= $MYSQLTEST_VARDIR;
source $x/tmp/sourced.inc;

--remove_file $MYSQLTEST_VARDIR/tmp/sourced.inc


# ----------------------------------------------------------------------------
# Test sleep command
# ----------------------------------------------------------------------------
@@ -1422,7 +1435,7 @@ select "this will be executed";
--exec $MYSQL_TEST -x $MYSQLTEST_VARDIR/tmp/query.sql -R $MYSQLTEST_VARDIR/tmp/zero_length_file.result  > /dev/null 2>&1

remove_file $MYSQLTEST_VARDIR/tmp/zero_length_file.result;
remove_file $MYSQLTEST_VARDIR/tmp/zero_length_file.reject;
remove_file $MYSQLTEST_VARDIR/log/zero_length_file.reject;

#
# Test that a test file that does not generate any output fails.
@@ -1490,7 +1503,7 @@ drop table t1;
--exec test -s $MYSQLTEST_VARDIR/tmp/bug11731.out
drop table t1;
remove_file $MYSQLTEST_VARDIR/tmp/bug11731.out;
remove_file $MYSQLTEST_VARDIR/tmp/bug11731.log;
remove_file $MYSQLTEST_VARDIR/log/bug11731.log;
remove_file $MYSQLTEST_VARDIR/tmp/bug11731.sql;

#