Exemple #1
0
 def test_alt(self):
     def func1(): return '1'
     def func2(): return '2'
     stdout, stderr = util.run(func1, alt=func2, args=['test'])
     self.assertFalse(stderr.getvalue())
     self.assertEqual(stdout.getvalue(), '1\n')
     stdout, stderr = util.run(func1, alt=func2, args=['test', '--func2'])
     self.assertFalse(stderr.getvalue())
     self.assertEqual(stdout.getvalue(), '2\n')
Exemple #2
0
    def test_alt(self):
        def func1():
            return '1'

        def func2():
            return '2'

        stdout, stderr = util.run(func1, alt=func2, args=['test'])
        self.assertFalse(stderr.getvalue())
        self.assertEqual(stdout.getvalue(), '1\n')
        stdout, stderr = util.run(func1, alt=func2, args=['test', '--func2'])
        self.assertFalse(stderr.getvalue())
        self.assertEqual(stdout.getvalue(), '2\n')
Exemple #3
0
 def test_run_multi(self):
     def func1(): return '1'
     def func2(): return '2'
     stdout, stderr = util.run([func1, func2], args=['test', 'func1'])
     self.assertFalse(stderr.getvalue())
     self.assertEqual(stdout.getvalue(), '1\n')
     stdout, stderr = util.run([func1, func2], args=['test', 'func2'])
     self.assertFalse(stderr.getvalue())
     self.assertEqual(stdout.getvalue(), '2\n')
     stdout = cStringIO()
     stderr = cStringIO()
     runner.run(func1, func2, args=['test', 'func1'],
                out=stdout, err=stderr, exit=False)
     self.assertFalse(stderr.getvalue())
     self.assertEqual(stdout.getvalue(), '1\n')
Exemple #4
0
    def test_catch_usererror(self):
        def func():
            raise errors.UserError('test_catch_usererror')

        out, err = util.run(func, ['test'])
        self.assertEqual(out.getvalue(), '')
        self.assertEqual(err.getvalue(), 'test: test_catch_usererror\n')
Exemple #5
0
 def test_catch_argumenterror(self):
     def func():
         raise errors.ArgumentError('test_catch_argumenterror')
     out, err = util.run(func, ['test'])
     self.assertEqual(out.getvalue(), '')
     self.assertEqual(err.getvalue(), 'test: test_catch_argumenterror\n'
                                      'Usage: test\n')
Exemple #6
0
    def test_run_silent(self):
        def func():
            pass

        stdout, stderr = util.run(func, args=['test'])
        self.assertFalse(stdout.getvalue())
        self.assertFalse(stderr.getvalue())
Exemple #7
0
 def test_catch_customerror(self):
     class MyError(Exception):
         pass
     def func():
         raise MyError('test_catch_customerror')
     out, err = util.run(func, ['test'], catch=[MyError])
     self.assertEqual(out.getvalue(), '')
     self.assertEqual(err.getvalue(), 'test_catch_customerror\n')
Exemple #8
0
 def test_catch_argerror_cust(self):
     class MyError(Exception):
         pass
     def func():
         raise errors.UserError('test_catch_argerror_cust')
     out, err = util.run(func, ['test'], catch=[MyError])
     self.assertEqual(out.getvalue(), '')
     self.assertEqual(err.getvalue(), 'test: test_catch_argerror_cust\n')
Exemple #9
0
    def test_catch_argumenterror(self):
        def func():
            raise errors.ArgumentError('test_catch_argumenterror')

        out, err = util.run(func, ['test'])
        self.assertEqual(out.getvalue(), '')
        self.assertEqual(err.getvalue(), 'test: test_catch_argumenterror\n'
                         'Usage: test\n')
Exemple #10
0
 def test_show_list_morekw(self):
     func = support.f('par:a', locals={'a': RepTests.mapped_basic[1]})
     out, err = util.run(func, ['name', 'list', '-k', 'xyz'])
     self.assertEqual('', err.getvalue())
     self.assertEqual(
         """name: Possible values for par:
         hello h1
         goodbye h2""".split(),
         out.getvalue().split())
