tstDir-3.cpp revision 230bd8589bba39933ac5ec21482d6186d675e604
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * IPRT Testcase - Directory listing & filtering (no parameters needed).
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync * Copyright (C) 2006-2008 Oracle Corporation
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * available from http://www.virtualbox.org. This file is free software;
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * you can redistribute it and/or modify it under the terms of the GNU
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * General Public License (GPL) as published by the Free Software
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * The contents of this file may alternatively be used under the terms
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * of the Common Development and Distribution License Version 1.0
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * VirtualBox OSE distribution, in which case the provisions of the
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * CDDL are applicable instead of those of the GPL.
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * You may elect to license modified versions of this file under the
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync * terms and conditions of either the GPL or the CDDL or both.
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsyncstatic int tstDirOpenFiltered(const char *pszFilter, unsigned *pcFilesMatch, int *pRc)
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync unsigned cFilesMatch = 0;
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync int rc = RTDirOpenFiltered(&pDir, pszFilter, RTDIRFILTER_WINNT);
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync RTPrintf("tstDir-3: Enumeration '%s' failed! rc=%Rrc\n", pszFilter, rc);
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync /* close up */
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync RTPrintf("tstDir-3: Failed to close dir '%s'! rc=%Rrc\n", pszFilter, rc);
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync RTPrintf("tstDir-3: Failed to open '%s', rc=%Rrc\n", pszFilter, rc);
4a4a02cc2a09b5e3c55908c6995182c6b038e398vboxsync char *pszFilter1 = RTPathJoinA(pszTestDir, "xyxzxq*");
4a4a02cc2a09b5e3c55908c6995182c6b038e398vboxsync RTPrintf("tstDir-3: cannot create non-match filter!\n");
4a4a02cc2a09b5e3c55908c6995182c6b038e398vboxsync RTPrintf("tstDir-3: cannot create match filter!\n");
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync rcRet2 = tstDirOpenFiltered(pszFilter1, &cMatch, &rc);
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync RTPrintf("tstDir-3: filter '%s' failed! rc=%Rrc\n", pszFilter1, rc);
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync RTPrintf("tstDir-3: filter '%s' gave wrong result count! cMatch=%u\n", pszFilter1, cMatch);
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync rcRet2 = tstDirOpenFiltered(pszFilter2, &cMatch, &rc);
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync RTPrintf("tstDir-3: filter '%s' failed! rc=%Rrc\n", pszFilter2, rc);
a7f6f10ecc8705d499ececde41bebf50b7e0568bvboxsync RTPrintf("tstDir-3: filter '%s' gave wrong result count! cMatch=%u\n", pszFilter2, cMatch);