aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-02-16 17:50:19 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-02-16 17:50:19 +0000
commitb37aa8c01a6d1ae75525be07cfece7dbd6605d8a (patch)
treef5d220bbd4a3840b761a786532847fa773476339
parent5d7a0acfa9eff49cd39a7d5a03f35bce0a810b79 (diff)
downloadpaludis-b37aa8c01a6d1ae75525be07cfece7dbd6605d8a.tar.gz
paludis-b37aa8c01a6d1ae75525be07cfece7dbd6605d8a.tar.xz
Category level checks
-rw-r--r--src/qualudis/qualudis.cc28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/qualudis/qualudis.cc b/src/qualudis/qualudis.cc
index 1990e8c..ef8e002 100644
--- a/src/qualudis/qualudis.cc
+++ b/src/qualudis/qualudis.cc
@@ -270,8 +270,34 @@ namespace
do_check_category_dir(const FSEntry & dir)
{
cout << "QA checks for category directory " << dir << ":" << endl;
+ cout << endl;
+
+ bool ok(true);
+
+ for (DirIterator d(dir) ; d != DirIterator() ; ++d)
+ {
+ if ("CVS" == d->basename())
+ continue;
+ else if ('.' == d->basename().at(0))
+ continue;
+ else if (d->is_directory())
+ ok &= do_check_package_dir(*d);
+ else if ("metadata.xml" == d->basename())
+ {
+ bool fatal(false);
+
+ cout << "QA checks for category file " << *d << ":" << endl;
- throw DoHelp("qualudis cannot currently be run at the category level");
+ do_check_kind<qa::FileCheckMaker>(ok, fatal, *d);
+
+ cout << endl;
+
+ if (fatal)
+ break;
+ }
+ }
+
+ return ok;
}
bool