Пример #1
0
 def testNumberedRedirect(self):
   pysh.run('python -c "import sys;'
            'print >> sys.stderr, \'error\';print \'out\'"'
            '> stdout.txt 2> stderr.txt',
            globals(), locals())
   self.assertEquals('error\n', file('stderr.txt').read())
   self.assertEquals('out\n', file('stdout.txt').read())
Пример #2
0
 def testOrNotPyCmd(self):
   class Tmp(object):
     def process(self, args, input):
       raise Exception('Error!')
   tmp = Tmp()
   pysh.run('$tmp > out.txt || echo foo >> out.txt', globals(), locals())
   self.assertEquals('foo\n', file('out.txt').read())
Пример #3
0
 def testOrPyCmd(self):
   class Tmp(object):
     def process(self, args, input):
       return ['tmp']
   tmp = Tmp()
   pysh.run('$tmp > out.txt || echo foo >> out.txt', globals(), locals())
   self.assertEquals('tmp\n', file('out.txt').read())
Пример #4
0
 def testNumberedRedirect(self):
     pysh.run(
         'python -c "import sys;'
         'print >> sys.stderr, \'error\';print \'out\'"'
         '> stdout.txt 2> stderr.txt', globals(), locals())
     self.assertEquals('error\n', file('stderr.txt').read())
     self.assertEquals('out\n', file('stdout.txt').read())
Пример #5
0
 def testPyCmdInVar(self):
   class Tmp(object):
     def process(self, args, input):
       return ['tmp', 19]
   tmp = Tmp()
   pysh.run('$tmp > out.txt', globals(), locals())
   self.assertEquals('tmp\n19\n', file('out.txt').read())
Пример #6
0
    def testPyCmdInVar(self):
        class Tmp(object):
            def process(self, args, input):
                return ['tmp', 19]

        tmp = Tmp()
        pysh.run('$tmp > out.txt', globals(), locals())
        self.assertEquals('tmp\n19\n', file('out.txt').read())
Пример #7
0
    def testOrPyCmd(self):
        class Tmp(object):
            def process(self, args, input):
                return ['tmp']

        tmp = Tmp()
        pysh.run('$tmp > out.txt || echo foo >> out.txt', globals(), locals())
        self.assertEquals('tmp\n', file('out.txt').read())
Пример #8
0
    def testOrNotPyCmd(self):
        class Tmp(object):
            def process(self, args, input):
                raise Exception('Error!')

        tmp = Tmp()
        pysh.run('$tmp > out.txt || echo foo >> out.txt', globals(), locals())
        self.assertEquals('foo\n', file('out.txt').read())
Пример #9
0
 def testReturnCodeMulti(self):
     rc = pysh.run(
         '(rc0 <- echo foo >> /dev/null) && '
         '(rc1 <- echo bar >> /dev/null)', globals(), locals())
     self.assertEquals(2, len(rc))
     self.assertEquals(0, rc['rc0'])
     self.assertEquals(0, rc['rc1'])
Пример #10
0
 def testReadCvsCmd(self):
   pysh.run('echo \'a,b,"c,"\' > in.txt', globals(), locals())
   pysh.run('echo \'e,"f","""g"""\' >> in.txt', globals(), locals())
   pysh.run('cat in.txt | readcsv |'
            'map ${lambda row: row[2]} > out.txt',
            globals(), locals())
   self.assertEquals('c,\n"g"\n', file('out.txt').read())
Пример #11
0
 def testReadCvsCmd(self):
     pysh.run('echo \'a,b,"c,"\' > in.txt', globals(), locals())
     pysh.run('echo \'e,"f","""g"""\' >> in.txt', globals(), locals())
     pysh.run(
         'cat in.txt | readcsv |'
         'map ${lambda row: row[2]} > out.txt', globals(), locals())
     self.assertEquals('c,\n"g"\n', file('out.txt').read())
Пример #12
0
 def testPyCmdSequence(self):
     pysh.run('echo "foo" | pycmd bar | pycmd baz | cat > out.txt',
              globals(), locals())
     self.assertEquals('pycmd\nbaz\npycmd\nbar\nfoo\n',
                       file('out.txt').read())
Пример #13
0
 def testReceiveData(self):
     out = []
     pysh.run('echo "foo\\nbar" | recv $out', globals(), locals())
     self.assertEquals(['foo', 'bar'], out)
