From 9600c396380fc6da781aa73a9944bdb56340670b Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Sun, 8 Feb 2015 18:14:16 +1100 Subject: Fixes to the run the waf built tests when installed. --- rtemstoolkit/darwin.py | 2 +- tester/rt/gdb.py | 2 +- tester/rt/options.py | 3 +-- tester/rt/test.py | 10 +++++++--- tester/rtems/testing/defaults.mc | 4 ++-- tester/wscript | 9 ++++++--- 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/rtemstoolkit/darwin.py b/rtemstoolkit/darwin.py index e858ace..1d092cb 100644 --- a/rtemstoolkit/darwin.py +++ b/rtemstoolkit/darwin.py @@ -55,9 +55,9 @@ def load(): '_host_cpu': ('none', 'none', uname[4]), '_host_alias': ('none', 'none', '%{nil}'), '_host_arch': ('none', 'none', uname[4]), + '_host_prefix': ('dir', 'optional', '%{_usr}'), '_usr': ('dir', 'optional', '/usr/local'), '_var': ('dir', 'optional', '/usr/local/var'), - '_prefix': ('dir', 'optional', '%{_usr}'), '__ldconfig': ('exe', 'none', ''), '__cvs': ('exe', 'required', 'cvs'), '__xz': ('exe', 'required', '%{_usr}/bin/xz'), diff --git a/tester/rt/gdb.py b/tester/rt/gdb.py index 4449222..956b395 100644 --- a/tester/rt/gdb.py +++ b/tester/rt/gdb.py @@ -209,7 +209,7 @@ class gdb(object): if self.trace: print 'gdb done', ec if ec > 0: - raise error.general('gdb exec: %s' % (os.strerror(ec))) + raise error.general('gdb exec: %s: %s' % (cmds[0], os.strerror(ec))) except: raise self._lock('_open') diff --git a/tester/rt/options.py b/tester/rt/options.py index 2190818..a916cbb 100644 --- a/tester/rt/options.py +++ b/tester/rt/options.py @@ -1,6 +1,6 @@ # # RTEMS Tools Project (http://www.rtems.org/) -# Copyright 2013-2014 Chris Johns (chrisj@rtems.org) +# Copyright 2013-2015 Chris Johns (chrisj@rtems.org) # All rights reserved. # # This file is part of the RTEMS Tools package in 'rtems-tools'. @@ -89,7 +89,6 @@ def load(args, optargs = None, # the tester being run from within the git repo. If not found assume the tools # have been installed and the defaults is in the install prefix. # - print path.join(command_path, defaults_mc) if path.exists(path.join(command_path, defaults_mc)): rtdir = command_path else: diff --git a/tester/rt/test.py b/tester/rt/test.py index d9a04da..551c8b5 100644 --- a/tester/rt/test.py +++ b/tester/rt/test.py @@ -65,7 +65,7 @@ class test(object): raise error.general('cannot find executable: %s' % (executable)) self.opts.defaults['test_executable'] = executable if rtems_tools: - rtems_tools_bin = path.join(rtems_tools, 'bin') + rtems_tools_bin = path.join(self.opts.defaults.expand(rtems_tools), 'bin') if not path.isdir(rtems_tools_bin): raise error.general('cannot find RTEMS tools path: %s' % (rtems_tools_bin)) self.opts.defaults['rtems_tools'] = rtems_tools_bin @@ -219,10 +219,14 @@ def run(command_path = None): job_trace = 'jobs' in debug_trace.split(',') rtems_tools = opts.find_arg('--rtems-tools') if rtems_tools: + if len(rtems_tools) != 2: + raise error.general('invalid RTEMS tools option') rtems_tools = rtems_tools[1] + else: + rtems_tools = '%{_prefix}' bsp = opts.find_arg('--rtems-bsp') - if bsp is None: - raise error.general('no RTEMS BSP provided') + if bsp is None or len(bsp) != 2: + raise error.general('RTEMS BSP not provided or invalid option') opts.defaults.load('%%{_configdir}/bsps/%s.mc' % (bsp[1])) bsp = opts.defaults.get('%{bsp}') if not bsp: diff --git a/tester/rtems/testing/defaults.mc b/tester/rtems/testing/defaults.mc index bf3186c..54212e0 100644 --- a/tester/rtems/testing/defaults.mc +++ b/tester/rtems/testing/defaults.mc @@ -1,6 +1,6 @@ # # RTEMS Tools Project (http://www.rtems.org/) -# Copyright 2010-2014 Chris Johns (chrisj@rtems.org) +# Copyright 2010-2015 Chris Johns (chrisj@rtems.org) # All rights reserved. # # This file is part of the RTEMS Tools package in 'rtems-tools'. @@ -50,7 +50,7 @@ nil: none, none, '' # Paths -_topdir: dir, required, '%{_cwd}' +_topdir: dir, required, '%{_prefix}' _docdir: dir, none, '%{_defaultdocdir}' _tmppath: dir, none, '%{_topdir}/build/tmp' _tmproot: dir, none, '%{_tmppath}/rt/%{_bset}' diff --git a/tester/wscript b/tester/wscript index 16030df..ac643f4 100644 --- a/tester/wscript +++ b/tester/wscript @@ -72,10 +72,13 @@ def build(bld): # # Install the tester configuration files. # - config = bld.path.find_dir('rtems') + config = bld.path.find_dir('config') + bld.install_files('${PREFIX}/share/rtems/tester/config', + config.ant_glob('**/*'), cwd = config, + relative_trick = True) + rtems = bld.path.find_dir('rtems') bld.install_files('${PREFIX}/share/rtems/tester/rtems', - config.ant_glob('**', excl=['*~']), - cwd = config, + rtems.ant_glob('**/*'), cwd = rtems, relative_trick = True) def install(ctx): -- cgit v1.2.3