Пример #1
0
    def tar_scm(self, args, should_succeed=True):
        # simulate new temporary outdir for each tar_scm invocation
        mkfreshdir(self.outdir)

        # osc launches source services with cwd as pkg dir
        # (see run_source_services() in osc/core.py)
        print("chdir to pkgdir: %s" % self.pkgdir)
        os.chdir(self.pkgdir)

        cmdargs = args + ['--outdir', self.outdir]
        sys.argv = [self.tar_scm_bin()] + cmdargs

        old_stdout = sys.stdout
        mystdout = StringIO()
        sys.stdout = mystdout

        old_stderr = sys.stderr
        mystderr = StringIO()
        sys.stderr = mystderr

        cmdstr = " ".join(sys.argv)
        print()
        print(">>>>>>>>>>>")
        print("Running %s" % cmdstr)
        print()

        try:
            TarSCM.run()
        except SystemExit as e:
            if e.code == 0:
                ret = 0
                succeeded = True
            else:
                sys.stderr.write(e.code)
                ret = 1
                succeeded = False
        except (NameError, AttributeError) as e:
            sys.stderr.write(e)
            ret = 1
            succeeded = False
        except Exception as e:
            if (hasattr(e, 'message')):
                msg = e.message
            else:
                msg = e
            sys.stderr.write(str(msg))
            ret = 1
            succeeded = False
        finally:
            sys.stdout = old_stdout
            sys.stderr = old_stderr

        stdout = mystdout.getvalue()
        stderr = mystderr.getvalue()

        if stdout:
            print("--v-v-- begin STDOUT from tar_scm --v-v--")
            print(stdout)
            print("--^-^-- end   STDOUT from tar_scm --^-^--")

        if stderr:
            print("\n")
            print("--v-v-- begin STDERR from tar_scm --v-v--")
            print(stderr)
            print("--^-^-- end   STDERR from tar_scm --^-^--")

        self.assertEqual(
            succeeded, should_succeed,
            "expected tar_scm to " + ("succeed" if should_succeed else "fail"))

        return (stdout, stderr, ret)
Пример #2
0
def main():
    TarSCM.run()
def main():
   TarSCM.run()
    def tar_scm(self, args, should_succeed=True):
        # simulate new temporary outdir for each tar_scm invocation
        mkfreshdir(self.outdir)

        # osc launches source services with cwd as pkg dir
        # (see run_source_services() in osc/core.py)
        print("chdir to pkgdir: %s" % self.pkgdir)
        os.chdir(self.pkgdir)

        cmdargs = args + ['--outdir', self.outdir]
        sys.argv = [ self.tar_scm_bin() ] +  cmdargs

        old_stdout = sys.stdout
        mystdout   = StringIO()
        sys.stdout = mystdout

        old_stderr = sys.stderr
        mystderr   = StringIO()
        sys.stderr = mystderr

        cmdstr = " ".join(sys.argv)
        print()
        print(">>>>>>>>>>>")
        print("Running %s" % cmdstr)
        print()

        try:
            TarSCM.run()
        except SystemExit as e:
            if e.code == 0:
                ret = 0
                succeeded = True
            else:
                sys.stderr.write(e.code)
                ret = 1
                succeeded = False
        except (NameError,AttributeError) as e:
            sys.stderr.write(e)
            ret = 1
            succeeded = False
        except Exception as e:
            sys.stderr.write(e.msg)
            ret = 1
            succeeded = False
        finally:
            sys.stdout = old_stdout
            sys.stderr = old_stderr

        stdout = mystdout.getvalue()        
        stderr = mystderr.getvalue()        
   
        if stdout:
            print("--v-v-- begin STDOUT from tar_scm --v-v--")
            print(stdout)
            print("--^-^-- end   STDOUT from tar_scm --^-^--")

        if stderr:
            print("\n")
            print("--v-v-- begin STDERR from tar_scm --v-v--")
            print(stderr)
            print("--^-^-- end   STDERR from tar_scm --^-^--")

        self.assertEqual(succeeded, should_succeed,
                         "expected tar_scm to " +
                         ("succeed" if should_succeed else "fail"))

        return (stdout, stderr, ret)