コード例 #1
0
ファイル: traverse.hpp プロジェクト: ksundberg/boost-svn
inline void
traverse_test_tree( test_unit const& tu, test_tree_visitor& V, bool ignore_status = false )
{
    if( tu.p_type == tut_case )
        traverse_test_tree( static_cast<test_case const&>( tu ), V, ignore_status );
    else
        traverse_test_tree( static_cast<test_suite const&>( tu ), V, ignore_status );
}
コード例 #2
0
ファイル: unit_test_suite.hpp プロジェクト: edwardotis/hivm
inline void
traverse_test_tree( test_unit const& tu, test_tree_visitor& V )
{
    if( tu.p_type == tut_case )
        traverse_test_tree( static_cast<test_case const&>( tu ), V );
    else
        traverse_test_tree( static_cast<test_suite const&>( tu ), V );
}
コード例 #3
0
	DependencyIdSet TestUnitIdReader::filter(const test_suite& suite, const DependencyNameSet& depSet) {
		std::string names = serialize_names(depSet);
		TestUnitIdReader filter(names);
//			master_test_suite_t& suite = framework::master_test_suite();
		traverse_test_tree(suite, filter);
		return filter.ids;
	}
コード例 #4
0
EXPORT_C void
results_collector_t::test_unit_skipped( test_unit const& tu )
{
    if( tu.p_type == tut_suite ) {
        test_case_counter tcc;
        traverse_test_tree( tu, tcc );

        test_results& tr = s_rc_impl().m_results_store[tu.p_id];

        tr.clear();

        tr.p_skipped.value              = true;
        tr.p_test_cases_skipped.value   = tcc.m_count;
    }
}
コード例 #5
0
EXPORT_C void
results_collector_t::test_unit_finish( test_unit const& tu, unsigned long )
{
    if( tu.p_type == tut_suite ) {
        results_collect_helper ch( s_rc_impl().m_results_store[tu.p_id], tu );

        traverse_test_tree( tu, ch );
    }
    else {
        test_results const& tr = s_rc_impl().m_results_store[tu.p_id];

        bool num_failures_match = tr.p_aborted || tr.p_assertions_failed >= tr.p_expected_failures;
        if( !num_failures_match )
            BOOST_TEST_MESSAGE( "Test case has less failures then expected" );
    }
}
コード例 #6
0
		static DependencyLevelMap readLevels(const test_suite& suite) {
			LevelCalculateVisitor visitor;
//			master_test_suite_t& suite = framework::master_test_suite();
			traverse_test_tree(suite, visitor);
			return visitor.map;
		}
コード例 #7
0
	/**
	 * As a input method takes normalized map of dependency
	 */
	bool DependencySolver::orderDependency() const {
		DependencyIdSet parentsSet;

		/**
		 * Read parents to sort members of
		 */
		{
			DependencyIdMap::const_iterator iter = normalizedMap.begin();
			DependencyIdMap::const_iterator eiter = normalizedMap.end();
			for(; iter!=eiter; iter++) {
				//LogInfo << "dependency[" << iter->first << "]: ";
				//print(iter->second);
				//LogInfo << std::endl;

				DependencyId unitId = iter->first;
				//DependencyIdSet depsSet = iter->second;
				//fix_dependency(unitId, depsSet);

				test_unit* unit = getUnit(unitId);
				DependencyId parentId = unit->p_parent_id;

				parentsSet.insert(parentId);
			}
		}

		/**
		 * Sort members
		 */
		{
			DependencyIdSet::iterator iter = parentsSet.begin();
			DependencyIdSet::iterator eiter = parentsSet.end();
			for(; iter!=eiter; iter++) {
				//LogInfo << *iter << ", ";
				//check_dep(levels, unitId, *iter);

				DependencyId currId = *iter;

				test_suite* curr = getSuite(currId);

				ReadDirectMembersVisitor reader;
				traverse_test_tree(*curr, reader);
				std::deque<DependencyId>& members = reader.members;

				bool sorted = sortMembers(normalizedMap, members);
				if (sorted) {
					//exchange elements
					bool exchanged = actualizeMembers(*curr, members);
					if (exchanged==false) {
						DEPENDENCY_LOG_ERROR( "Unable to actualize suite[" << currId << "] with dependencies" );
						return false;
					}
					//else actualized
				} else {
					//unable to resolve dependencies
					DEPENDENCY_LOG_ERROR( "Unable to sort dependencies" );
					return false;
				}

			}
			return true;
		}
	}
コード例 #8
0
	DependencyIdSet TestUnitIdReader::filter(const boost::unit_test::test_suite& suite, const DependencyName& name) {
		TestUnitIdReader filter(name);
		traverse_test_tree(suite, filter);
		return filter.ids;
	}