Esempio n. 1
0
 def test_check_exit_code_boolean(self):
     utils.execute('/usr/bin/env', 'false', check_exit_code=False)
     self.assertRaises(processutils.ProcessExecutionError,
                       utils.execute,
                       '/usr/bin/env',
                       'false',
                       check_exit_code=True)
Esempio n. 2
0
 def test_execute_get_root_helper(self):
     with mock.patch.object(processutils, 'execute') as execute_mock:
         helper = utils._get_root_helper()
         utils.execute('foo', run_as_root=True)
         execute_mock.assert_called_once_with('foo',
                                              run_as_root=True,
                                              root_helper=helper)
Esempio n. 3
0
    def test_no_retry_on_success(self):
        fd, tmpfilename = tempfile.mkstemp()
        _, tmpfilename2 = tempfile.mkstemp()
        try:
            fp = os.fdopen(fd, 'w+')
            fp.write('''#!/bin/sh
# If we've already run, bail out.
grep -q foo "$1" && exit 1
# Mark that we've run before.
echo foo > "$1"
# Check that stdin gets passed correctly.
grep foo
''')
            fp.close()
            os.chmod(tmpfilename, 0o755)
            try:
                utils.execute(tmpfilename,
                              tmpfilename2,
                              process_input=b'foo',
                              attempts=2)
            except OSError as e:
                if e.errno == errno.EACCES:
                    self.skipTest("Permissions error detected. "
                                  "Are you running with a noexec /tmp?")
                else:
                    raise
        finally:
            os.unlink(tmpfilename)
            os.unlink(tmpfilename2)
Esempio n. 4
0
 def test_execute_use_standard_locale_with_env_variables(self,
                                                         execute_mock):
     utils.execute('foo', use_standard_locale=True,
                   env_variables={'foo': 'bar'})
     execute_mock.assert_called_once_with('foo',
                                          env_variables={'LC_ALL': 'C',
                                                         'foo': 'bar'})
Esempio n. 5
0
    def test_no_retry_on_success(self):
        fd, tmpfilename = tempfile.mkstemp()
        _, tmpfilename2 = tempfile.mkstemp()
        try:
            fp = os.fdopen(fd, 'w+')
            fp.write('''#!/bin/sh
# If we've already run, bail out.
grep -q foo "$1" && exit 1
# Mark that we've run before.
echo foo > "$1"
# Check that stdin gets passed correctly.
grep foo
''')
            fp.close()
            os.chmod(tmpfilename, 0o755)
            try:
                utils.execute(tmpfilename,
                              tmpfilename2,
                              process_input=b'foo',
                              attempts=2)
            except OSError as e:
                if e.errno == errno.EACCES:
                    self.skipTest("Permissions error detected. "
                                  "Are you running with a noexec /tmp?")
                else:
                    raise
        finally:
            os.unlink(tmpfilename)
            os.unlink(tmpfilename2)
Esempio n. 6
0
 def test_execute_use_standard_locale_with_env_variables(self,
                                                         execute_mock):
     utils.execute('foo', use_standard_locale=True,
                   env_variables={'foo': 'bar'})
     execute_mock.assert_called_once_with('foo',
                                          env_variables={'LC_ALL': 'C',
                                                         'foo': 'bar'})
Esempio n. 7
0
 def test_execute_without_root_helper(self):
     with mock.patch.object(processutils, 'execute') as execute_mock:
         utils.execute('foo', run_as_root=False)
         execute_mock.assert_called_once_with('foo', run_as_root=False)
Esempio n. 8
0
 def test_execute_not_use_standard_locale(self, execute_mock):
     utils.execute('foo',
                   use_standard_locale=False,
                   env_variables={'foo': 'bar'})
     execute_mock.assert_called_once_with('foo',
                                          env_variables={'foo': 'bar'})
Esempio n. 9
0
 def test_execute_without_root_helper(self):
     with mock.patch.object(processutils, 'execute') as execute_mock:
         utils.execute('foo', run_as_root=False)
         execute_mock.assert_called_once_with('foo', run_as_root=False)
Esempio n. 10
0
 def test_execute_get_root_helper(self):
     with mock.patch.object(processutils, 'execute') as execute_mock:
         helper = utils._get_root_helper()
         utils.execute('foo', run_as_root=True)
         execute_mock.assert_called_once_with('foo', run_as_root=True,
                                              root_helper=helper)
Esempio n. 11
0
 def test_execute_not_use_standard_locale(self, execute_mock):
     utils.execute('foo', use_standard_locale=False,
                   env_variables={'foo': 'bar'})
     execute_mock.assert_called_once_with('foo',
                                          env_variables={'foo': 'bar'})
Esempio n. 12
0
 def test_check_exit_code_boolean(self):
     utils.execute('/usr/bin/env', 'false', check_exit_code=False)
     self.assertRaises(processutils.ProcessExecutionError,
                       utils.execute,
                       '/usr/bin/env', 'false', check_exit_code=True)