Exemple #11
0
 def test_show_list_morekw(self):
     func = support.f('par:a', locals={'a': RepTests.mapped_basic[1]})
     out, err = util.run(func, ['name', 'list', '-k', 'xyz'])
     self.assertEqual('', err.getvalue())
     self.assertEqual(
         """name: Possible values for par:
         hello h1
         goodbye h2""".split(),
         out.getvalue().split())
Exemple #12
0
    def test_disable_help(self):
        def func1():
            raise NotImplementedError

        stdout, stderr = util.run(func1,
                                  help_names=[],
                                  args=['test', '--help'])
        self.assertTrue(stderr.getvalue())
        self.assertFalse(stdout.getvalue())
Exemple #13
0
 def test_show_list(self):
     func = support.f('par:a', locals={'a': RepTests.oneof_help[1]})
     out, err = util.run(func, ['name', 'list'])
     self.assertEqual('', err.getvalue())
     self.assertEqual(
         """name: Possible values for par:
         hello h1
         bye h2""".split(),
         out.getvalue().split())
Exemple #14
0
 def test_show_list(self):
     func = support.f('par:a', locals={'a': RepTests.oneof_help[1]})
     out, err = util.run(func, ['name', 'list'])
     self.assertEqual('', err.getvalue())
     self.assertEqual(
         """name: Possible values for par:
         hello h1
         bye h2""".split(),
         out.getvalue().split())
Exemple #15
0
 def test_show_list_alt(self):
     func = support.f('par:a',
                      locals={'a': RepTests.mapped_alternate_list[1]})
     out, err = util.run(func, ['name', 'options'])
     self.assertEqual('', err.getvalue())
     self.assertEqual(
         """name: Possible values for par:
         hello h1
         goodbye h2""".split(),
         out.getvalue().split())
Exemple #16
0
    def test_catch_argerror_cust(self):
        class MyError(Exception):
            pass

        def func():
            raise errors.UserError('test_catch_argerror_cust')

        out, err = util.run(func, ['test'], catch=[MyError])
        self.assertEqual(out.getvalue(), '')
        self.assertEqual(err.getvalue(), 'test: test_catch_argerror_cust\n')
Exemple #17
0
    def test_catch_customerror(self):
        class MyError(Exception):
            pass

        def func():
            raise MyError('test_catch_customerror')

        out, err = util.run(func, ['test'], catch=[MyError])
        self.assertEqual(out.getvalue(), '')
        self.assertEqual(err.getvalue(), 'test_catch_customerror\n')
Exemple #18
0
 def test_show_list_alt(self):
     func = support.f('par:a',
                     locals={'a': RepTests.mapped_alternate_list[1]})
     out, err = util.run(func, ['name', 'options'])
     self.assertEqual('', err.getvalue())
     self.assertEqual(
         """name: Possible values for par:
         hello h1
         goodbye h2""".split(),
         out.getvalue().split())
Exemple #19
0
 def test_dir_missing(self):
     path = os.path.join(self.temp, 'adir/afile')
     self.assertRaises(errors.BadArgumentFormat,
                       self.run_conv, converters.file(mode='w'), path)
     @modifiers.annotate(afile=converters.file(mode='w'))
     def func(afile):
         raise NotImplementedError
     stdout, stderr = util.run(func, ['test', path])
     self.assertFalse(stdout.getvalue())
     self.assertTrue(stderr.getvalue().startswith(
         'test: Bad value for afile: Directory does not exist: '))
Exemple #20
0
 def test_file_read(self):
     path = os.path.join(self.temp, 'afile')
     open(path, 'w').close()
     @modifiers.annotate(afile=converters.file())
     def func(afile):
         with afile as f:
             self.assertEqual(f.name, path)
             self.assertEqual(f.mode, 'r')
         self.assertTrue(f.closed)
     o, e = util.run(func, ['test', path])
     self.assertFalse(o.getvalue())
     self.assertFalse(e.getvalue())
Exemple #21
0
 def test_race(self):
     path = os.path.join(self.temp, 'afile')
     open(path, mode='w').close()
     @modifiers.annotate(afile=converters.file(mode='w'))
     def func(afile):
         os.chmod(path, stat.S_IRUSR)
         with afile:
             raise NotImplementedError
     stdout, stderr = util.run(func, ['test', path])
     self.assertFalse(stdout.getvalue())
     self.assertTrue(stderr.getvalue().startswith(
         'test: Permission denied: '))
