提交 49fcd32c 编写于 作者: C Cleber Rosa

Exit codes: use symbolic names in functional self tests

Since we define the meaning of each exit code, we should be using that
ourselves.

Functional tests have been coded using literal values, and there may
be a good reason for that: proving that the API stands.  But there's a
big issue: we have not declared those codes as some kind of an
external API and guarantee stability. Also the subsequent changes in
this series actually change the meaning and values of those.
Signed-off-by: NCleber Rosa <crosa@redhat.com>
上级 9542cbd9
......@@ -9,6 +9,7 @@ else:
from avocado.core import data_dir
from avocado.core import job_id
from avocado.core import exit_codes
from avocado.utils import process
......@@ -22,7 +23,7 @@ class ArgumentParsingTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado whacky-command-that-doesnt-exist'
result = process.run(cmd_line, ignore_status=True)
expected_rc = 2
expected_rc = exit_codes.AVOCADO_JOB_FAIL
self.assertEqual(result.exit_status, expected_rc,
'Avocado did not return rc %d:\n%s' % (expected_rc, result))
......@@ -30,7 +31,7 @@ class ArgumentParsingTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --sysinfo=foo passtest'
result = process.run(cmd_line, ignore_status=True)
expected_rc = 2
expected_rc = exit_codes.AVOCADO_JOB_FAIL
self.assertEqual(result.exit_status, expected_rc,
'Avocado did not return rc %d:\n%s' % (expected_rc, result))
......@@ -38,7 +39,7 @@ class ArgumentParsingTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --sysinfo=off --whacky-argument passtest'
result = process.run(cmd_line, ignore_status=True)
expected_rc = 2
expected_rc = exit_codes.AVOCADO_JOB_FAIL
self.assertEqual(result.exit_status, expected_rc,
'Avocado did not return rc %d:\n%s' % (expected_rc, result))
......@@ -59,7 +60,7 @@ class ArgumentParsingErrorEarlyTest(unittest.TestCase):
cmd_line = './scripts/avocado run --sysinfo=off --force-job-id=%s %s'
cmd_line %= (job, complement_args)
result = process.run(cmd_line, ignore_status=True)
expected_rc = 2
expected_rc = exit_codes.AVOCADO_JOB_FAIL
self.assertEqual(result.exit_status, expected_rc,
'Avocado did not return rc %d:\n%s' % (expected_rc, result))
path_job_glob = os.path.join(log_dir, "job-*-%s" % job[0:7])
......
......@@ -11,6 +11,7 @@ if sys.version_info[:2] == (2, 6):
else:
import unittest
from avocado.core import exit_codes
from avocado.utils import process
from avocado.utils import script
......@@ -86,7 +87,7 @@ class RunnerOperationTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --sysinfo=off --job-results-dir %s passtest failtest passtest' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" % (expected_rc, result))
......@@ -94,8 +95,8 @@ class RunnerOperationTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --sysinfo=off --job-results-dir %s bogustest' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 2
unexpected_rc = 3
expected_rc = exit_codes.AVOCADO_JOB_FAIL
unexpected_rc = exit_codes.AVOCADO_FAIL
self.assertNotEqual(result.exit_status, unexpected_rc,
"Avocado crashed (rc %d):\n%s" % (unexpected_rc, result))
self.assertEqual(result.exit_status, expected_rc,
......@@ -106,8 +107,8 @@ class RunnerOperationTest(unittest.TestCase):
cmd_line = './scripts/avocado run --sysinfo=off --job-results-dir %s --xunit - doublefail' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
output = result.stdout
expected_rc = 1
unexpected_rc = 3
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
unexpected_rc = exit_codes.AVOCADO_FAIL
self.assertNotEqual(result.exit_status, unexpected_rc,
"Avocado crashed (rc %d):\n%s" % (unexpected_rc, result))
self.assertEqual(result.exit_status, expected_rc,
......@@ -123,7 +124,7 @@ class RunnerOperationTest(unittest.TestCase):
cmd_line = ("./scripts/avocado run --sysinfo=off --job-results-dir %s "
"--json - uncaught_exception" % self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" % (expected_rc,
result))
......@@ -134,7 +135,7 @@ class RunnerOperationTest(unittest.TestCase):
cmd_line = ("./scripts/avocado run --sysinfo=off --job-results-dir %s "
"--json - fail_on_exception" % self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" % (expected_rc,
result))
......@@ -145,8 +146,8 @@ class RunnerOperationTest(unittest.TestCase):
cmd_line = './scripts/avocado run --sysinfo=off --job-results-dir %s --xunit - timeouttest' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
output = result.stdout
expected_rc = 1
unexpected_rc = 3
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
unexpected_rc = exit_codes.AVOCADO_FAIL
self.assertNotEqual(result.exit_status, unexpected_rc,
"Avocado crashed (rc %d):\n%s" % (unexpected_rc, result))
self.assertEqual(result.exit_status, expected_rc,
......@@ -162,8 +163,8 @@ class RunnerOperationTest(unittest.TestCase):
result = process.run(cmd_line, ignore_status=True)
output = result.stdout
excerpt = 'Test process aborted'
expected_rc = 1
unexpected_rc = 3
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
unexpected_rc = exit_codes.AVOCADO_FAIL
self.assertNotEqual(result.exit_status, unexpected_rc,
"Avocado crashed (rc %d):\n%s" % (unexpected_rc, result))
self.assertEqual(result.exit_status, expected_rc,
......@@ -174,7 +175,7 @@ class RunnerOperationTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --sysinfo=off --job-results-dir %s passtest --silent' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
expected_output = ''
self.assertEqual(result.exit_status, expected_rc)
self.assertEqual(result.stderr, expected_output)
......@@ -183,7 +184,7 @@ class RunnerOperationTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado'
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
unexpected_output = 'too few arguments'
self.assertEqual(result.exit_status, expected_rc)
self.assertNotIn(unexpected_output, result.stdout)
......@@ -192,7 +193,7 @@ class RunnerOperationTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --sysinfo=off'
result = process.run(cmd_line, ignore_status=True)
expected_rc = 2
expected_rc = exit_codes.AVOCADO_JOB_FAIL
expected_output = 'No tests found for given urls'
self.assertEqual(result.exit_status, expected_rc)
self.assertIn(expected_output, result.stderr)
......@@ -201,7 +202,7 @@ class RunnerOperationTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --sysinfo=off sbrubles'
result = process.run(cmd_line, ignore_status=True)
expected_rc = 2
expected_rc = exit_codes.AVOCADO_JOB_FAIL
self.assertEqual(result.exit_status, expected_rc)
self.assertIn('Unable to discover url', result.stderr)
self.assertNotIn('Unable to discover url', result.stdout)
......@@ -209,7 +210,7 @@ class RunnerOperationTest(unittest.TestCase):
def test_invalid_unique_id(self):
cmd_line = './scripts/avocado run --sysinfo=off --force-job-id foobar passtest'
result = process.run(cmd_line, ignore_status=True)
self.assertNotEqual(0, result.exit_status)
self.assertNotEqual(result.exit_status, exit_codes.AVOCADO_ALL_OK)
self.assertIn('needs to be a 40 digit hex', result.stderr)
self.assertNotIn('needs to be a 40 digit hex', result.stdout)
......@@ -217,14 +218,14 @@ class RunnerOperationTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off '
'--force-job-id 975de258ac05ce5e490648dec4753657b7ccc7d1 passtest' % self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
self.assertEqual(0, result.exit_status)
self.assertEqual(result.exit_status, exit_codes.AVOCADO_ALL_OK)
self.assertNotIn('needs to be a 40 digit hex', result.stderr)
self.assertIn('PASS', result.stdout)
def test_automatic_unique_id(self):
cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=off passtest --json -' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
self.assertEqual(0, result.exit_status)
self.assertEqual(result.exit_status, exit_codes.AVOCADO_ALL_OK)
r = json.loads(result.stdout)
int(r['job_id'], 16) # it's an hex number
self.assertEqual(len(r['job_id']), 40)
......@@ -234,7 +235,7 @@ class RunnerOperationTest(unittest.TestCase):
cmd_line = ("./scripts/avocado run --sysinfo=off --job-results-dir %s "
"--json - skip_outside_setup" % self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" % (expected_rc,
result))
......@@ -271,7 +272,7 @@ class RunnerHumanOutputTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --sysinfo=off --job-results-dir %s passtest' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -281,7 +282,7 @@ class RunnerHumanOutputTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --sysinfo=off --job-results-dir %s failtest' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -291,7 +292,7 @@ class RunnerHumanOutputTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --sysinfo=off --job-results-dir %s errortest' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -301,7 +302,7 @@ class RunnerHumanOutputTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --sysinfo=off --job-results-dir %s skiponsetup' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -332,7 +333,7 @@ class RunnerSimpleTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off'
' %s' % (self.tmpdir, self.pass_script.path))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -342,7 +343,7 @@ class RunnerSimpleTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off'
' %s' % (self.tmpdir, self.fail_script.path))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -363,7 +364,7 @@ class RunnerSimpleTest(unittest.TestCase):
result = process.run(cmd_line, ignore_status=True)
actual_time = time.time() - initial_time
self.assertLess(actual_time, 30.0)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" % (expected_rc, result))
......@@ -380,7 +381,7 @@ class RunnerSimpleTest(unittest.TestCase):
result = process.run(cmd_line, ignore_status=True)
actual_time = time.time() - initial_time
self.assertLess(actual_time, 33.0)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" % (expected_rc, result))
......@@ -392,9 +393,10 @@ class RunnerSimpleTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off '
'examples/tests/simplewarning.sh --show-job-log' % self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
self.assertEqual(result.exit_status, 0,
"Avocado did not return rc 0:\n%s" %
(result))
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %s:\n%s" %
(expected_rc, result))
self.assertIn('DEBUG| Debug message', result.stdout, result)
self.assertIn('INFO | Info message', result.stdout, result)
self.assertIn('WARN | Warning message (should cause this test to '
......@@ -428,7 +430,7 @@ class ExternalRunnerTest(unittest.TestCase):
cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=off --external-runner=/bin/sh %s'
cmd_line %= (self.tmpdir, self.pass_script.path)
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -438,7 +440,7 @@ class ExternalRunnerTest(unittest.TestCase):
cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=off --external-runner=/bin/sh %s'
cmd_line %= (self.tmpdir, self.fail_script.path)
result = process.run(cmd_line, ignore_status=True)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -452,7 +454,7 @@ class ExternalRunnerTest(unittest.TestCase):
expected_output = ('Option "--external-runner-chdir=test" requires '
'"--external-runner-testdir" to be set')
self.assertIn(expected_output, result.stderr)
expected_rc = 2
expected_rc = exit_codes.AVOCADO_JOB_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -478,7 +480,7 @@ class PluginsTest(AbsPluginsTest, unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado sysinfo %s' % self.base_outputdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -490,7 +492,7 @@ class PluginsTest(AbsPluginsTest, unittest.TestCase):
cmd_line = './scripts/avocado list'
result = process.run(cmd_line, ignore_status=True)
output = result.stdout
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -501,7 +503,7 @@ class PluginsTest(AbsPluginsTest, unittest.TestCase):
cmd_line = './scripts/avocado list sbrubles'
result = process.run(cmd_line, ignore_status=True)
output = result.stderr
expected_rc = 3
expected_rc = exit_codes.AVOCADO_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -512,7 +514,7 @@ class PluginsTest(AbsPluginsTest, unittest.TestCase):
cmd_line = './scripts/avocado plugins'
result = process.run(cmd_line, ignore_status=True)
output = result.stdout
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -524,7 +526,7 @@ class PluginsTest(AbsPluginsTest, unittest.TestCase):
cmd_line = './scripts/avocado config --paginator off'
result = process.run(cmd_line, ignore_status=True)
output = result.stdout
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -535,7 +537,7 @@ class PluginsTest(AbsPluginsTest, unittest.TestCase):
cmd_line = './scripts/avocado config --datadir --paginator off'
result = process.run(cmd_line, ignore_status=True)
output = result.stdout
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -546,7 +548,7 @@ class PluginsTest(AbsPluginsTest, unittest.TestCase):
cmd_line = './scripts/avocado plugins'
result = process.run(cmd_line, ignore_status=True)
output = result.stderr
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -608,16 +610,20 @@ class PluginsXunitTest(AbsPluginsTest, unittest.TestCase):
"XML:\n%s" % xml_output)
def test_xunit_plugin_passtest(self):
self.run_and_check('passtest', 0, 1, 0, 0, 0, 0)
self.run_and_check('passtest', exit_codes.AVOCADO_ALL_OK,
1, 0, 0, 0, 0)
def test_xunit_plugin_failtest(self):
self.run_and_check('failtest', 1, 1, 0, 0, 1, 0)
self.run_and_check('failtest', exit_codes.AVOCADO_TESTS_FAIL,
1, 0, 0, 1, 0)
def test_xunit_plugin_skiponsetuptest(self):
self.run_and_check('skiponsetup', 0, 1, 0, 0, 0, 1)
self.run_and_check('skiponsetup', exit_codes.AVOCADO_ALL_OK,
1, 0, 0, 0, 1)
def test_xunit_plugin_errortest(self):
self.run_and_check('errortest', 1, 1, 1, 0, 0, 0)
self.run_and_check('errortest', exit_codes.AVOCADO_TESTS_FAIL,
1, 1, 0, 0, 0)
def tearDown(self):
shutil.rmtree(self.tmpdir)
......@@ -666,16 +672,20 @@ class PluginsJSONTest(AbsPluginsTest, unittest.TestCase):
"Different number of skipped tests")
def test_json_plugin_passtest(self):
self.run_and_check('passtest', 0, 1, 0, 0, 0)
self.run_and_check('passtest', exit_codes.AVOCADO_ALL_OK,
1, 0, 0, 0)
def test_json_plugin_failtest(self):
self.run_and_check('failtest', 1, 1, 0, 1, 0)
self.run_and_check('failtest', exit_codes.AVOCADO_TESTS_FAIL,
1, 0, 1, 0)
def test_json_plugin_skiponsetuptest(self):
self.run_and_check('skiponsetup', 0, 1, 0, 0, 1)
self.run_and_check('skiponsetup', exit_codes.AVOCADO_ALL_OK,
1, 0, 0, 1)
def test_json_plugin_errortest(self):
self.run_and_check('errortest', 1, 1, 1, 0, 0)
self.run_and_check('errortest', exit_codes.AVOCADO_TESTS_FAIL,
1, 1, 0, 0)
def tearDown(self):
shutil.rmtree(self.tmpdir)
......
......@@ -4,6 +4,7 @@ import tempfile
import shutil
from avocado import VERSION
from avocado.core import exit_codes
from avocado.utils import process
from avocado.utils import script
......@@ -47,7 +48,7 @@ class EnvironmentVariablesTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=off %s' % (self.tmpdir, self.script.path)
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......
......@@ -9,6 +9,7 @@ if sys.version_info[:2] == (2, 6):
else:
import unittest
from avocado.core import exit_codes
from avocado.utils import process
from avocado.utils import script
......@@ -107,43 +108,43 @@ class JobTimeOutTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off '
'--xunit - --job-timeout=1 %s examples/tests/passtest.py' %
(self.tmpdir, self.script.path))
self.run_and_check(cmd_line, 1, 2, 1, 0, 1)
self.run_and_check(cmd_line, exit_codes.AVOCADO_TESTS_FAIL, 2, 1, 0, 1)
def test_sleep_short_timeout_with_test_methods(self):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off '
'--xunit - --job-timeout=1 %s' %
(self.tmpdir, self.py.path))
self.run_and_check(cmd_line, 1, 3, 1, 0, 2)
self.run_and_check(cmd_line, exit_codes.AVOCADO_TESTS_FAIL, 3, 1, 0, 2)
def test_invalid_values(self):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off '
'--job-timeout=0 examples/tests/passtest.py' % self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
self.assertEqual(result.exit_status, 3)
self.assertEqual(result.exit_status, exit_codes.AVOCADO_FAIL)
self.assertIn('Invalid number', result.stderr)
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off '
'--job-timeout=123x examples/tests/passtest.py' % self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
self.assertEqual(result.exit_status, 3)
self.assertEqual(result.exit_status, exit_codes.AVOCADO_FAIL)
self.assertIn('Invalid number', result.stderr)
def test_valid_values(self):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off '
'--job-timeout=123 examples/tests/passtest.py' % self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
self.assertEqual(result.exit_status, 0)
self.assertEqual(result.exit_status, exit_codes.AVOCADO_ALL_OK)
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off '
'--job-timeout=123s examples/tests/passtest.py' % self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
self.assertEqual(result.exit_status, 0)
self.assertEqual(result.exit_status, exit_codes.AVOCADO_ALL_OK)
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off '
'--job-timeout=123m examples/tests/passtest.py' % self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
self.assertEqual(result.exit_status, 0)
self.assertEqual(result.exit_status, exit_codes.AVOCADO_ALL_OK)
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off '
'--job-timeout=123h examples/tests/passtest.py' % self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
self.assertEqual(result.exit_status, 0)
self.assertEqual(result.exit_status, exit_codes.AVOCADO_ALL_OK)
def tearDown(self):
self.script.remove()
......
......@@ -5,6 +5,7 @@ import sqlite3
import tempfile
import shutil
from avocado.core import exit_codes
from avocado.utils import process
basedir = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..')
......@@ -25,8 +26,10 @@ class JournalPluginTests(unittest.TestCase):
self.db = sqlite3.connect(jfile)
def test_journal_job_id(self):
self.assertEqual(self.result.exit_status, 0,
"Command '%s' did not return 0" % self.cmd_line)
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(self.result.exit_status, expected_rc,
"Command '%s' did not return %s" % (self.cmd_line,
expected_rc))
cur = self.db.cursor()
cur.execute('SELECT unique_id FROM job_info;')
db_job_id = cur.fetchone()[0]
......@@ -34,8 +37,10 @@ class JournalPluginTests(unittest.TestCase):
"The job ids differs, expected %s got %s" % (self.job_id, db_job_id))
def test_journal_count_entries(self):
self.assertEqual(self.result.exit_status, 0,
"Command '%s' did not return 0" % self.cmd_line)
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(self.result.exit_status, expected_rc,
"Command '%s' did not return %s" % (self.cmd_line,
expected_rc))
cur = self.db.cursor()
cur.execute('SELECT COUNT(*) FROM test_journal;')
db_count = cur.fetchone()[0]
......
......@@ -10,6 +10,7 @@ if sys.version_info[:2] == (2, 6):
else:
import unittest
from avocado.core import exit_codes
from avocado.utils import process
......@@ -43,12 +44,12 @@ class MultiplexTests(unittest.TestCase):
def test_mplex_plugin(self):
cmd_line = './scripts/avocado multiplex examples/tests/sleeptest.py.data/sleeptest.yaml'
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.run_and_check(cmd_line, expected_rc)
def test_mplex_plugin_nonexistent(self):
cmd_line = './scripts/avocado multiplex nonexist'
expected_rc = 2
expected_rc = exit_codes.AVOCADO_JOB_FAIL
result = self.run_and_check(cmd_line, expected_rc)
self.assertIn('No such file or directory', result.stderr)
......@@ -58,20 +59,20 @@ class MultiplexTests(unittest.TestCase):
'/:examples/mux-environment.yaml '
'/:examples/mux-selftest.yaml '
'/:examples/mux-environment.yaml')
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
result = self.run_and_check(cmd_line, expected_rc)
self.assertIn(DEBUG_OUT, result.stdout)
def test_run_mplex_noid(self):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off '
'--multiplex examples/tests/sleeptest.py.data/sleeptest.yaml' % self.tmpdir)
expected_rc = 2
expected_rc = exit_codes.AVOCADO_JOB_FAIL
self.run_and_check(cmd_line, expected_rc)
def test_run_mplex_passtest(self):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off passtest '
'--multiplex examples/tests/sleeptest.py.data/sleeptest.yaml' % self.tmpdir)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.run_and_check(cmd_line, expected_rc)
def test_run_mplex_doublepass(self):
......@@ -82,14 +83,14 @@ class MultiplexTests(unittest.TestCase):
def test_run_mplex_failtest(self):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off passtest failtest '
'--multiplex examples/tests/sleeptest.py.data/sleeptest.yaml' % self.tmpdir)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.run_and_check(cmd_line, expected_rc)
def test_run_double_mplex(self):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off passtest --multiplex '
'examples/tests/sleeptest.py.data/sleeptest.yaml '
'examples/tests/sleeptest.py.data/sleeptest.yaml' % self.tmpdir)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.run_and_check(cmd_line, expected_rc)
def test_run_mplex_params(self):
......@@ -97,7 +98,7 @@ class MultiplexTests(unittest.TestCase):
'--multiplex examples/tests/env_variables.sh.data'
'/env_variables.yaml '
'--show-job-log' % self.tmpdir)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
result = self.run_and_check(cmd_line, expected_rc)
for msg in ('A', 'ASDFASDF', 'This is very long\nmultiline\ntext.'):
msg = ('[stdout] Custom variable: ' +
......
......@@ -11,9 +11,9 @@ if sys.version_info[:2] == (2, 6):
else:
import unittest
from avocado.utils import process
from avocado.core import exit_codes
from avocado.core.output import TermSupport
from avocado.utils import process
basedir = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..')
basedir = os.path.abspath(basedir)
......@@ -28,7 +28,7 @@ class OutputTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=off doublefree' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
output = result.stdout + result.stderr
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
......@@ -61,7 +61,7 @@ class OutputPluginTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=off --xunit - --json - passtest' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 2
expected_rc = exit_codes.AVOCADO_JOB_FAIL
output = result.stdout + result.stderr
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
......@@ -74,7 +74,7 @@ class OutputPluginTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=off --html - passtest' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 2
expected_rc = exit_codes.AVOCADO_JOB_FAIL
output = result.stdout + result.stderr
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
......@@ -90,7 +90,7 @@ class OutputPluginTest(unittest.TestCase):
(self.tmpdir, tmpfile))
result = process.run(cmd_line, ignore_status=True)
output = result.stdout + result.stderr
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
try:
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
......@@ -111,7 +111,7 @@ class OutputPluginTest(unittest.TestCase):
(self.tmpdir, tmpfile))
result = process.run(cmd_line, ignore_status=True)
output = result.stdout + result.stderr
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
try:
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
......@@ -138,7 +138,7 @@ class OutputPluginTest(unittest.TestCase):
(self.tmpdir, tmpfile, tmpfile2, tmpfile3))
result = process.run(cmd_line, ignore_status=True)
output = result.stdout + result.stderr
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
tmpdir_contents = os.listdir(tmpdir)
self.assertEqual(len(tmpdir_contents), 5,
'Not all resources dir were created: %s' % tmpdir_contents)
......@@ -169,7 +169,7 @@ class OutputPluginTest(unittest.TestCase):
(self.tmpdir, tmpfile, tmpfile2))
result = process.run(cmd_line, ignore_status=True)
output = result.stdout + result.stderr
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
try:
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
......@@ -192,7 +192,7 @@ class OutputPluginTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=off passtest --show-job-log' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -209,7 +209,7 @@ class OutputPluginTest(unittest.TestCase):
self.tmpdir)
result = process.run(cmd_line, ignore_status=True)
output = result.stdout + result.stderr
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -220,7 +220,7 @@ class OutputPluginTest(unittest.TestCase):
cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=off passtest' % self.tmpdir
result = process.run(cmd_line, ignore_status=True)
output = result.stdout + result.stderr
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -236,7 +236,7 @@ class OutputPluginTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off whiteboard --json %s' %
(self.tmpdir, tmpfile))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -261,7 +261,7 @@ class OutputPluginTest(unittest.TestCase):
"--sysinfo=off gendata --json %s" %
(self.tmpdir, tmpfile))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -300,7 +300,7 @@ class OutputPluginTest(unittest.TestCase):
(self.tmpdir, redirected_output_path))
result = process.run(cmd_line, ignore_status=True, shell=True)
output = result.stdout + result.stderr
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......
......@@ -8,6 +8,7 @@ if sys.version_info[:2] == (2, 6):
else:
import unittest
from avocado.core import exit_codes
from avocado.utils import process
from avocado.utils import script
......@@ -36,7 +37,7 @@ class RunnerSimpleTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off %s --output-check-record none' %
(self.tmpdir, self.output_script.path))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -50,7 +51,7 @@ class RunnerSimpleTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off %s --output-check-record stdout' %
(self.tmpdir, self.output_script.path))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -64,7 +65,7 @@ class RunnerSimpleTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off %s --output-check-record all' %
(self.tmpdir, self.output_script.path))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -78,7 +79,7 @@ class RunnerSimpleTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off %s' %
(self.tmpdir, self.output_script.path))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -92,7 +93,7 @@ class RunnerSimpleTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off %s --xunit -' %
(self.tmpdir, self.output_script.path))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -107,7 +108,7 @@ class RunnerSimpleTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off %s --output-check=off --xunit -' %
(self.tmpdir, self.output_script.path))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......
......@@ -6,6 +6,7 @@ if sys.version_info[:2] == (2, 6):
else:
import unittest
from avocado.core import exit_codes
from avocado.utils import process
......@@ -32,22 +33,22 @@ class StandaloneTests(unittest.TestCase):
def test_passtest(self):
cmd_line = './examples/tests/passtest.py -r'
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.run_and_check(cmd_line, expected_rc, 'passtest')
def test_warntest(self):
cmd_line = './examples/tests/warntest.py -r'
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.run_and_check(cmd_line, expected_rc, 'warntest')
def test_failtest(self):
cmd_line = './examples/tests/failtest.py -r'
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.run_and_check(cmd_line, expected_rc, 'failtest')
def test_errortest_nasty(self):
cmd_line = './examples/tests/errortest_nasty.py -r'
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
result = self.run_and_check(cmd_line, expected_rc, 'errortest_nasty')
exc = "NastyException: Nasty-string-like-exception"
count = result.stdout.count("\n%s" % exc)
......@@ -57,21 +58,21 @@ class StandaloneTests(unittest.TestCase):
def test_errortest_nasty2(self):
cmd_line = './examples/tests/errortest_nasty2.py -r'
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
result = self.run_and_check(cmd_line, expected_rc, 'errortest_nasty2')
self.assertIn("Exception: Unable to get exception, check the traceback"
" for details.", result.stdout)
def test_errortest_nasty3(self):
cmd_line = './examples/tests/errortest_nasty3.py -r'
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
result = self.run_and_check(cmd_line, expected_rc, 'errortest_nasty3')
self.assertIn("TestError: <errortest_nasty3.NastyException instance at ",
result.stdout)
def test_errortest(self):
cmd_line = './examples/tests/errortest.py -r'
expected_rc = 1
expected_rc = exit_codes.AVOCADO_TESTS_FAIL
self.run_and_check(cmd_line, expected_rc, 'errortest')
if __name__ == '__main__':
......
......@@ -8,6 +8,7 @@ if sys.version_info[:2] == (2, 6):
else:
import unittest
from avocado.core import exit_codes
from avocado.utils import process
......@@ -24,7 +25,7 @@ class SysInfoTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=on passtest' % self.tmpdir
result = process.run(cmd_line)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
'Avocado did not return rc %d:\n%s' % (expected_rc, result))
output = result.stdout + result.stderr
......@@ -45,7 +46,7 @@ class SysInfoTest(unittest.TestCase):
os.chdir(basedir)
cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=off passtest' % self.tmpdir
result = process.run(cmd_line)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
'Avocado did not return rc %d:\n%s' % (expected_rc, result))
output = result.stdout + result.stderr
......
......@@ -3,6 +3,7 @@ import unittest
import tempfile
import shutil
from avocado.core import exit_codes
from avocado.utils import process
from avocado.utils import script
......@@ -41,7 +42,7 @@ class WrapperTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off --wrapper %s '
'examples/tests/datadir.py' % (self.tmpdir, self.script.path))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -55,7 +56,7 @@ class WrapperTest(unittest.TestCase):
cmd_line = ('./scripts/avocado run --job-results-dir %s --sysinfo=off --wrapper %s:*/datadir '
'examples/tests/datadir.py' % (self.tmpdir, self.script.path))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......@@ -70,7 +71,7 @@ class WrapperTest(unittest.TestCase):
'examples/tests/datadir.py' % (self.tmpdir, self.dummy.path,
self.script.path))
result = process.run(cmd_line, ignore_status=True)
expected_rc = 0
expected_rc = exit_codes.AVOCADO_ALL_OK
self.assertEqual(result.exit_status, expected_rc,
"Avocado did not return rc %d:\n%s" %
(expected_rc, result))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册