summaryrefslogtreecommitdiff
path: root/test-chill/testchill/__main__.py
diff options
context:
space:
mode:
Diffstat (limited to 'test-chill/testchill/__main__.py')
-rw-r--r--test-chill/testchill/__main__.py121
1 files changed, 54 insertions, 67 deletions
diff --git a/test-chill/testchill/__main__.py b/test-chill/testchill/__main__.py
index 8af5b9c..86415c3 100644
--- a/test-chill/testchill/__main__.py
+++ b/test-chill/testchill/__main__.py
@@ -9,7 +9,6 @@ import textwrap
from . import chill
from . import gcov
-from . import omega
from . import test
from . import util
@@ -26,7 +25,6 @@ def make_local(argsns, arg_parser):
argsns.bin_dir = os.path.join(os.getcwd(), '.staging/bin')
argsns.chill_tc_dir = os.path.join(os.getcwd(), 'test-cases') # formally from the commandline
argsns.chill_dir = os.path.abspath(argsns.chill_dir)
- argsns.omega_dir = os.path.abspath(argsns.omega_dir)
argsns.chill_build_coverage = argsns.coverage_set is not None #TODO: make arg passed to local.
argsns.chill_test_coverage = argsns.coverage_set is not None
@@ -35,60 +33,59 @@ def make_local(argsns, arg_parser):
util.shell('cp', [os.path.join(argsns.chill_dir, 'examples/cuda-chill/cudaize.lua'), argsns.wd])
util.shell('cp', [os.path.join(argsns.chill_dir, 'examples/cuda-chill/cudaize.py'), argsns.wd])
- chill_version = argsns.chill_version
- for config in chill.ChillConfig.configs(argsns.omega_dir, argsns.chill_dir, argsns.bin_dir, version=chill_version):
+ for config in chill.ChillConfig.configs(argsns.chill_dir, argsns.bin_dir):
build_testcase = chill.BuildChillTestCase(config, options={'coverage': argsns.chill_build_coverage}, coverage_set=argsns.coverage_set)
yield build_testcase
- batch_file = os.path.join(argsns.chill_tc_dir, config.name() + '.tclist')
+ batch_file = os.path.join(argsns.chill_tc_dir, config.name + '.tclist')
for tc in make_batch_testcaselist(argsns, arg_parser, batch_file):
yield tc
-def make_repo(argsns, arg_parser):
+#def make_repo(argsns, arg_parser):
"""
Make the repo test case list. A convinience function for testing chill from the repsitory.
@params argsns Command line arguments
@params arg_parser The ArgumentParser object
"""
- util.mkdir_p(os.path.join(os.getcwd(), '.staging'), temp=True)
- argsns.bin_dir = os.path.join(os.getcwd(), '.staging/bin')
- argsns.repo_dir = os.path.join(os.getcwd(), '.staging/repo')
- argsns.chill_tc_dir = os.path.join(os.getcwd(), 'test-cases') # formally from the commandline
- argsns.wd = os.path.join(os.getcwd(), '.staging/wd')
-
- util.mkdir_p(argsns.bin_dir)
- util.mkdir_p(argsns.repo_dir)
- util.mkdir_p(argsns.wd)
-
- #TODO: Should these be hard coded?
- repo_root = 'shell.cs.utah.edu/uusoc/facility/res/hallresearch/svn_repo/resRepo/projects'
- for version in ['release', 'dev']:
- new_args = util.copy(argsns)
- if version == 'dev':
- chill_repo = 'svn+ssh://{}@{}/chill/branches/cuda-chill-rose'.format(new_args.svnuser, repo_root)
- chill_repo_name = 'chill'
- omega_repo = 'svn+ssh://{}@{}/omega/branches/cuda-omega-rose'.format(new_args.svnuser, repo_root)
- omega_repo_name = 'omega'
- elif version == 'release':
- chill_repo = 'svn+ssh://{}@{}/chill/release'.format(new_args.svnuser, repo_root)
- chill_repo_name = 'chill-release'
- omega_repo = 'svn+ssh://{}@{}/omega/release'.format(new_args.svnuser, repo_root)
- omega_repo_name = 'omega-release'
- new_args.omega_dir = os.path.join(new_args.repo_dir, omega_repo_name)
- new_args.chill_dir = os.path.join(new_args.repo_dir, chill_repo_name)
- util.shell('svn', ['export', '--force', omega_repo, new_args.omega_dir])
- util.shell('svn', ['export', '--force', chill_repo, new_args.chill_dir])
- util.shell('cp', [os.path.join(new_args.chill_dir, 'examples/cuda-chill/cudaize.lua'), new_args.wd])
- if version == 'dev':
- util.shell('cp', [os.path.join(new_args.chill_dir, 'examples/cuda-chill/cudaize.py'), new_args.wd])
- # do omega: (just build it for now)
- yield omega.BuildOmegaTestCase(new_args.omega_dir ,version)
- # do chill
- for config in chill.ChillConfig.configs(new_args.omega_dir, new_args.chill_dir, new_args.bin_dir, version=version):
- yield chill.BuildChillTestCase(config, coverage_set=argsns.coverage_set)
- batch_file = os.path.join(argsns.chill_tc_dir, config.name() + '.tclist')
- if os.path.exists(batch_file):
- for tc in make_batch_testcaselist(new_args, arg_parser, batch_file):
- yield tc
+# util.mkdir_p(os.path.join(os.getcwd(), '.staging'), temp=True)
+# argsns.bin_dir = os.path.join(os.getcwd(), '.staging/bin')
+# argsns.repo_dir = os.path.join(os.getcwd(), '.staging/repo')
+# argsns.chill_tc_dir = os.path.join(os.getcwd(), 'test-cases') # formally from the commandline
+# argsns.wd = os.path.join(os.getcwd(), '.staging/wd')
+#
+# util.mkdir_p(argsns.bin_dir)
+# util.mkdir_p(argsns.repo_dir)
+# util.mkdir_p(argsns.wd)
+#
+# #TODO: Should these be hard coded?
+# repo_root = 'shell.cs.utah.edu/uusoc/facility/res/hallresearch/svn_repo/resRepo/projects'
+# for version in ['release', 'dev']:
+# new_args = util.copy(argsns)
+# if version == 'dev':
+# chill_repo = 'svn+ssh://{}@{}/chill/branches/cuda-chill-rose'.format(new_args.svnuser, repo_root)
+# chill_repo_name = 'chill'
+# omega_repo = 'svn+ssh://{}@{}/omega/branches/cuda-omega-rose'.format(new_args.svnuser, repo_root)
+# omega_repo_name = 'omega'
+# elif version == 'release':
+# chill_repo = 'svn+ssh://{}@{}/chill/release'.format(new_args.svnuser, repo_root)
+# chill_repo_name = 'chill-release'
+# omega_repo = 'svn+ssh://{}@{}/omega/release'.format(new_args.svnuser, repo_root)
+# omega_repo_name = 'omega-release'
+# new_args.omega_dir = os.path.join(new_args.repo_dir, omega_repo_name)
+# new_args.chill_dir = os.path.join(new_args.repo_dir, chill_repo_name)
+# util.shell('svn', ['export', '--force', omega_repo, new_args.omega_dir])
+# util.shell('svn', ['export', '--force', chill_repo, new_args.chill_dir])
+# util.shell('cp', [os.path.join(new_args.chill_dir, 'examples/cuda-chill/cudaize.lua'), new_args.wd])
+# if version == 'dev':
+# util.shell('cp', [os.path.join(new_args.chill_dir, 'examples/cuda-chill/cudaize.py'), new_args.wd])
+# # do omega: (just build it for now)
+# yield omega.BuildOmegaTestCase(new_args.omega_dir ,version)
+# # do chill
+# for config in chill.ChillConfig.configs(new_args.omega_dir, new_args.chill_dir, new_args.bin_dir, version=version):
+# yield chill.BuildChillTestCase(config, coverage_set=argsns.coverage_set)
+# batch_file = os.path.join(argsns.chill_tc_dir, config.name() + '.tclist')
+# if os.path.exists(batch_file):
+# for tc in make_batch_testcaselist(new_args, arg_parser, batch_file):
+# yield tc
def make_runchill_testcase(argsns):
"""
@@ -116,12 +113,10 @@ def make_runchill_testcase(argsns):
argsns.chill_script_lang = chill.ChillConfig.ext_to_script_lang(chill_script.split('.')[-1])
config = chill.ChillConfig(
- omega_dir = os.path.abspath(argsns.omega_dir) if argsns.omega_dir != None else None,
chill_dir = os.path.abspath(argsns.chill_dir) if argsns.chill_dir != None else None,
bin_dir = os.path.abspath(argsns.bin_dir) if argsns.bin_dir != None else None,
build_cuda = argsns.build_cuda,
- script_lang = argsns.chill_script_lang,
- version = argsns.chill_version)
+ script_lang = argsns.chill_script_lang)
return chill.RunChillTestCase(config, chill_script, chill_src, wd=wd, options=options, coverage_set=coverage_set)
@@ -131,7 +126,6 @@ def make_buildchill_testcase(argsns):
@param argsns Command line arguments
"""
assert argsns.chill_dir != None
- assert argsns.omega_dir != None
coverage_set = argsns.coverage_set
@@ -139,12 +133,10 @@ def make_buildchill_testcase(argsns):
options['coverage'] = argsns.chill_build_coverage
config = chill.ChillConfig(
- omega_dir = os.path.abspath(argsns.omega_dir) if argsns.omega_dir != None else None,
chill_dir = os.path.abspath(argsns.chill_dir) if argsns.chill_dir != None else None,
bin_dir = os.path.abspath(argsns.bin_dir) if argsns.bin_dir != None else None,
build_cuda = argsns.build_cuda,
- script_lang = argsns.chill_script_lang,
- version = argsns.chill_version)
+ script_lang = argsns.chill_script_lang)
return chill.BuildChillTestCase(config, options=options, coverage_set=coverage_set)
@@ -173,12 +165,12 @@ def add_local_args(arg_parser):
@param arg_parser The local ArgumentParser object
"""
arg_parser.add_argument('chill_dir', metavar='chill-home', default='../')
- arg_parser.add_argument('-v', '--chill-branch', dest='chill_version', default='dev', choices=['release','dev'])
+ #arg_parser.add_argument('-v', '--chill-branch', dest='chill_version', default='dev', choices=['release','dev'])
# - Testing should consider all interface languages. Will uncomment if testing takes too long
# arg_parser.add_argument('-i', '--interface-lang', nargs=1, action='append', dest='chill_script_lang_list', choices=['script','lua','python'])
# arg_parser.add_argument('-t', '--testcase-dir', dest='chill_tc_dir', default=os.path.join(os.getcwd(), 'test-cases/'))
- arg_parser.set_defaults(wd=os.path.join(os.getcwd(), '.staging/wd')) # - These don't seem to work
- arg_parser.set_defaults(bin_dir=os.path.join(os.getcwd(), '.staging/bin')) # -
+ arg_parser.set_defaults(wd=os.path.join(os.getcwd(), '.staging/wd'))
+ arg_parser.set_defaults(bin_dir=os.path.join(os.getcwd(), '.staging/bin'))
@util.callonce
def add_repo_args(arg_parser):
@@ -207,7 +199,6 @@ def add_chill_common_args(arg_parser):
Common chill command line arguments.
@param arg_parser The ArgumentParser object
"""
- arg_parser.add_argument('-v', '--chill-branch', dest='chill_version', default='dev', choices=['release','dev'])
cuda_group = arg_parser.add_mutually_exclusive_group()
cuda_group.add_argument('-u', '--target-cuda', action='store_const', const=True, dest='build_cuda', default=False, help='Test cuda-chill. (Default is chill)')
cuda_group.add_argument('-c', '--target-c', action='store_const', const=False, dest='build_cuda', default=False, help='Test chill. (Default is chill)')
@@ -225,7 +216,7 @@ def add_chill_run_args(arg_parser):
add_boolean_option(arg_parser, 'run-script', dest='chill_test_run_script', default=True, help_on='Run chill script.', help_off='Do not run chill script.')
add_boolean_option(arg_parser, 'compile-gensrc', dest='chill_test_compile_gensrc', default=True, help_on='Compile generated source file', help_off='Do not compile generated source file.')
add_boolean_option(arg_parser, 'check-run-script', dest='chill_test_check_run_script', default=False, help_on='Diff stdout from chill script against a benchmark.')
- add_boolean_option(arg_parser, 'test-coverage', 'chill_test_coverage', default=True, help_on='Run chill and record code coverage (default).', help_off='Run chill normally without recording code coverage.')
+ add_boolean_option(arg_parser, 'test-coverage', 'chill_test_coverage', default=False, help_on='Run chill and record code coverage (default).', help_off='Run chill normally without recording code coverage.')
@util.callonce
def add_chill_build_args(arg_parser):
@@ -233,7 +224,7 @@ def add_chill_build_args(arg_parser):
Command line arguments specific to building chill and testing the build process
@params arg_parser The ArgumentParser object
"""
- add_boolean_option(arg_parser, 'build-coverage', 'chill_build_coverage', default=True, help_on='Build chill for code coverage flags (default).', help_off='Build chill normally without code coverage flags.')
+ add_boolean_option(arg_parser, 'build-coverage', 'chill_build_coverage', default=False, help_on='Build chill for code coverage flags (default).', help_off='Build chill normally without code coverage flags.')
@util.callonce
def add_local_command(command_group):
@@ -303,7 +294,7 @@ def add_commands(arg_parser):
"""
command_group = arg_parser.add_subparsers(title='commands')
add_local_command(command_group)
- add_repo_command(command_group)
+ #add_repo_command(command_group)
add_chill_command(command_group)
add_buildchill_command(command_group)
add_batch_command(command_group)
@@ -315,10 +306,9 @@ def add_global_args(arg_parser):
@param arg_parser The ArgumentParser object
"""
arg_parser.add_argument('-w', '--working-dir', dest='wd', default=os.getcwd(), help='The working directory. (Defaults to the current directory)', metavar='working-directory')
- arg_parser.add_argument('-R', '--rose-home', dest='rose_dir', default=os.getenv('ROSEHOME'), help='Rose home directory. (Defaults to ROSEHOME)', metavar='rose-home')
+ arg_parser.add_argument('-R', '--rose-home', dest='rose_dir', default=os.getenv('ROSEHOME'), help='Rose home directory. (Defaults to ROSEHOME)', metavar='rose-home')
arg_parser.add_argument('-C', '--chill-home', dest='chill_dir', default=os.path.join(os.getcwd(), '..'), help='Chill home directory. (Defaults to CHILLHOME)', metavar='chill-home')
- arg_parser.add_argument('-O', '--omega-home', dest='omega_dir', default=os.path.join(os.getcwd(), '../omega'), help='Omega home directory. (Defaults to ../omega)', metavar='omega-home')
- arg_parser.add_argument('-b', '--binary-dir', dest='bin_dir', default=None, help='Binary directory.', metavar='bin-dir')
+ arg_parser.add_argument('-b', '--binary-dir', dest='bin_dir', default=os.path.join(os.getcwd(), '..'), help='Binary directory.', metavar='bin-dir')
@util.callonce
def make_argparser():
@@ -331,8 +321,7 @@ def make_argparser():
To test a local working copy of chill (from the development branch):
--------------------------------------------------------------------
- - Set $OMEGAHOME and compile omega.
- - Run `python -m testchill local <path-to-chill>`
+ - Run `python -m testchill local`
'''),
epilog='EPILOG',
@@ -362,11 +351,9 @@ def args_to_tclist(args=sys.argv[1:], arg_parser=make_argparser(), argsns=None,
@util.callonce
def main():
coverage = gcov.GcovSet()
- #coverage=None
results = list(test.run(args_to_tclist(coverage_set=coverage)))
test.pretty_print_results(results)
util.rmtemp()
- #coverage.pretty_print()
with open('coverage.pickle', 'wb') as f:
pickle.dump(coverage, f, 2)