import os import unittest import testchill.gcov as gcov import testchill.__main__ as main def runtest(tc): tc.setUp() tc.run() tc.tearDown() class TestMain(unittest.TestCase): def setUp(self): self.chill_dev_src = os.getenv('CHILL_DEV_SRC') self.chill_release_src = os.getenv('CHILL_RELEASE_SRC') self.omega_dev_src = os.getenv('OMEGA_DEV_SRC') self.omega_release_src = os.getenv('OMEGA_RELEASE_SRC') self.staging_dir_bin = os.getenv('STAGING_DIR_BIN') self.staging_dir_wd = os.getenv('STAGING_DIR_WD') def test_main_parse_chillbuild(self): pass def test_main_parse_chill_dev(self): tclist = main.args_to_tclist('-b {} chill-testcase path/to/somescript.script path/to/somesrc.c'.format(self.staging_dir_bin).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.config.chill_dir, None) self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.build_cuda, False) self.assertEqual(tc.config.version, 'dev') self.assertEqual(tc.config.script_lang, 'script') self.assertEqual(tc.name, 'chill:somescript.script') self.assertEqual(tc.wd, os.getcwd()) self.assertEqual(tc.chill_bin, os.path.join(self.staging_dir_bin, 'chill')) self.assertEqual(tc.chill_script, 'somescript.script') self.assertEqual(tc.chill_src, 'somesrc.c') self.assertEqual(tc.chill_script_path, os.path.join(os.getcwd(), 'path/to/somescript.script')) self.assertEqual(tc.chill_src_path, os.path.join(os.getcwd(), 'path/to/somesrc.c')) self.assertEqual(tc.chill_gensrc, 'rose_somesrc.c') def test_main_parse_chill_lua_dev(self): tclist = main.args_to_tclist('-b {} chill-testcase path/to/somescript.lua path/to/somesrc.c'.format(self.staging_dir_bin).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.config.chill_dir, None) self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.build_cuda, False) self.assertEqual(tc.config.version, 'dev') self.assertEqual(tc.config.script_lang, 'lua') self.assertEqual(tc.name, 'chill-lua:somescript.lua') self.assertEqual(tc.wd, os.getcwd()) self.assertEqual(tc.chill_bin, os.path.join(self.staging_dir_bin, 'chill-lua')) self.assertEqual(tc.chill_script, 'somescript.lua') self.assertEqual(tc.chill_src, 'somesrc.c') self.assertEqual(tc.chill_script_path, os.path.join(os.getcwd(), 'path/to/somescript.lua')) self.assertEqual(tc.chill_src_path, os.path.join(os.getcwd(), 'path/to/somesrc.c')) self.assertEqual(tc.chill_gensrc, 'rose_somesrc.c') def test_main_parse_chill_python_dev(self): tclist = main.args_to_tclist('-b {} chill-testcase path/to/somescript.py path/to/somesrc.c'.format(self.staging_dir_bin).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.config.chill_dir, None) self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.build_cuda, False) self.assertEqual(tc.config.version, 'dev') self.assertEqual(tc.config.script_lang, 'python') self.assertEqual(tc.name, 'chill-python:somescript.py') self.assertEqual(tc.wd, os.getcwd()) self.assertEqual(tc.chill_bin, os.path.join(self.staging_dir_bin, 'chill-python')) self.assertEqual(tc.chill_script, 'somescript.py') self.assertEqual(tc.chill_src, 'somesrc.c') self.assertEqual(tc.chill_script_path, os.path.join(os.getcwd(), 'path/to/somescript.py')) self.assertEqual(tc.chill_src_path, os.path.join(os.getcwd(), 'path/to/somesrc.c')) self.assertEqual(tc.chill_gensrc, 'rose_somesrc.c') def test_main_parse_cudachill_dev(self): tclist = main.args_to_tclist('-b {} chill-testcase -u path/to/somescript.lua path/to/somesrc.c'.format(self.staging_dir_bin).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.config.chill_dir, None) self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.build_cuda, True) self.assertEqual(tc.config.version, 'dev') self.assertEqual(tc.config.script_lang, 'lua') self.assertEqual(tc.name, 'cuda-chill:somescript.lua') self.assertEqual(tc.wd, os.getcwd()) self.assertEqual(tc.chill_bin, os.path.join(self.staging_dir_bin, 'cuda-chill')) self.assertEqual(tc.chill_script, 'somescript.lua') self.assertEqual(tc.chill_src, 'somesrc.c') self.assertEqual(tc.chill_script_path, os.path.join(os.getcwd(), 'path/to/somescript.lua')) self.assertEqual(tc.chill_src_path, os.path.join(os.getcwd(), 'path/to/somesrc.c')) self.assertEqual(tc.chill_gensrc, 'rose_somesrc.cu') def test_main_parse_cudachill_python_dev(self): tclist = main.args_to_tclist('-b {} chill-testcase -u path/to/somescript.py path/to/somesrc.c'.format(self.staging_dir_bin).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.config.chill_dir, None) self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.build_cuda, True) self.assertEqual(tc.config.version, 'dev') self.assertEqual(tc.config.script_lang, 'python') self.assertEqual(tc.name, 'cuda-chill-python:somescript.py') self.assertEqual(tc.wd, os.getcwd()) self.assertEqual(tc.chill_bin, os.path.join(self.staging_dir_bin, 'cuda-chill-python')) self.assertEqual(tc.chill_script, 'somescript.py') self.assertEqual(tc.chill_src, 'somesrc.c') self.assertEqual(tc.chill_script_path, os.path.join(os.getcwd(), 'path/to/somescript.py')) self.assertEqual(tc.chill_src_path, os.path.join(os.getcwd(), 'path/to/somesrc.c')) self.assertEqual(tc.chill_gensrc, 'rose_somesrc.cu') def test_main_parse_chill_release(self): tclist = main.args_to_tclist('-b {} chill-testcase -v release path/to/somescript.script path/to/somesrc.c'.format(self.staging_dir_bin).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.name, 'chill-release:somescript.script') self.assertEqual(tc.wd, os.getcwd()) self.assertEqual(tc.chill_bin, os.path.join(self.staging_dir_bin, 'chill-release')) self.assertEqual(tc.chill_script, 'somescript.script') self.assertEqual(tc.chill_src, 'somesrc.c') self.assertEqual(tc.chill_script_path, os.path.join(os.getcwd(), 'path/to/somescript.script')) self.assertEqual(tc.chill_src_path, os.path.join(os.getcwd(), 'path/to/somesrc.c')) self.assertEqual(tc.chill_gensrc, 'rose_somesrc.c') def test_main_parse_chill_release(self): tclist = main.args_to_tclist('-b {} chill-testcase -uv release path/to/somescript.lua path/to/somesrc.c'.format(self.staging_dir_bin).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.name, 'cuda-chill-release:somescript.lua') self.assertEqual(tc.wd, os.getcwd()) self.assertEqual(tc.chill_bin, os.path.join(self.staging_dir_bin, 'cuda-chill-release')) self.assertEqual(tc.chill_script, 'somescript.lua') self.assertEqual(tc.chill_src, 'somesrc.c') self.assertEqual(tc.chill_script_path, os.path.join(os.getcwd(), 'path/to/somescript.lua')) self.assertEqual(tc.chill_src_path, os.path.join(os.getcwd(), 'path/to/somesrc.c')) self.assertEqual(tc.chill_gensrc, 'rose_somesrc.cu') def test_main_parse_chillbuild_dev(self): tclist = main.args_to_tclist('-b {} -C {} build-chill-testcase'.format(self.staging_dir_bin, self.chill_dev_src).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.name, 'chill') self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.chill_dir, self.chill_dev_src) self.assertEqual(tc.config.script_lang, 'script') def test_main_parse_chillbuild_lua_dev(self): tclist = main.args_to_tclist('-b {} -C {} build-chill-testcase -i lua'.format(self.staging_dir_bin, self.chill_dev_src).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.name, 'chill-lua') self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.chill_dir, self.chill_dev_src) self.assertEqual(tc.config.script_lang, 'lua') def test_main_parse_chillbuild_python_dev(self): tclist = main.args_to_tclist('-b {} -C {} build-chill-testcase -i python'.format(self.staging_dir_bin, self.chill_dev_src).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.name, 'chill-python') self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.chill_dir, self.chill_dev_src) self.assertEqual(tc.config.script_lang, 'python') def test_main_parse_chillbuild_cuda_dev(self): tclist = main.args_to_tclist('-b {} -C {} build-chill-testcase -u'.format(self.staging_dir_bin, self.chill_dev_src).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.name, 'cuda-chill') self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.chill_dir, self.chill_dev_src) self.assertEqual(tc.config.script_lang, 'lua') def test_main_parse_chillbuild_cuda_python_dev(self): tclist = main.args_to_tclist('-b {} -C {} build-chill-testcase -u -i python'.format(self.staging_dir_bin, self.chill_dev_src).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.name, 'cuda-chill-python') self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.chill_dir, self.chill_dev_src) self.assertEqual(tc.config.script_lang, 'python') def test_main_parse_chillbuild_release(self): tclist = main.args_to_tclist('-b {} -C {} build-chill-testcase -v release'.format(self.staging_dir_bin, self.chill_dev_src).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.name, 'chill-release') self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.chill_dir, self.chill_dev_src) self.assertEqual(tc.config.script_lang, 'script') def test_main_parse_chillbuild_cuda_release(self): tclist = main.args_to_tclist('-b {} -C {} build-chill-testcase -u -v release'.format(self.staging_dir_bin, self.chill_dev_src).split(), coverage_set=gcov.GcovSet()) tc = tclist[0] self.assertEqual(tc.name, 'cuda-chill-release') self.assertEqual(tc.config.bin_dir, self.staging_dir_bin) self.assertEqual(tc.config.chill_dir, self.chill_dev_src) self.assertEqual(tc.config.script_lang, 'lua') def test_main_tctree(self): tclist = main.args_to_tclist('batch test-cases/unit/chill-basic.tclist'.split(), coverage_set=gcov.GcovSet()) for tc in tclist: runtest(tc)