]> git.saurik.com Git - wxWidgets.git/commitdiff
Move dir tests from the console sample to DirTestCase
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Sat, 19 Jun 2010 12:32:57 +0000 (12:32 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Sat, 19 Jun 2010 12:32:57 +0000 (12:32 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

12 files changed:
samples/console/console.cpp
tests/Makefile.in
tests/file/dir.cpp [new file with mode: 0644]
tests/makefile.bcc
tests/makefile.gcc
tests/makefile.vc
tests/makefile.wat
tests/test.bkl
tests/test_test.dsp
tests/test_vc7_test.vcproj
tests/test_vc8_test.vcproj
tests/test_vc9_test.vcproj

index bc31024863eadbd988c213cbc69817466bab78f6..f1cf85272e145149b3898a1a32761182122cff92 100644 (file)
 
 // what to test (in alphabetic order)? Define TEST_ALL to 0 to do a single
 // test, define it to 1 to do all tests.
-#define TEST_ALL 0
-
+#define TEST_ALL 1
 
 #if TEST_ALL
-    #define TEST_DIR
-#else // #if TEST_ALL
     #define TEST_DATETIME
     #define TEST_VOLUME
     #define TEST_STDPATHS
     #define TEST_INFO_FUNCTIONS
     #define TEST_MIME
     #define TEST_DYNLIB
+#else // #if TEST_ALL
 #endif
 
 // some tests are interactive, define this to run them
 // implementation
 // ============================================================================
 
-// ----------------------------------------------------------------------------
-// wxDir
-// ----------------------------------------------------------------------------
-
-#ifdef TEST_DIR
-
-#include "wx/dir.h"
-
-#ifdef __UNIX__
-    static const wxChar *ROOTDIR = wxT("/");
-    static const wxChar *TESTDIR = wxT("/usr/local/share");
-#elif defined(__WXMSW__) || defined(__DOS__) || defined(__OS2__)
-    static const wxChar *ROOTDIR = wxT("c:\\");
-    static const wxChar *TESTDIR = wxT("d:\\");
-#else
-    #error "don't know where the root directory is"
-#endif
-
-static void TestDirEnumHelper(wxDir& dir,
-                              int flags = wxDIR_DEFAULT,
-                              const wxString& filespec = wxEmptyString)
-{
-    wxString filename;
-
-    if ( !dir.IsOpened() )
-        return;
-
-    bool cont = dir.GetFirst(&filename, filespec, flags);
-    while ( cont )
-    {
-        wxPrintf(wxT("\t%s\n"), filename.c_str());
-
-        cont = dir.GetNext(&filename);
-    }
-
-    wxPuts(wxEmptyString);
-}
-
-#if TEST_ALL
-
-static void TestDirEnum()
-{
-    wxPuts(wxT("*** Testing wxDir::GetFirst/GetNext ***"));
-
-    wxString cwd = wxGetCwd();
-    if ( !wxDir::Exists(cwd) )
-    {
-        wxPrintf(wxT("ERROR: current directory '%s' doesn't exist?\n"), cwd.c_str());
-        return;
-    }
-
-    wxDir dir(cwd);
-    if ( !dir.IsOpened() )
-    {
-        wxPrintf(wxT("ERROR: failed to open current directory '%s'.\n"), cwd.c_str());
-        return;
-    }
-
-    wxPuts(wxT("Enumerating everything in current directory:"));
-    TestDirEnumHelper(dir);
-
-    wxPuts(wxT("Enumerating really everything in current directory:"));
-    TestDirEnumHelper(dir, wxDIR_DEFAULT | wxDIR_DOTDOT);
-
-    wxPuts(wxT("Enumerating object files in current directory:"));
-    TestDirEnumHelper(dir, wxDIR_DEFAULT, wxT("*.o*"));
-
-    wxPuts(wxT("Enumerating directories in current directory:"));
-    TestDirEnumHelper(dir, wxDIR_DIRS);
-
-    wxPuts(wxT("Enumerating files in current directory:"));
-    TestDirEnumHelper(dir, wxDIR_FILES);
-
-    wxPuts(wxT("Enumerating files including hidden in current directory:"));
-    TestDirEnumHelper(dir, wxDIR_FILES | wxDIR_HIDDEN);
-
-    dir.Open(ROOTDIR);
-
-    wxPuts(wxT("Enumerating everything in root directory:"));
-    TestDirEnumHelper(dir, wxDIR_DEFAULT);
-
-    wxPuts(wxT("Enumerating directories in root directory:"));
-    TestDirEnumHelper(dir, wxDIR_DIRS);
-
-    wxPuts(wxT("Enumerating files in root directory:"));
-    TestDirEnumHelper(dir, wxDIR_FILES);
-
-    wxPuts(wxT("Enumerating files including hidden in root directory:"));
-    TestDirEnumHelper(dir, wxDIR_FILES | wxDIR_HIDDEN);
-
-    wxPuts(wxT("Enumerating files in non existing directory:"));
-    wxDir dirNo(wxT("nosuchdir"));
-    TestDirEnumHelper(dirNo);
-}
-
-#endif // TEST_ALL
-
-class DirPrintTraverser : public wxDirTraverser
-{
-public:
-    virtual wxDirTraverseResult OnFile(const wxString& WXUNUSED(filename))
-    {
-        return wxDIR_CONTINUE;
-    }
-
-    virtual wxDirTraverseResult OnDir(const wxString& dirname)
-    {
-        wxString path, name, ext;
-        wxFileName::SplitPath(dirname, &path, &name, &ext);
-
-        if ( !ext.empty() )
-            name << wxT('.') << ext;
-
-        wxString indent;
-        for ( const wxChar *p = path.c_str(); *p; p++ )
-        {
-            if ( wxIsPathSeparator(*p) )
-                indent += wxT("    ");
-        }
-
-        wxPrintf(wxT("%s%s\n"), indent.c_str(), name.c_str());
-
-        return wxDIR_CONTINUE;
-    }
-};
-
-static void TestDirTraverse()
-{
-    wxPuts(wxT("*** Testing wxDir::Traverse() ***"));
-
-    // enum all files
-    wxArrayString files;
-    size_t n = wxDir::GetAllFiles(TESTDIR, &files);
-    wxPrintf(wxT("There are %u files under '%s'\n"), n, TESTDIR);
-    if ( n > 1 )
-    {
-        wxPrintf(wxT("First one is '%s'\n"), files[0u].c_str());
-        wxPrintf(wxT(" last one is '%s'\n"), files[n - 1].c_str());
-    }
-
-    // enum again with custom traverser
-    wxPuts(wxT("Now enumerating directories:"));
-    wxDir dir(TESTDIR);
-    DirPrintTraverser traverser;
-    dir.Traverse(traverser, wxEmptyString, wxDIR_DIRS | wxDIR_HIDDEN);
-}
-
-#if TEST_ALL
-
-static void TestDirExists()
-{
-    wxPuts(wxT("*** Testing wxDir::Exists() ***"));
-
-    static const wxChar *dirnames[] =
-    {
-        wxT("."),
-#if defined(__WXMSW__)
-        wxT("c:"),
-        wxT("c:\\"),
-        wxT("\\\\share\\file"),
-        wxT("c:\\dos"),
-        wxT("c:\\dos\\"),
-        wxT("c:\\dos\\\\"),
-        wxT("c:\\autoexec.bat"),
-#elif defined(__UNIX__)
-        wxT("/"),
-        wxT("//"),
-        wxT("/usr/bin"),
-        wxT("/usr//bin"),
-        wxT("/usr///bin"),
-#endif
-    };
-
-    for ( size_t n = 0; n < WXSIZEOF(dirnames); n++ )
-    {
-        wxPrintf(wxT("%-40s: %s\n"),
-                 dirnames[n],
-                 wxDir::Exists(dirnames[n]) ? wxT("exists")
-                                            : wxT("doesn't exist"));
-    }
-}
-
-#endif // TEST_ALL
-
-#endif // TEST_DIR
-
 // ----------------------------------------------------------------------------
 // wxDllLoader
 // ----------------------------------------------------------------------------
@@ -1070,14 +882,6 @@ int main(int argc, char **argv)
         return 1;
 #endif // TEST_SNGLINST
 
-#ifdef TEST_DIR
-    #if TEST_ALL
-        TestDirExists();
-        TestDirEnum();
-    #endif
-    TestDirTraverse();
-#endif // TEST_DIR
-
 #ifdef TEST_DYNLIB
     TestDllListLoaded();
 #endif // TEST_DYNLIB
index 445d2ccb4d8ba856966ae1d956384fa797e9c747..233fd60181a27ff3abe88ce54b9cde55fd1c741f 100644 (file)
@@ -69,6 +69,7 @@ TEST_OBJECTS =  \
        test_stopwatch.o \
        test_timertest.o \
        test_exec.o \
+       test_dir.o \
        test_filefn.o \
        test_filetest.o \
        test_filekind.o \
@@ -410,6 +411,9 @@ test_timertest.o: $(srcdir)/events/timertest.cpp $(TEST_ODEP)
 test_exec.o: $(srcdir)/exec/exec.cpp $(TEST_ODEP)
        $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/exec/exec.cpp
 
+test_dir.o: $(srcdir)/file/dir.cpp $(TEST_ODEP)
+       $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/file/dir.cpp
+
 test_filefn.o: $(srcdir)/file/filefn.cpp $(TEST_ODEP)
        $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/file/filefn.cpp
 
diff --git a/tests/file/dir.cpp b/tests/file/dir.cpp
new file mode 100644 (file)
index 0000000..50b5b71
--- /dev/null
@@ -0,0 +1,216 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        tests/file/dir.cpp
+// Purpose:     wxDir unit test
+// Author:      Francesco Montorsi (extracted from console sample)
+// Created:     2010-06-19
+// RCS-ID:      $Id$
+// Copyright:   (c) 2010 wxWidgets team
+///////////////////////////////////////////////////////////////////////////////
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "testprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/dir.h"
+#include "wx/filename.h"
+
+#define DIRTEST_FOLDER      wxString("dirTest_folder")
+#define SEP                 wxFileName::GetPathSeparator()
+
+// ----------------------------------------------------------------------------
+// test class
+// ----------------------------------------------------------------------------
+
+class DirTestCase : public CppUnit::TestCase
+{
+public:
+    DirTestCase() { }
+
+    virtual void setUp();
+    virtual void tearDown();
+
+private:
+    CPPUNIT_TEST_SUITE( DirTestCase );
+        CPPUNIT_TEST( DirExists );
+        CPPUNIT_TEST( Traverse );
+        CPPUNIT_TEST( Enum );
+    CPPUNIT_TEST_SUITE_END();
+
+    void DirExists();
+    void Traverse();
+    void Enum();
+
+    void CreateTempFile(const wxString& path);
+    wxArrayString DirEnumHelper(wxDir& dir,
+                               int flags = wxDIR_DEFAULT,
+                               const wxString& filespec = wxEmptyString);
+
+    wxDECLARE_NO_COPY_CLASS(DirTestCase);
+};
+
+// ----------------------------------------------------------------------------
+// CppUnit macros
+// ----------------------------------------------------------------------------
+
+CPPUNIT_TEST_SUITE_REGISTRATION( DirTestCase );
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( DirTestCase, "DirTestCase" );
+
+// ----------------------------------------------------------------------------
+// tests implementation
+// ----------------------------------------------------------------------------
+
+void DirTestCase::CreateTempFile(const wxString& path)
+{
+    wxFile f(path, wxFile::write);
+    f.Write("dummy test file");
+    f.Close();
+}
+
+void DirTestCase::setUp()
+{
+    // create a test directory hierarchy
+    wxDir::Make(DIRTEST_FOLDER + SEP + "folder1" + SEP + "subfolder1", wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL);
+    wxDir::Make(DIRTEST_FOLDER + SEP + "folder1" + SEP + "subfolder2", wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL);
+    wxDir::Make(DIRTEST_FOLDER + SEP + "folder2", wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL);
+    wxDir::Make(DIRTEST_FOLDER + SEP + "folder3" + SEP + "subfolder1", wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL);
+    
+    CreateTempFile(DIRTEST_FOLDER + SEP + "folder1" + SEP + "subfolder2" + SEP + "dummy");
+    CreateTempFile(DIRTEST_FOLDER + SEP + "dummy");
+}
+
+void DirTestCase::tearDown()
+{
+    wxRemove(DIRTEST_FOLDER + SEP + "folder1" + SEP + "subfolder2" + SEP + "dummy");
+    wxRemove(DIRTEST_FOLDER + SEP + "dummy");
+    wxDir::Remove(DIRTEST_FOLDER, wxPATH_RMDIR_RECURSIVE);
+}
+
+wxArrayString DirTestCase::DirEnumHelper(wxDir& dir,
+                                         int flags,
+                                         const wxString& filespec)
+{
+    wxArrayString ret;
+    CPPUNIT_ASSERT( dir.IsOpened() );
+
+    wxString filename;
+    bool cont = dir.GetFirst(&filename, filespec, flags);
+    while ( cont )
+    {
+        ret.push_back(filename);
+        cont = dir.GetNext(&filename);
+    }
+
+    return ret;
+}
+
+void DirTestCase::Enum()
+{
+    wxDir dir(DIRTEST_FOLDER);
+    CPPUNIT_ASSERT( dir.IsOpened() );
+
+    // enumerating everything in test directory
+    CPPUNIT_ASSERT_EQUAL(4, DirEnumHelper(dir).size());
+
+    // enumerating really everything in test directory recursively
+    CPPUNIT_ASSERT_EQUAL(6, DirEnumHelper(dir, wxDIR_DEFAULT | wxDIR_DOTDOT).size());
+
+    // enumerating object files in test directory
+    CPPUNIT_ASSERT_EQUAL(0, DirEnumHelper(dir, wxDIR_DEFAULT, "*.o*").size());
+
+    // enumerating directories in test directory
+    CPPUNIT_ASSERT_EQUAL(3, DirEnumHelper(dir, wxDIR_DIRS).size());
+
+    // enumerating files in test directory
+    CPPUNIT_ASSERT_EQUAL(1, DirEnumHelper(dir, wxDIR_FILES).size());
+
+    // enumerating files including hidden in test directory
+    CPPUNIT_ASSERT_EQUAL(1, DirEnumHelper(dir, wxDIR_FILES | wxDIR_HIDDEN).size());
+
+    // enumerating files and folders in test directory
+    CPPUNIT_ASSERT_EQUAL(4, DirEnumHelper(dir, wxDIR_FILES | wxDIR_DIRS).size());
+}
+
+class TestDirTraverser : public wxDirTraverser
+{
+public:
+    wxArrayString dirs;
+
+    virtual wxDirTraverseResult OnFile(const wxString& WXUNUSED(filename))
+    {
+        return wxDIR_CONTINUE;
+    }
+
+    virtual wxDirTraverseResult OnDir(const wxString& dirname)
+    {
+        dirs.push_back(dirname);
+        return wxDIR_CONTINUE;
+    }
+};
+
+void DirTestCase::Traverse()
+{
+    // enum all files
+    wxArrayString files;
+    CPPUNIT_ASSERT_EQUAL(2, wxDir::GetAllFiles(DIRTEST_FOLDER, &files));
+
+    // enum again with custom traverser
+    wxDir dir(DIRTEST_FOLDER);
+    TestDirTraverser traverser;
+    dir.Traverse(traverser, wxEmptyString, wxDIR_DIRS | wxDIR_HIDDEN);
+    CPPUNIT_ASSERT_EQUAL(6, traverser.dirs.size());
+}
+
+void DirTestCase::DirExists()
+{
+    struct
+    {
+        const char *dirname;
+        bool shouldExist;
+    } testData[] = 
+    {
+        { ".", true },
+        { "..", true },
+#if defined(__WXMSW__)
+        { "..\\..", true },
+        { "..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..", /*false*/ true },
+                // FIXME: should fail but it doesn't... looks like a bug in GetFileAttributes() win API
+        { "c:", true },
+        { "c:\\", true },
+        { "c:\\\\", true },
+        { "\\\\share\\file", false },
+        { "c:\\a\\directory\\which\\does\\not\\exist", false },
+        { "c:\\a\\directory\\which\\does\\not\\exist\\", false },
+        { "c:\\a\\directory\\which\\does\\not\\exist\\\\", false },
+        { "test.exe", false }       // not a directory!
+#elif defined(__UNIX__)
+        { "../..", true },
+        { "../../../../../../../../../../../../../../../../../../../..", false },
+        { "/", true },
+        { "//", true },
+        { "/usr/bin", true },
+        { "/usr//bin", false },
+        { "/usr///bin", false }
+#endif
+    };
+
+    for ( size_t n = 0; n < WXSIZEOF(testData); n++ )
+    {
+        wxString errDesc = wxString::Format("failed on directory '%s'", testData[n].dirname);
+        CPPUNIT_ASSERT_EQUAL_MESSAGE(errDesc.ToStdString(), testData[n].shouldExist, wxDir::Exists(testData[n].dirname));
+
+        if (!testData[n].shouldExist)
+        {
+            wxDir d(testData[n].dirname);
+            CPPUNIT_ASSERT(!d.IsOpened());
+        }
+    }
+
+    CPPUNIT_ASSERT( wxDir::Exists(wxGetCwd()) );
+}
+
index 32e3bb97ea9ae2affa86eeb251a3627a0d30411d..8d037d6d6d73a1e016bf18512bc321f46611b9c8 100644 (file)
@@ -53,6 +53,7 @@ TEST_OBJECTS =  \
        $(OBJS)\test_stopwatch.obj \\r
        $(OBJS)\test_timertest.obj \\r
        $(OBJS)\test_exec.obj \\r
+       $(OBJS)\test_dir.obj \\r
        $(OBJS)\test_filefn.obj \\r
        $(OBJS)\test_filetest.obj \\r
        $(OBJS)\test_filekind.obj \\r
@@ -452,6 +453,9 @@ $(OBJS)\test_timertest.obj: .\events\timertest.cpp
 $(OBJS)\test_exec.obj: .\exec\exec.cpp\r
        $(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) .\exec\exec.cpp\r
 \r
+$(OBJS)\test_dir.obj: .\file\dir.cpp\r
+       $(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) .\file\dir.cpp\r
+\r
 $(OBJS)\test_filefn.obj: .\file\filefn.cpp\r
        $(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) .\file\filefn.cpp\r
 \r
index 69c87613f0ea9e0a9a9c5d472a4268f9d4b80477..444adfe996341f5ac9b1b1c1987f8741174937a6 100644 (file)
@@ -45,6 +45,7 @@ TEST_OBJECTS =  \
        $(OBJS)\test_stopwatch.o \\r
        $(OBJS)\test_timertest.o \\r
        $(OBJS)\test_exec.o \\r
+       $(OBJS)\test_dir.o \\r
        $(OBJS)\test_filefn.o \\r
        $(OBJS)\test_filetest.o \\r
        $(OBJS)\test_filekind.o \\r
@@ -433,6 +434,9 @@ $(OBJS)\test_timertest.o: ./events/timertest.cpp
 $(OBJS)\test_exec.o: ./exec/exec.cpp\r
        $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\test_dir.o: ./file/dir.cpp\r
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<\r
+\r
 $(OBJS)\test_filefn.o: ./file/filefn.cpp\r
        $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<\r
 \r
index fa535a38859442bbefa4865ffb37799e05df1f9a..0495345c00ec2c3c9edfda4a2919eb06db43f8cd 100644 (file)
@@ -47,6 +47,7 @@ TEST_OBJECTS =  \
        $(OBJS)\test_stopwatch.obj \\r
        $(OBJS)\test_timertest.obj \\r
        $(OBJS)\test_exec.obj \\r
+       $(OBJS)\test_dir.obj \\r
        $(OBJS)\test_filefn.obj \\r
        $(OBJS)\test_filetest.obj \\r
        $(OBJS)\test_filekind.obj \\r
@@ -578,6 +579,9 @@ $(OBJS)\test_timertest.obj: .\events\timertest.cpp
 $(OBJS)\test_exec.obj: .\exec\exec.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\exec\exec.cpp\r
 \r
+$(OBJS)\test_dir.obj: .\file\dir.cpp\r
+       $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\file\dir.cpp\r
+\r
 $(OBJS)\test_filefn.obj: .\file\filefn.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\file\filefn.cpp\r
 \r
index aac28188faf96a5e4aa8dfb2ca38b6af5b2a21c5..8df3c7d951ac43c059e90559500dac6f9970f01f 100644 (file)
@@ -283,6 +283,7 @@ TEST_OBJECTS =  &
        $(OBJS)\test_stopwatch.obj &\r
        $(OBJS)\test_timertest.obj &\r
        $(OBJS)\test_exec.obj &\r
+       $(OBJS)\test_dir.obj &\r
        $(OBJS)\test_filefn.obj &\r
        $(OBJS)\test_filetest.obj &\r
        $(OBJS)\test_filekind.obj &\r
@@ -490,6 +491,9 @@ $(OBJS)\test_timertest.obj :  .AUTODEPEND .\events\timertest.cpp
 $(OBJS)\test_exec.obj :  .AUTODEPEND .\exec\exec.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<\r
 \r
+$(OBJS)\test_dir.obj :  .AUTODEPEND .\file\dir.cpp\r
+       $(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<\r
+\r
 $(OBJS)\test_filefn.obj :  .AUTODEPEND .\file\filefn.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<\r
 \r
index bb1d82192c3420b1fd9b13fa1abc16126929ea23..491e299b6bb7804d8c47c1c03ba01c50cc4fbcaa 100644 (file)
@@ -44,6 +44,7 @@
             events/stopwatch.cpp
             events/timertest.cpp
             exec/exec.cpp
+            file/dir.cpp
             file/filefn.cpp
             file/filetest.cpp
             filekind/filekind.cpp
index 83fef0ef6feebd39f91e68fbd98d14c4cc0891c8..e06a08e2a429000cebed6aa4e2424dc23c8dde64 100644 (file)
@@ -279,6 +279,10 @@ SOURCE=.\datetime\datetimetest.cpp
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=.\file\dir.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=.\dummy.cpp\r
 # ADD BASE CPP /Yc"testprec.h"\r
 # ADD CPP /Yc"testprec.h"\r
index b593bc6545ac7dbc11dc9ed40821645dca3f12d2..9aa73921ca7f86a157099be8ab828e3467f497dc 100644 (file)
                        <File\r
                                RelativePath=".\datetime\datetimetest.cpp">\r
                        </File>\r
+                       <File\r
+                               RelativePath=".\file\dir.cpp">\r
+                       </File>\r
                        <File\r
                                RelativePath=".\dummy.cpp">\r
                                <FileConfiguration\r
index d6881f816d19091ce4d479d1355d0bb2df99c9a4..75e2622f6ad3dab53c502d634877ff45c07fad15 100644 (file)
                                RelativePath=".\datetime\datetimetest.cpp"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath=".\file\dir.cpp"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath=".\dummy.cpp"\r
                                >\r
index 4f139224530c81bdd5fb059289f7033632506ad5..77dd6798e2d85e6a15cdcf5ae9a621dbb943eca9 100644 (file)
                                RelativePath=".\datetime\datetimetest.cpp"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath=".\file\dir.cpp"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath=".\dummy.cpp"\r
                                >\r