Exemple #22
0
    def test_file_missing(self):
        path = os.path.join(self.temp, 'afile')
        self.assertRaises(errors.BadArgumentFormat, self.run_conv,
                          converters.file(), path)

        @modifiers.annotate(afile=converters.file())
        def func(afile):
            raise NotImplementedError

        stdout, stderr = util.run(func, ['test', path])
        self.assertFalse(stdout.getvalue())
        self.assertTrue(stderr.getvalue().startswith(
            'test: Bad value for afile: File does not exist: '))
Exemple #23
0
 def test_file_write(self):
     path = os.path.join(self.temp, 'afile')
     @modifiers.annotate(afile=converters.file(mode='w'))
     def func(afile):
         self.assertFalse(os.path.exists(path))
         with afile as f:
             self.assertEqual(f.name, path)
             self.assertEqual(f.mode, 'w')
         self.assertTrue(f.closed)
         self.assertTrue(os.path.exists(path))
     o, e = util.run(func, ['test', path])
     self.assertFalse(o.getvalue())
     self.assertFalse(e.getvalue())
Exemple #24
0
    def test_race(self):
        path = os.path.join(self.temp, 'afile')
        open(path, mode='w').close()

        @modifiers.annotate(afile=converters.file(mode='w'))
        def func(afile):
            os.chmod(path, stat.S_IRUSR)
            with afile:
                raise NotImplementedError

        stdout, stderr = util.run(func, ['test', path])
        self.assertFalse(stdout.getvalue())
        self.assertTrue(
            stderr.getvalue().startswith('test: Permission denied: '))
Exemple #25
0
    def test_run_multi(self):
        def func1():
            return '1'

        def func2():
            return '2'

        stdout, stderr = util.run([func1, func2], args=['test', 'func1'])
        self.assertFalse(stderr.getvalue())
        self.assertEqual(stdout.getvalue(), '1\n')
        stdout, stderr = util.run([func1, func2], args=['test', 'func2'])
        self.assertFalse(stderr.getvalue())
        self.assertEqual(stdout.getvalue(), '2\n')
        stdout = cStringIO()
        stderr = cStringIO()
        runner.run(func1,
                   func2,
                   args=['test', 'func1'],
                   out=stdout,
                   err=stderr,
                   exit=False)
        self.assertFalse(stderr.getvalue())
        self.assertEqual(stdout.getvalue(), '1\n')
Exemple #26
0
    def test_file_read(self):
        path = os.path.join(self.temp, 'afile')
        open(path, 'w').close()

        @modifiers.annotate(afile=converters.file())
        def func(afile):
            with afile as f:
                self.assertEqual(f.name, path)
                self.assertEqual(f.mode, 'r')
            self.assertTrue(f.closed)

        o, e = util.run(func, ['test', path])
        self.assertFalse(o.getvalue())
        self.assertFalse(e.getvalue())
Exemple #27
0
    def test_file_write(self):
        path = os.path.join(self.temp, 'afile')

        @modifiers.annotate(afile=converters.file(mode='w'))
        def func(afile):
            self.assertFalse(os.path.exists(path))
            with afile as f:
                self.assertEqual(f.name, path)
                self.assertEqual(f.mode, 'w')
            self.assertTrue(f.closed)
            self.assertTrue(os.path.exists(path))

        o, e = util.run(func, ['test', path])
        self.assertFalse(o.getvalue())
        self.assertFalse(e.getvalue())
Exemple #28
0
 def test_catch_usererror(self):
     def func():
         raise errors.UserError('test_catch_usererror')
     out, err = util.run(func, ['test'])
     self.assertEqual(out.getvalue(), '')
     self.assertEqual(err.getvalue(), 'test: test_catch_usererror\n')
Exemple #29
0
 def test_disable_help(self):
     def func1(): raise NotImplementedError
     stdout, stderr = util.run(
         func1, help_names=[], args=['test', '--help'])
     self.assertTrue(stderr.getvalue())
     self.assertFalse(stdout.getvalue())
Exemple #30
0
 def test_run_silent(self):
     def func():
         pass
     stdout, stderr = util.run(func, args=['test'])
     self.assertFalse(stdout.getvalue())
     self.assertFalse(stderr.getvalue())