Web lists-archives.com

Re: [Possible Breakage] t1308 - Bad return value from test-tool




On Sat, Feb 09, 2019 at 01:08:01PM -0500, Randall S. Becker wrote:

> > It sounds like you might need to set FREAD_READS_DIRECTORIES in your
> > config.mak.
> 
> Setting FREAD_READS_DIRECTORIES = UnfortunatelyYes

Silly question, but you did rebuild after setting that, not just re-run
the tests, right?

> still results in 
> 
> Value not found for "foo.bar"
> test_expect_code: command exited with 1, we wanted 2 test-tool config configset_get_value foo.bar a-directory
> not ok 23 - proper error on directory "files"
> #
> #               echo "Error (-1) reading configuration file a-directory." >expect &&
> #               mkdir a-directory &&
> #               test_expect_code 2 test-tool config configset_get_value foo.bar a-directory 2>output &&
> #               grep "^warning:" output &&
> #               grep "^Error" output >actual &&
> #               test_cmp expect actual
> #
> 
> I don't think that helped. While fopen can open a directory, fread
> does not return any data in this platform. readdir or nftw/ftw are
> pretty much the only options. However, the code still goes down the
> goto exit1 path in this situation.

Hrm. That's the exact case FREAD_READS_DIRECTORIES is supposed to help.
It does an fstat() after fopen()ing the file to see if it points to a
directory, and if so closes it immediately and returns EISDIR.

Can you confirm via debugger (or printf statements) that we make it into
git_fopen, and what the resulting st.st_mode we see looks like?

-Peff