| //===- DirIteratorTest.cpp ------------------------------------------------===// |
| // |
| // The MCLinker Project |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| #include "mcld/Support/Directory.h" |
| #include "DirIteratorTest.h" |
| #include "errno.h" |
| |
| using namespace mcld; |
| using namespace mcld::sys::fs; |
| using namespace mcldtest; |
| |
| |
| // Constructor can do set-up work for all test here. |
| DirIteratorTest::DirIteratorTest() |
| { |
| //FIXME:Some bugs modifies the global value "errno" to non-zero. |
| // This makes readir() failed when daily build system runs unittest |
| // Remove this after fixing those bugs |
| errno = 0; |
| |
| // create testee. modify it if need |
| m_pDir = new mcld::sys::fs::Directory("."); |
| } |
| |
| // Destructor can do clean-up work that doesn't throw exceptions here. |
| DirIteratorTest::~DirIteratorTest() |
| { |
| delete m_pDir; |
| } |
| |
| // SetUp() will be called immediately before each test. |
| void DirIteratorTest::SetUp() |
| { |
| } |
| |
| // TearDown() will be called immediately after each test. |
| void DirIteratorTest::TearDown() |
| { |
| } |
| |
| //==========================================================================// |
| // Testcases |
| // |
| TEST_F( DirIteratorTest, open_dir ) { |
| ASSERT_TRUE( m_pDir->isGood() ); |
| |
| Directory::iterator entry = m_pDir->begin(); |
| Directory::iterator enEnd = m_pDir->end(); |
| |
| size_t size = 0; |
| while( entry!=enEnd ) { |
| if (0 != entry.path()) |
| size = entry.path()->native().size(); |
| |
| ++entry; |
| } |
| } |
| |
| |