Пример #14
0
 def testListArgs(self):
     args = ['a', 'b', 10, {1: 3}]
     pysh.run('python -c "import sys;print sys.argv" '
              '$args > out.txt', globals(), locals())
     argv = eval(file('out.txt').read())
     self.assertEquals(['-c', 'a', 'b', '10', '{1: 3}'], argv)
Пример #15
0
 def testPyCmd(self):
     pysh.run('echo "foo\\nbar" | pycmd a b c | cat > out.txt', globals(),
              locals())
     self.assertEquals('pycmd\na\nb\nc\nfoo\nbar\n', file('out.txt').read())
Пример #16
0
 def testExpression(self):
     map_str = str(map)
     pysh.run('echo ${{len("abc") :[3 * 4 + 10]}} > out.txt', globals(),
              locals())
     self.assertEquals('{3: [22]}\n', file('out.txt').read())
Пример #17
0
 def testEnvVar(self):
     os.environ['YUNABE_PYSH_TEST_VAR'] = 'foobarbaz'
     pysh.run('echo $YUNABE_PYSH_TEST_VAR > out.txt', globals(), locals())
     self.assertEquals('foobarbaz\n', file('out.txt').read())
Пример #18
0
 def testOr(self):
     pysh.run('echo hoge >> out.txt || echo piyo >> out.txt', globals(),
              locals())
     self.assertEquals('hoge\n', file('out.txt').read())
Пример #19
0
 def testExpression(self):
   map_str = str(map)
   pysh.run('echo ${{len("abc") :[3 * 4 + 10]}} > out.txt',
            globals(), locals())
   self.assertEquals('{3: [22]}\n', file('out.txt').read())
Пример #20
0
 def testReduceCmd(self):
   pysh.run('echo "foo\\nbar" | reduce ${lambda x, y: x + y} |'
            'cat > out.txt', globals(), locals())
   self.assertEquals('foobar\n', file('out.txt').read())
Пример #21
0
 def testMapCmd(self):
     pysh.run(
         'echo "1\\n2\\n3\\n4\\n5" | map ${lambda l: int(l)} |'
         'map ${lambda x: x * x} > out.txt', globals(), locals())
     self.assertEquals('1\n4\n9\n16\n25\n', file('out.txt').read())
Пример #22
0
 def testFilterCmd(self):
   pysh.run('echo "cupcake\\ndonut\\nfroyo\\nginger" |'
            'filter ${lambda l: "e" in l} > out.txt',
            globals(), locals())
   self.assertEquals('cupcake\nginger\n', file('out.txt').read())
Пример #23
0
 def testMapCmd(self):
   pysh.run('echo "1\\n2\\n3\\n4\\n5" | map ${lambda l: int(l)} |'
            'map ${lambda x: x * x} > out.txt', globals(), locals())
   self.assertEquals('1\n4\n9\n16\n25\n', file('out.txt').read())
Пример #24
0
 def testSendData(self):
   data = ['foo', 'bar', 'baz']
   pysh.run('send $data | sort > out.txt', globals(), locals())
   self.assertEquals('bar\nbaz\nfoo\n', file('out.txt').read())
Пример #25
0
 def testReceiveData(self):
   out = []
   pysh.run('echo "foo\\nbar" | recv $out', globals(), locals())
   self.assertEquals(['foo', 'bar'], out)
Пример #26
0
 def testPyCmd(self):
   pysh.run('echo "foo\\nbar" | pycmd a b c | cat > out.txt',
            globals(), locals())
   self.assertEquals('pycmd\na\nb\nc\nfoo\nbar\n', file('out.txt').read())
Пример #27
0
 def testReduceCmd(self):
     pysh.run(
         'echo "foo\\nbar" | reduce ${lambda x, y: x + y} |'
         'cat > out.txt', globals(), locals())
     self.assertEquals('foobar\n', file('out.txt').read())
Пример #28
0
 def testOr(self):
   pysh.run('echo hoge >> out.txt || echo piyo >> out.txt',
            globals(), locals())
   self.assertEquals('hoge\n', file('out.txt').read())
Пример #29
0
 def testAndOr(self):
     pysh.run(
         '(python -c "import sys;sys.exit(1)" >> out.txt && echo bar) || '
         'echo baz >> out.txt)', globals(), locals())
     self.assertEquals('baz\n', file('out.txt').read())
