diff options
| -rw-r--r-- | gentoobrowse-api/unittests/testDependAll.cpp | 24 | 
1 files changed, 16 insertions, 8 deletions
diff --git a/gentoobrowse-api/unittests/testDependAll.cpp b/gentoobrowse-api/unittests/testDependAll.cpp index 47c7363..5fe0364 100644 --- a/gentoobrowse-api/unittests/testDependAll.cpp +++ b/gentoobrowse-api/unittests/testDependAll.cpp @@ -1,5 +1,6 @@  #define BOOST_TEST_MODULE TestDependAll  #include <boost/test/unit_test.hpp> +#include <boost/test/data/test_case.hpp>  #include <depend.h>  #include <utils/ebuildCacheParser.h> @@ -7,24 +8,31 @@  #include <boost/filesystem/convenience.hpp>  void -testDependRange(const boost::optional<Gentoo::Utils::EbuildCacheParser::Range> & r) +testDependRange(const std::optional<std::string_view> & r)  {  	if (r) { -		Portage::Utils::Depend::parse(r->first, r->second); +		Portage::Utils::Depend::parse(*r);  	}  } -BOOST_AUTO_TEST_CASE( processAll ) +auto +getFileList()  { +	std::vector<boost::filesystem::path> paths;  	for (boost::filesystem::recursive_directory_iterator d("/usr/portage/metadata/md5-cache");  			d != boost::filesystem::recursive_directory_iterator(); d++) {  		if (boost::filesystem::is_regular_file(d->status())) { -			BOOST_TEST_CHECKPOINT(*d); -			Gentoo::Utils::EbuildCacheParser ecp(*d); -			testDependRange(ecp.getRange("DEPEND")); -			testDependRange(ecp.getRange("RDEPEND")); -			testDependRange(ecp.getRange("PDEPEND")); +			paths.push_back(*d);  		}  	} +	return paths; +} + +BOOST_DATA_TEST_CASE( processAll, boost::unit_test::data::make(getFileList()), path ) +{ +	Gentoo::Utils::EbuildCacheParser ecp(path); +	testDependRange(ecp.getRange("DEPEND")); +	testDependRange(ecp.getRange("RDEPEND")); +	testDependRange(ecp.getRange("PDEPEND"));  }  | 
