15460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===- FactoriesTest.cpp --------------------------------------------------===// 25460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 35460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// The MCLinker Project 45460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 55460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// This file is distributed under the University of Illinois Open Source 65460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// License. See LICENSE.TXT for details. 75460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 85460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===----------------------------------------------------------------------===// 95460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include <cstdlib> 105460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include "FactoriesTest.h" 115460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include <string> 125460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 135460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaousing namespace mcld; 145460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaousing namespace mcldtest; 155460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 165460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 175460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// Constructor can do set-up work for all test here. 185460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoFactoriesTest::FactoriesTest() 195460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 205460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao m_pNodeAlloc = new NodeAlloc(); 215460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao m_pFileAlloc = new FileAlloc(); 225460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 235460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 245460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// Destructor can do clean-up work that doesn't throw exceptions here. 255460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoFactoriesTest::~FactoriesTest() 265460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 275460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao delete m_pNodeAlloc; 285460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao delete m_pFileAlloc; 295460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 305460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 315460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// SetUp() will be called immediately before each test. 325460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaovoid FactoriesTest::SetUp() 335460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 345460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 355460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 365460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// TearDown() will be called immediately after each test. 375460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaovoid FactoriesTest::TearDown() 385460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 395460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 405460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 415460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//==========================================================================// 425460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// Testcases 435460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 445460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoTEST_F( FactoriesTest, node_produce ) { 455460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::NodeType* node = m_pNodeAlloc->produce(); 465460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(1, m_pNodeAlloc->size()); 475460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_FALSE(m_pNodeAlloc->empty()); 485460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node = m_pNodeAlloc->produce(); 495460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(2, m_pNodeAlloc->size()); 505460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_FALSE(m_pNodeAlloc->empty()); 515460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node = m_pNodeAlloc->produce(); 525460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(3, m_pNodeAlloc->size()); 535460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_FALSE(m_pNodeAlloc->empty()); 545460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 555460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 565460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoTEST_F( FactoriesTest, node_iterate ) { 575460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::NodeType* node = 0; 585460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (int i=0 ; i<100; ++i) { 595460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node = m_pNodeAlloc->produce(); 605460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node->data = (int*)malloc(sizeof(int)); 615460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao *(node->data) = i; 625460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 635460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 645460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao int counter = 0; 655460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::iterator data = m_pNodeAlloc->begin(); 665460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::iterator dEnd = m_pNodeAlloc->end(); 675460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (; data!=dEnd; ++data) { 685460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(counter, *(*data).data ); 695460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao free((*data).data); 705460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao (*data).data = 0; 715460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ++counter; 725460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 735460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 745460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 755460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoTEST_F( FactoriesTest, node_delegate_empty ) { 765460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::NodeType* node = 0; 775460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (int i=0 ; i<100; ++i) { 785460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node = m_pNodeAlloc->produce(); 795460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node->data = (int*)malloc(sizeof(int)); 805460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao *(node->data) = i; 815460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 825460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc* delegatee = new NodeAlloc(); 835460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao m_pNodeAlloc->delegate(*delegatee); 845460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(100, m_pNodeAlloc->size()); 855460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao int counter = 0; 865460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::iterator data = m_pNodeAlloc->begin(); 875460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::iterator dEnd = m_pNodeAlloc->end(); 885460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (; data!=dEnd; ++data) { 895460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(counter, *(*data).data ); 905460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao free((*data).data); 915460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao (*data).data = 0; 925460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ++counter; 935460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 945460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao delete delegatee; 955460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 965460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 975460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoTEST_F( FactoriesTest, node_empty_delegate ) { 985460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::NodeType* node = 0; 995460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc* delegatee = new NodeAlloc(); 1005460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (int i=0 ; i<100; ++i) { 1015460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node = delegatee->produce(); 1025460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node->data = (int*)malloc(sizeof(int)); 1035460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao *(node->data) = i; 1045460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 1055460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao m_pNodeAlloc->delegate(*delegatee); 1065460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(100, m_pNodeAlloc->size()); 1075460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao int counter = 0; 1085460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::iterator data = m_pNodeAlloc->begin(); 1095460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::iterator dEnd = m_pNodeAlloc->end(); 1105460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (; data!=dEnd; ++data) { 1115460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(counter, *(*data).data ); 1125460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao free((*data).data); 1135460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao (*data).data = 0; 1145460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ++counter; 1155460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 1165460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(0, delegatee->size()); 1175460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_TRUE(delegatee->empty()); 1185460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao delete delegatee; 1195460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 1205460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 1215460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoTEST_F( FactoriesTest, node_delegate ) { 1225460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::NodeType* node = 0; 1235460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc* delegatee = new NodeAlloc(); 1245460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao int counter = 0; 1255460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao // produce agent 1265460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (int i=0 ; i<100; ++i) { 1275460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node = m_pNodeAlloc->produce(); 1285460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node->data = (int*)malloc(sizeof(int)); 1295460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao *(node->data) = counter; 1305460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ++counter; 1315460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 1325460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 1335460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao // produce delegatee 1345460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (int i=0 ; i<100; ++i) { 1355460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node = delegatee->produce(); 1365460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node->data = (int*)malloc(sizeof(int)); 1375460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao *(node->data) = counter; 1385460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ++counter; 1395460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 1405460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 1415460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao m_pNodeAlloc->delegate(*delegatee); 1425460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(200, m_pNodeAlloc->size()); 1435460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_FALSE(m_pNodeAlloc->empty()); 1445460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::iterator data = m_pNodeAlloc->begin(); 1455460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::iterator dEnd = m_pNodeAlloc->end(); 1465460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for ( counter = 0; data!=dEnd; ++data) { 1475460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(counter, *(*data).data ); 1485460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao free((*data).data); 1495460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao (*data).data = 0; 1505460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ++counter; 1515460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 1525460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(0, delegatee->size()); 1535460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_TRUE(delegatee->empty()); 1545460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao delete delegatee; 1555460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 1565460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 1575460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoTEST_F( FactoriesTest, node_delegate_self ) { 1585460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao NodeAlloc::NodeType* node = 0; 1595460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (int i=0 ; i<100; ++i) { 1605460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node = m_pNodeAlloc->produce(); 1615460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao node->data = (int*)malloc(sizeof(int)); 1625460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao *(node->data) = i; 1635460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 1645460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(100, m_pNodeAlloc->size()); 1655460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao m_pNodeAlloc->delegate(*m_pNodeAlloc); 1665460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(100, m_pNodeAlloc->size()); 1675460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_FALSE(m_pNodeAlloc->empty()); 1685460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 1695460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 1705460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoTEST_F( FactoriesTest, file_produce ) { 1715460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao int counter = 0; 1725460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (counter=1; counter<1000; ++counter) { 1735460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao MCLDFile* file = m_pFileAlloc->produce(); 1745460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(counter, m_pFileAlloc->size()); 1755460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_FALSE(m_pFileAlloc->empty()); 1765460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 1775460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 1785460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 1795460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoTEST_F( FactoriesTest, file_produce_by_params ) { 1805460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao int counter = 0; 1815460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (counter=1; counter<1000; ++counter) { 1825460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao char name[100]; 1835460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao sprintf(name, "file %d", counter); 1845460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao char path_name[100]; 1855460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao sprintf(path_name, "/proj/mtk%d", counter); 1865460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao MCLDFile* file = m_pFileAlloc->produce( string(name), 1875460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao sys::fs::Path(string(path_name)), 1885460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao MCLDFile::Archive); 1895460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(counter, m_pFileAlloc->size()); 1905460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_FALSE(m_pFileAlloc->empty()); 1915460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_TRUE(file->isRecognized()); 1925460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_STREQ(name, file->name().data()); 1935460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 1945460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 1955460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 1965460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoTEST_F( FactoriesTest, file_iterate ) { 1975460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao int counter = 0; 1985460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao for (counter=1; counter<1000; ++counter) { 1995460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao char name[100]; 2005460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao sprintf(name, "file %d", counter); 2015460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao char path_name[100]; 2025460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao sprintf(path_name, "/proj/mtk%d", counter); 2035460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao MCLDFile* file = m_pFileAlloc->produce( string(name), 2045460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao sys::fs::Path(string(path_name)), 2055460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao MCLDFile::Archive); 2065460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 2075460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 2085460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_EQ(counter-1, m_pFileAlloc->size()); 2095460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_FALSE(m_pFileAlloc->empty()); 2105460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 2115460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao MCLDFileFactory::iterator file = m_pFileAlloc->begin(); 2125460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao MCLDFileFactory::iterator fEnd = m_pFileAlloc->end(); 2135460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 2145460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao while (file!=fEnd) { 2155460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_TRUE((*file).isRecognized()); 2165460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ASSERT_FALSE((*file).name().empty()); 2175460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao ++file; 2185460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 2195460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 2205460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 221