首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测试SCons修改

如何测试SCons修改
EN

Stack Overflow用户
提问于 2010-06-29 01:46:48
回答 1查看 315关注 0票数 3

我的团队正在创建一个基于SCons的构建系统。我们在自己的site_scons/site_tools文件夹中创建了一堆助手类。

我的任务是使用pyunit在代码上创建并运行测试。测试代码可能位于一个子文件夹中,目录布局类似于:

代码语言:javascript
复制
SConstruct
our_source_code/
   Sconscript
site_scons/
    site_tools/
        a.py
        b.py
        c.py
        tests/
            test_a.py
            test_b.py
            test_c.py

现在我的问题是:既然我们的测试可能需要正确的SCons环境设置,那么调用测试的最佳方式是什么?(即a.py使用SCons.Environment)

我要添加生成器还是命令?还是别的什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-29 02:41:33

我认为最好的方法是使用test setup code from SCons itself。这需要对SCons进行SVN签出,因为测试文件不是随常规的SCons tarball一起提供的。这可能是可行的,因为并不是您的团队中的每个人都在编写工具并在这些工具上运行测试。

例如,this is the test for javac。基本上,你写出你想要的文件,运行一个SConstruct,然后检查结果是你所期望的。您可以使用Python脚本模拟工具,以确保使用您期望的标志和文件真正调用它们。例如:

代码语言:javascript
复制
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()

还有更多关于在swtoolkit wiki上编写SCons工具测试的说明,这是一个来自谷歌的似乎已不存在的SCons扩展。维基上的信息仍然有用,并且有一些关于如何为自定义SCons工具编写测试的很好的示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3134796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档