Пример #30
0
 def testOrAnd(self):
   pysh.run('(echo foo >> out.txt || echo bar >> out.txt) && '
            'echo baz >> out.txt', globals(), locals())
   self.assertEquals('foo\nbaz\n', file('out.txt').read())
Пример #31
0
 def testPyCmdSequence(self):
   pysh.run('echo "foo" | pycmd bar | pycmd baz | cat > out.txt',
            globals(), locals())
   self.assertEquals('pycmd\nbaz\npycmd\nbar\nfoo\n', file('out.txt').read())
Пример #32
0
 def testAndOr(self):
   pysh.run('(python -c "import sys;sys.exit(1)" >> out.txt && echo bar) || '
            'echo baz >> out.txt)', globals(), locals())
   self.assertEquals('baz\n', file('out.txt').read())
Пример #33
0
 def testListComprehension(self):
     pysh.run('send ${[x * x for x in xrange(3)]} > out.txt', globals(),
              locals())
     self.assertEquals('0\n1\n4\n', file('out.txt').read())
Пример #34
0
 def testOrNot(self):
   pysh.run('python -c "import sys;sys.exit(1)" > out.txt || '
            'echo foo >> out.txt', globals(), locals())
   self.assertEquals('foo\n', file('out.txt').read())
Пример #35
0
 def testStringArgs(self):
     pysh.run(
         'python -c "import sys;print sys.argv" '
         '"a b" \'c d\' e f > out.txt', globals(), locals())
     argv = eval(file('out.txt').read())
     self.assertEquals(['-c', 'a b', 'c d', 'e', 'f'], argv)
Пример #36
0
 def testListArgs(self):
   args = ['a', 'b', 10, {1: 3}]
   pysh.run('python -c "import sys;print sys.argv" '
            '$args > out.txt', globals(), locals())
   argv = eval(file('out.txt').read())
   self.assertEquals(['-c', 'a', 'b', '10', '{1: 3}'], argv)
Пример #37
0
 def testEnvVar(self):
   os.environ['YUNABE_PYSH_TEST_VAR'] = 'foobarbaz'
   pysh.run('echo $YUNABE_PYSH_TEST_VAR > out.txt', globals(), locals())
   self.assertEquals('foobarbaz\n', file('out.txt').read())
Пример #38
0
 def testStringArgs(self):
   pysh.run('python -c "import sys;print sys.argv" '
            '"a b" \'c d\' e f > out.txt', globals(), locals())
   argv = eval(file('out.txt').read())
   self.assertEquals(['-c', 'a b', 'c d', 'e', 'f'], argv)
Пример #39
0
 def testPyCmdRedirect(self):
     pysh.run('echo "foo" | pycmd a b c > out.txt', globals(), locals())
     self.assertEquals('pycmd\na\nb\nc\nfoo\n', file('out.txt').read())
Пример #40
0
 def testReturnCode(self):
   rc = pysh.run('rc <- echo foo >> /dev/null', globals(), locals())
   self.assertEquals(1, len(rc))
   self.assertEquals(0, rc['rc'])
Пример #41
0
 def testListComprehension(self):
   pysh.run('send ${[x * x for x in xrange(3)]} > out.txt',
            globals(), locals())
   self.assertEquals('0\n1\n4\n', file('out.txt').read())
Пример #42
0
 def testReturnCodeMulti(self):
   rc = pysh.run('(rc0 <- echo foo >> /dev/null) && '
                 '(rc1 <- echo bar >> /dev/null)', globals(), locals())
   self.assertEquals(2, len(rc))
   self.assertEquals(0, rc['rc0'])
   self.assertEquals(0, rc['rc1'])
Пример #43
0
 def testSendData(self):
     data = ['foo', 'bar', 'baz']
     pysh.run('send $data | sort > out.txt', globals(), locals())
     self.assertEquals('bar\nbaz\nfoo\n', file('out.txt').read())
Пример #44
0
 def testSemiColon(self):
   rc = pysh.run('echo foo >> out.txt; echo bar >> out.txt',
                 globals(), locals())
   self.assertEquals('foo\nbar\n', file('out.txt').read())
Пример #45
0
 def testFilterCmd(self):
     pysh.run(
         'echo "cupcake\\ndonut\\nfroyo\\nginger" |'
         'filter ${lambda l: "e" in l} > out.txt', globals(), locals())
     self.assertEquals('cupcake\nginger\n', file('out.txt').read())
