318,321c318,320
< def __init__(self, target, *sources, **kwargs):
< '''Specify the target name and any sources. Sources that are
< not SourceFiles are evalued with Source(). All files are
< tagged with the name of the UnitTest target.'''
---
> def __init__(self, target, *srcs_and_filts, **kwargs):
> '''Specify the target name and any sources. Sources that are
> not SourceFiles are evalued with Source().'''
322a322,325
> isFilter = lambda arg: isinstance(arg, SourceFilter)
> self.filters = filter(isFilter, srcs_and_filts)
> sources = filter(lambda a: not isFilter(a), srcs_and_filts)
>
326c329
< src = Source(src, tags=str(target))
---
> src = Source(src, tags=[])
332a336
> self.dir = Dir('.')
338,340d341
< isFilter = lambda arg: isinstance(arg, SourceFilter)
< self.filters = filter(isFilter, args)
< args = filter(lambda a: not isFilter(a), args)
342d342
< self.dir = Dir('.')
1084c1084,1086
< test_sources = Source.all.with_tag(str(test.target))
---
> test_sources = list(test.sources)
> for f in test.filters:
> test_sources += Source.all.apply_filter(f)
1088,1089c1090,1091
< path = 'unittest/%s.%s' % (test.target, label)
< new_env.Program(path, test_objs + static_objs)
---
> new_env.Program(test.dir.File('%s.%s' % (test.target, label)),
> test_objs + static_objs)