From 092fd6d2f000fffe67f61d053bf8a1a9c81952e9 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Sat, 15 Oct 2011 20:40:39 +0200 Subject: [PATCH] [eit.commands.test] new command "eit test pkgs" --- server/eit/commands/test.py | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/server/eit/commands/test.py b/server/eit/commands/test.py index 50d3c6cfa..4ed651ae2 100644 --- a/server/eit/commands/test.py +++ b/server/eit/commands/test.py @@ -14,7 +14,7 @@ import os import argparse from entropy.i18n import _ -from entropy.output import darkgreen, teal +from entropy.output import darkgreen, teal, purple from entropy.server.interfaces import Server from eit.commands.descriptor import EitCommandDescriptor @@ -48,8 +48,6 @@ class EitTest(EitCommand): deps_parser = subparsers.add_parser("deps", help=_("dependencies test")) - deps_parser.add_argument("repo", nargs='?', default=None, - metavar="", help=_("repository")) deps_parser.set_defaults(func=self._deptest) libs_parser = subparsers.add_parser("libs", @@ -65,6 +63,15 @@ class EitTest(EitCommand): help=_("excluded soname")) links_parser.set_defaults(func=self._linktest) + pkgs_parser = subparsers.add_parser("pkgs", + help=_("verify local packages integrity")) + pkgs_parser.add_argument("repo", nargs='?', default=None, + metavar="", help=_("repository")) + pkgs_parser.add_argument("--quick", action="store_true", + default=False, + help=_("no stupid questions")) + pkgs_parser.set_defaults(func=self._pkgtest) + try: nsargs = parser.parse_args(self._args) except IOError as err: @@ -100,6 +107,25 @@ class EitTest(EitCommand): rc = 1 return rc + def _pkgtest(self, entropy_server): + repository_id = self._nsargs.repo + if repository_id is None: + repository_id = entropy_server.repository() + if repository_id not in entropy_server.repositories(): + entropy_server.output( + "%s: %s" % ( + purple(_("Invalid repository")), + teal(repository_id)), + importance=1, level="error") + return 1 + + fine, failed, dl_fine, dl_err = \ + entropy_server._verify_local_packages( + repository_id, [], ask = not self._nsargs.quick) + if failed: + return 1 + return 0 + EitCommandDescriptor.register( EitCommandDescriptor(