Пример #46
0
 def testReturnCode(self):
     rc = pysh.run('rc <- echo foo >> /dev/null', globals(), locals())
     self.assertEquals(1, len(rc))
     self.assertEquals(0, rc['rc'])
Пример #47
0
 def testSemiColon(self):
     rc = pysh.run('echo foo >> out.txt; echo bar >> out.txt', globals(),
                   locals())
     self.assertEquals('foo\nbar\n', file('out.txt').read())
Пример #48
0
 def testChangeDir(self):
     rc = pysh.run('cd /dev', globals(), locals())
     self.assertEquals('/dev', os.getcwd())
Пример #49
0
 def testOrAnd(self):
     pysh.run(
         '(echo foo >> out.txt || echo bar >> out.txt) && '
         'echo baz >> out.txt', globals(), locals())
     self.assertEquals('foo\nbaz\n', file('out.txt').read())
Пример #50
0
 def testBuiltinVar(self):
   map_str = str(map)
   pysh.run('echo $map > out.txt', globals(), locals())
   self.assertEquals(map_str + '\n', file('out.txt').read())
Пример #51
0
 def testOrNot(self):
     pysh.run(
         'python -c "import sys;sys.exit(1)" > out.txt || '
         'echo foo >> out.txt', globals(), locals())
     self.assertEquals('foo\n', file('out.txt').read())
Пример #52
0
 def testBuiltinVar(self):
     map_str = str(map)
     pysh.run('echo $map > out.txt', globals(), locals())
     self.assertEquals(map_str + '\n', file('out.txt').read())
Пример #53
0
 def testExpandUser(self):
   rc = pysh.run('echo ~/test.txt > out.txt', globals(), locals())
   path = os.path.expanduser('~/test.txt')
   self.assertEquals(path + '\n', file('out.txt').read())
Пример #54
0
 def testPyCmdRedirect(self):
   pysh.run('echo "foo" | pycmd a b c > out.txt',
            globals(), locals())
   self.assertEquals('pycmd\na\nb\nc\nfoo\n', file('out.txt').read())
Пример #55
0
 def testChangeDir(self):
   rc = pysh.run('cd /dev', globals(), locals())
   self.assertEquals('/dev', os.getcwd())
Пример #56
0
 def testGlob(self):
   pysh.run('echo foo > foo.txt', globals(), locals())
   pysh.run('echo bar > bar.txt', globals(), locals())
   pysh.run('echo baz > baz.doc', globals(), locals())
   pysh.run('echo test > "a*b.doc"', globals(), locals())
   pysh.run('echo *.txt > out1.txt', globals(), locals())
   pysh.run('echo "*.txt" > out2.txt', globals(), locals())
   pysh.run('echo *\'*\'*.doc > out3.txt', globals(), locals())
   self.assertEquals('bar.txt foo.txt\n', file('out1.txt').read())
   self.assertEquals('*.txt\n', file('out2.txt').read())
   self.assertEquals('a*b.doc\n', file('out3.txt').read())
Пример #57
0
 def testExpandUser(self):
     rc = pysh.run('echo ~/test.txt > out.txt', globals(), locals())
     path = os.path.expanduser('~/test.txt')
     self.assertEquals(path + '\n', file('out.txt').read())
Пример #58
0
 def testGlobalVar(self):
     pysh.run('echo $__name__ > out.txt', globals(), locals())
     self.assertEquals('__main__\n', file('out.txt').read())
Пример #59
0
 def testGlob(self):
     pysh.run('echo foo > foo.txt', globals(), locals())
     pysh.run('echo bar > bar.txt', globals(), locals())
     pysh.run('echo baz > baz.doc', globals(), locals())
     pysh.run('echo test > "a*b.doc"', globals(), locals())
     pysh.run('echo *.txt > out1.txt', globals(), locals())
     pysh.run('echo "*.txt" > out2.txt', globals(), locals())
     pysh.run('echo *\'*\'*.doc > out3.txt', globals(), locals())
     self.assertEquals('bar.txt foo.txt\n', file('out1.txt').read())
     self.assertEquals('*.txt\n', file('out2.txt').read())
     self.assertEquals('a*b.doc\n', file('out3.txt').read())
Пример #60
0
 def testGlobalVar(self):
   pysh.run('echo $__name__ > out.txt', globals(), locals())
   self.assertEquals('__main__\n', file('out.txt').read())