>From drizzled/error.cc:

add(ER_TEXTFILE_NOT_READABLE, N_("The file '%-.128s' must be in the
schema directory or be readable by all"));

Only 128 characters are printed for the path+file. The my_error() function uses
a statically sized buffer of ERRMSGSIZE + 20, where this is the max error
message size (256) plus the 20 extra characters.

We need a replacement for our wonderfully crappy error message system.

-Dave


On Tue, Oct 26, 2010 at 12:51 PM, Patrick Crews <[email protected]> wrote:
> Hi guys,
>
> So here's the scenario:
> Several tests that used INFILE operations were failing when we used the
> --mem option.  The reason was the tests used hard-coded relative paths
> rather than $DRIZZLETEST_VARDIR.  When the vardir was in /tmp and the test
> expected ../../stddata_ln, things failed.
>
> I went and changed the tests, but we have discovered a new problem.  By
> including the vardir path rather than '../../tmp', we are seeing truncation
> in our error messages
>
> For the output below, please note the length of the path to the vardir and
> how the message has been truncated.  This is only a problem for those test
> cases that expect a failure.  The truncation appears to limit the message to
> set llength limit - it's just a coincidence that we cut off right at 'tmp/'
> in this case.
>
> main.outfile                                                 [ fail ]
> --- ../../tests/r/outfile.result      2010-10-26 20:44:28.000000000 +0300
> +++
> /home/hudson/hudson/workspace/drizzle-param/BUILD_TYPE/release/label/fedora-12-amd64/drizzle7-2010.10.1880/_build/tests/var/log/outfile.reject
>         2010-10-26
> 20:55:19.120839658 +0300
>
> @@ -17,7 +17,7 @@
>  ERROR HY000: File 'DRIZZLETEST_VARDIR/tmp/outfile-test.2' already exists
>  ERROR HY000: File 'DRIZZLETEST_VARDIR/tmp/outfile-test.3' already exists
>  select load_file(concat(@tmpdir,"/outfile.not-exist"));
>
> -ERROR HY000: The file 'DRIZZLETEST_VARDIR/tmp/outfile.not-exist' must be in
> the schema directory or be readable by all
> +ERROR HY000: The file 'DRIZZLETEST_VARDIR/tmp/' must be in the schema
> directory or be readable by all
>
>
> It might be possible to go through and alter the tests to mask things, but I
> did want to solicit thoughts on this before I proceeded.
> Mainly, I'm concerned that using a REPLACE RESULT to make
> DRIZZLETEST_VARDIR/tmp/outfile.not-exits -> IMMABADFILE (or somesuch) is
> only a patch - if path lengths were longer, the test could start failing
> again.  Also, we'd be sacrificing come clarity in our tests.
>
> Any feedback is most welcome,
> Patrick
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~drizzle-discuss
> Post to     : [email protected]
> Unsubscribe : https://launchpad.net/~drizzle-discuss
> More help   : https://help.launchpad.net/ListHelp
>
>

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to