Various changes post sorting out some of the issues regarding task ordering.

test0 cannot be the first task in the list as it must have a prior physical_base.lds in order to create test_exec_linker.lds.
mm0 appears to have to precede fs0 for the tests to execute on start.  This should be considered a bug.
This commit is contained in:
Russel Winder
2009-08-30 10:12:12 +01:00
parent 46e10bfde8
commit 5974a327d0
4 changed files with 36 additions and 11 deletions

View File

@@ -20,10 +20,12 @@
# A sequence determining the order of tasks in the packing.
####
#### TODO: Why do the tests only run when the load order is mm0, fs0, test0 -- any other order and the tests
#### do not run. Worse if test0 is not last then there are problems with the compilation du to issues with
#### linker scripts.
#### TODO: Why do the tests only run when mm0 precedes fs0 in the load list?
####
taskOrder = ('mm0', 'fs0', 'test0')
#taskOrder = ('fs0', 'mm0', 'test0')
# NB test0 cannot be the first task in the list because of the processing of test_exec_linker.lds.in.
#taskOrder = ('mm0', 'fs0', 'test0')# Works fine.
#taskOrder = ('fs0', 'mm0', 'test0')# Compiles, loads and executes fine, but does not execute the tests.
#taskOrder = ('fs0', 'test0', 'mm0')# Compiles, loads and executes fine, but does not execute the tests.
taskOrder = ('mm0', 'test0', 'fs0')# Works fine.

View File

@@ -36,6 +36,16 @@ def createTestExecS(target, source, env):
.align 4
''' % ( source[0].path ))
try:
environment['physicalBaseLinkerScript']
except KeyError:
print '''
####
#### The test0 task cannot be the first task in the list of tasks.
####
'''
Exit ( 1 )
testTaskEnvironment = environment.Clone()
testTaskEnvironment.Append(CPPPATH=['#' + testTaskEnvironment['posixServicesDirectory'] +'/libposix/include/posix'])
testExecLinkerScript = Command('#build/' + testTaskEnvironment['posixServicesDirectory'] +'/' + taskName + '/test_exec_linker.lds', ['test_exec_linker.lds.in', testTaskEnvironment['physicalBaseLinkerScript']], createTestExecLinkerScript)