Я думаю, что наилучшим подходом было бы использование кода настройки теста от самого SCons . Это требует SVN проверки SCons, так как тестовые файлы не поставляются с обычными архивами SCons. Это, вероятно, выполнимо, так как не все в вашей команде будут писать инструменты и запускать на них тесты.
Например, это тест для javac . В основном вы записываете нужные файлы, запускаете SConstruct, а затем проверяете, какие результаты вы ожидаете. Вы можете макетировать инструменты скриптами Python, чтобы они действительно вызывались с теми флагами и файлами, которые вы ожидаете. Например:
import TestSCons
test = TestSCons.TestSCons()
test.write('SConstruct', '''env = Environment(tools = ["yourtool"])
env.RunYourTool()''')
test.write('sourcefile.x', 'Content goes here')
test.run(arguments = '.', stderr = None)
test.must_match('outputfile', 'desired contents')
test.pass_test()
Есть также дополнительные инструкции по написанию тестов инструментов SCons на swtoolkit wiki , который, по-видимому, уже не существует как расширение SCons от Google. Информация в вики все еще полезна, и есть несколько хороших примеров того, как писать тесты для пользовательских инструментов SCons.