示例#1
0
 def test_env_set(self):
     with mock.patch.dict(os.environ, {}, clear=True):
         ret = yield helper.call_cmd_async(
             # Thanks to the future import it doesn't matter if python is
             # python2 or python3
             [
                 'python', '-c', 'from __future__ import print_function; '
                 'import os; '
                 'print(os.environ.get("foo", "fail"), end="")'
             ],
             env={'foo': 'bar'})
     self.assertEqual(ret, 'bar')
示例#2
0
文件: account.py 项目: geier/alot
    def send_mail(self, mail):
        cmdlist = split_commandstring(self.cmd)

        def cb(out):
            logging.info("sent mail successfully")
            logging.info(out)

        def errb(failure):
            termobj = failure.value
            errmsg = "%s failed with code %s:\n%s" % (self.cmd, termobj.exitCode, str(failure.value))
            logging.error(errmsg)
            logging.error(failure.getTraceback())
            logging.error(failure.value.stderr)
            raise SendingMailFailed(errmsg)

        d = call_cmd_async(cmdlist, stdin=mail)
        d.addCallback(cb)
        d.addErrback(errb)
        return d
示例#3
0
    def send_mail(self, mail):
        cmdlist = split_commandstring(self.cmd)

        def cb(out):
            logging.info('sent mail successfully')
            logging.info(out)

        def errb(failure):
            termobj = failure.value
            errmsg = '%s\nsendmail_cmd set to: %s' % (str(termobj), self.cmd)
            logging.error(errmsg)
            logging.error(failure.getTraceback())
            logging.error(failure.value.stderr)
            raise SendingMailFailed(errmsg)

        d = call_cmd_async(cmdlist, stdin=mail)
        d.addCallback(cb)
        d.addErrback(errb)
        return d
示例#4
0
文件: account.py 项目: fagga/alot
    def send_mail(self, mail):
        cmdlist = split_commandstring(self.cmd)

        def cb(out):
            logging.info('sent mail successfully')
            logging.info(out)

        def errb(failure):
            termobj = failure.value
            errmsg = '%s failed with code %s:\n%s' % \
                (self.cmd, termobj.exitCode, failure.value.stderr.rstrip())
            logging.error(errmsg)
            logging.error(failure.getTraceback())
            logging.error(failure.value.stderr)
            raise SendingMailFailed(errmsg)

        d = call_cmd_async(cmdlist, stdin=mail)
        d.addCallback(cb)
        d.addErrback(errb)
        return d
示例#5
0
文件: account.py 项目: t-8ch/alot
    def send_mail(self, mail):
        mail['Date'] = email.utils.formatdate(time.time(), True)
        cmdlist = split_commandstring(self.cmd)

        def cb(out):
            logging.info('sent mail successfully')
            logging.info(out)

        def errb(failure):
            termobj = failure.value
            errmsg = '%s\nsendmail_cmd set to: %s' % (str(termobj), self.cmd)
            logging.error(errmsg)
            logging.error(failure.getTraceback())
            logging.error(failure.value.stderr)
            raise SendingMailFailed(errmsg)

        d = call_cmd_async(cmdlist, stdin=crypto.email_as_string(mail))
        d.addCallback(cb)
        d.addErrback(errb)
        return d
示例#6
0
文件: account.py 项目: t-8ch/alot
    def send_mail(self, mail):
        mail['Date'] = email.utils.formatdate(time.time(), True)
        cmdlist = split_commandstring(self.cmd)

        def cb(out):
            logging.info('sent mail successfully')
            logging.info(out)

        def errb(failure):
            termobj = failure.value
            errmsg = '%s\nsendmail_cmd set to: %s' % (str(termobj), self.cmd)
            logging.error(errmsg)
            logging.error(failure.getTraceback())
            logging.error(failure.value.stderr)
            raise SendingMailFailed(errmsg)

        d = call_cmd_async(cmdlist, stdin=crypto.email_as_string(mail))
        d.addCallback(cb)
        d.addErrback(errb)
        return d
示例#7
0
 def test_command_fails(self):
     with self.assertRaises(ProcessTerminated) as cm:
         yield helper.call_cmd_async(['_____better_not_exist'])
     self.assertEqual(cm.exception.exitCode, 1)
     self.assertTrue(cm.exception.stderr)
示例#8
0
 def test_env_doesnt_pollute(self):
     with mock.patch.dict(os.environ, {}, clear=True):
         yield helper.call_cmd_async(['echo', '-n', 'foo'],
                                     env={'foo': 'bar'})
         self.assertEqual(os.environ, {})
示例#9
0
 def test_stdin(self):
     ret = yield helper.call_cmd_async(['cat', '-'], stdin='foo')
     self.assertEqual(ret, 'foo')
示例#10
0
 def test_no_stdin(self):
     ret = yield helper.call_cmd_async(['echo', '-n', 'foo'])
     self.assertEqual(ret, 'foo')