Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add test for last glob bug.
  • Loading branch information
Ulrich Drepper committed Mar 24, 2010
1 parent 8f2e399 commit c27849f
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 2 deletions.
8 changes: 8 additions & 0 deletions ChangeLog
@@ -1,3 +1,11 @@
2010-03-24 Ulrich Drepper <drepper@redhat.com>

* posix/tst-gnuglob.c: Add tests with empty patterns. For this
rewrite the tests to add support for failing glob calls.
Some other minor cleanups.
* posix/bug-glob3.c: New file.
* posix/Makefile (tests): Add bug-glob3.

2010-03-24 Ulrich Drepper <drepper@redhat.com>
Andreas Schwab <andreas@redhat.com>

Expand Down
4 changes: 2 additions & 2 deletions posix/Makefile
@@ -1,4 +1,4 @@
# Copyright (C) 1991-1999, 2000-2006, 2007, 2009 Free Software Foundation, Inc.
# Copyright (C) 1991-1999, 2000-2007, 2009, 2010 Free Software Foundation, Inc.
# This file is part of the GNU C Library.

# The GNU C Library is free software; you can redistribute it and/or
Expand Down Expand Up @@ -86,7 +86,7 @@ tests := tstgetopt testfnm runtests runptests \
tst-nice tst-nanosleep tst-regex2 \
transbug tst-rxspencer tst-pcre tst-boost \
bug-ga1 tst-vfork1 tst-vfork2 tst-vfork3 tst-waitid \
tst-getaddrinfo2 bug-glob1 bug-glob2 tst-sysconf \
tst-getaddrinfo2 bug-glob1 bug-glob2 bug-glob3 tst-sysconf \
tst-execvp1 tst-execvp2 tst-execlp1 tst-execlp2 \
tst-execv1 tst-execv2 tst-execl1 tst-execl2 \
tst-execve1 tst-execve2 tst-execle1 tst-execle2 \
Expand Down
45 changes: 45 additions & 0 deletions posix/bug-glob3.c
@@ -0,0 +1,45 @@
#include <glob.h>
#include <stdio.h>
#include <string.h>

static int
do_test (void)
{
int result = 0;
glob_t g;
g.gl_pathc = 0;

int r = glob ("", 0, NULL, &g);
if (r != GLOB_NOMATCH)
{
puts ("glob (\"\", 0, NULL, &g) did not fail");
result = 1;
}
else if (g.gl_pathc != 0)
{
puts ("gl_pathc after glob (\"\", 0, NULL, &g) not zero");
result = 1;
}

r = glob ("", GLOB_NOCHECK, NULL, &g);
if (r != 0)
{
puts ("glob (\"\", GLOB_NOCHECK, NULL, &g) did fail");
result = 1;
}
else if (g.gl_pathc != 1)
{
puts ("gl_pathc after glob (\"\", GLOB_NOCHECK, NULL, &g) not 1");
result = 1;
}
else if (strcmp (g.gl_pathv[0], "") != 0)
{
puts ("gl_pathv[0] after glob (\"\", GLOB_NOCHECK, NULL, &g) not \"\"");
result = 1;
}

return result;
}

#define TEST_FUNCTION do_test ()
#include "../test-skeleton.c"

0 comments on commit c27849f

Please sign in to comment.