def setUp(self): self.cli = TarSCM.cli() self.tasks = TarSCM.tasks() self.tests_dir = os.path.abspath(os.path.dirname(__file__)) self.tmp_dir = os.path.join(self.tests_dir, 'tmp') self.fixtures_dir = os.path.join(self.tests_dir, 'fixtures', self.__class__.__name__) self.cli.parse_args(['--outdir','.'])
def setUp(self): self.cli = TarSCM.Cli() self.tasks = TarSCM.Tasks(self.cli) self.tests_dir = os.path.abspath(os.path.dirname(__file__)) self.tmp_dir = os.path.join(self.tests_dir, 'tmp') self.fixtures_dir = os.path.join(self.tests_dir, 'fixtures', self.__class__.__name__) self.cli.parse_args(['--outdir', '.']) os.environ['CACHEDIRECTORY'] = ''
def test_prep_tree_for_archive(self): tasks = TarSCM.Tasks(self.cli) scm_base = Scm(self.cli, tasks) basedir = os.path.join(self.tmp_dir, self.__class__.__name__) dir1 = os.path.join(basedir, "test1") scm_base.clone_dir = basedir os.makedirs(dir1) os.symlink('/', os.path.join(basedir, "test3")) with self.assertRaises(Exception) as ctx: scm_base.prep_tree_for_archive("test2", basedir, "test1") if (hasattr(ctx.exception, 'message')): msg = ctx.exception.message else: msg = ctx.exception self.assertRegexpMatches(str(msg), 'No such file or directory') scm_base.prep_tree_for_archive("test1", basedir, "test2") self.assertEqual(scm_base.arch_dir, os.path.join(basedir, "test2")) with self.assertRaises(SystemExit) as ctx: scm_base.prep_tree_for_archive("test3", basedir, "test2")
def test_prep_tree_for_archive(self): tasks = TarSCM.tasks() scm_base = scm(self.cli, tasks) basedir = os.path.join(self.tmp_dir, self.__class__.__name__) dir1 = os.path.join(basedir, "test1") scm_base.clone_dir = basedir os.makedirs(dir1) with self.assertRaises(Exception) as ctx: scm_base.prep_tree_for_archive("test2", basedir, "test1") self.assertRegexpMatches(ctx.exception.message, 'No such file or directory') scm_base.prep_tree_for_archive("test1", basedir, "test2") self.assertEqual(scm_base.arch_dir, os.path.join(basedir, "test2"))
def test_prep_tree_for_archive(self): tasks = TarSCM.tasks() scm_base = scm(self.cli,tasks) basedir = os.path.join( self.tmp_dir, self.__class__.__name__) dir1 = os.path.join(basedir,"test1") scm_base.clone_dir = basedir os.makedirs(dir1) self.assertRaisesRegexp( Exception, re.compile('No such file or directory'), scm_base.prep_tree_for_archive, "test2", basedir, "test1" ) scm_base.prep_tree_for_archive("test1",basedir,"test2") self.assertEqual(scm_base.arch_dir,os.path.join(basedir,"test2"))
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)
def _prepare_cli(self): self.cli = TarSCM.Cli() if not os.path.exists(self.outdir): os.makedirs(self.outdir) self.cli.parse_args(['--outdir', self.outdir, '--scm', 'git']) self.cli.snapcraft = True
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)
def _prepare_cli(self): self.cli = TarSCM.cli() if not os.path.exists(self.outdir): os.makedirs(self.outdir) self.cli.parse_args(['--outdir',self.outdir,'--scm','git']) self.cli.snapcraft = True