test_export_variables.py 2.1 KB
Newer Older
1
import os
2
import sys
3 4
import tempfile
import shutil
5

6 7 8 9 10
if sys.version_info[:2] == (2, 6):
    import unittest2 as unittest
else:
    import unittest

11
from avocado import VERSION
12
from avocado.core import exit_codes
13
from avocado.utils import process
14
from avocado.utils import script
15

16 17 18 19
basedir = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..')
basedir = os.path.abspath(basedir)


20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
SCRIPT_CONTENT = """#!/bin/sh
echo "Avocado Version: $AVOCADO_VERSION"
echo "Avocado Test basedir: $AVOCADO_TEST_BASEDIR"
echo "Avocado Test datadir: $AVOCADO_TEST_DATADIR"
echo "Avocado Test workdir: $AVOCADO_TEST_WORKDIR"
echo "Avocado Test srcdir: $AVOCADO_TEST_SRCDIR"
echo "Avocado Test logdir: $AVOCADO_TEST_LOGDIR"
echo "Avocado Test logfile: $AVOCADO_TEST_LOGFILE"
echo "Avocado Test outputdir: $AVOCADO_TEST_OUTPUTDIR"
echo "Avocado Test sysinfodir: $AVOCADO_TEST_SYSINFODIR"

test "$AVOCADO_VERSION" = "{version}" -a \
     -d "$AVOCADO_TEST_BASEDIR" -a \
     -d "$AVOCADO_TEST_WORKDIR" -a \
     -d "$AVOCADO_TEST_SRCDIR" -a \
     -d "$AVOCADO_TEST_LOGDIR" -a \
     -f "$AVOCADO_TEST_LOGFILE" -a \
     -d "$AVOCADO_TEST_OUTPUTDIR" -a \
     -d "$AVOCADO_TEST_SYSINFODIR"
""".format(version=VERSION)


class EnvironmentVariablesTest(unittest.TestCase):

    def setUp(self):
45
        self.tmpdir = tempfile.mkdtemp(prefix='avocado_' + __name__)
46 47 48 49 50
        self.script = script.TemporaryScript(
            'version.sh',
            SCRIPT_CONTENT,
            'avocado_env_vars_functional')
        self.script.save()
51

52
    @unittest.skip("Temporary plugin infrastructure removal")
53 54
    def test_environment_vars(self):
        os.chdir(basedir)
55
        cmd_line = './scripts/avocado run --job-results-dir %s --sysinfo=off %s' % (self.tmpdir, self.script.path)
56
        result = process.run(cmd_line, ignore_status=True)
57
        expected_rc = exit_codes.AVOCADO_ALL_OK
58 59 60 61 62
        self.assertEqual(result.exit_status, expected_rc,
                         "Avocado did not return rc %d:\n%s" %
                         (expected_rc, result))

    def tearDown(self):
63
        self.script.remove()
64
        shutil.rmtree(self.tmpdir)
65 66 67

if __name__ == '__main__':
    unittest.main()