文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

NS3_Tutorial 中文版: 第三

2023-01-31 05:17

关注
3.3  测试ns-3
你可以通过运行“./test.py -c core”脚本进行ns-3软件包单元测试,
./test.py -c core
这些测试可以被waf并行执行的,最后你可以看到如下的结果:
47 of 47 tests passed (47 passed, 0 failed, 0 crashed, 0 valgrind errors)
这是条相当重要的信息。
实际中,你看到的可能是类似于如下的信息:
Waf: Entering directory /home/craigdo/repos/ns-3-allinone/ns-3-dev/build
Waf: Leaving directory /home/craigdo/repos/ns-3-allinone/ns-3-dev/build
build finished successfully (1.799s)
PASS: TestSuite ns3-wifi-interference
PASS: TestSuite histogram
PASS: TestSuite sample
PASS: TestSuite ipv4-address-helper
PASS: TestSuite devices-wifi
PASS: TestSuite propagation-loss-model
...
PASS: TestSuite object
PASS: TestSuite random-number-generators
47 of 47 tests passed (47 passed, 0 failed, 0 crashed, 0 valgrind errors)
用户通常可以运行此命令来检查ns-3软件包是否正确编译了。
 
你也可以使用我们的回归测试包来保证你的发行版和工具链产生的二进制文件会产生同参考输出文件相同的结果。你在运行/download.py过程中会下载这些参考记录。 (警告: ns-3.2ns-3.3发布版不使用ns-3-allinone环境,当你进行回归测试时需要在线环境,因为在直接运行测试之前它们需要同一个在线源码库进行参考记录的动态同步)。
 
在回归测试中Waf会允许一系列的测试,这些测试会产生我们所说的记录文件,记录文件的内容会和参考记录相对比,如果它们相同,那么回归测试会报告一个通过状态(PASS);如果回归测试失败你会看到一个失败标记(FAIL,和一个指针指向有问题的记录文件和它的联合参考记录文件,还附带一个差异参数和选项以便检查哪里出现错误了。如果在一个pcap文件中出现错误, 在对比之前常使用tcpdump来将pcap文件转换为文本文件。
如果需要的支持缺失,某些回归测试会被跳过,测试状态会被标记为跳过(SKIP)。
 
注意:回归测试也是并行的,所以产生的信息也可能是交叉出现的。
要进行回归测试,需要给Waf提供回归标记:
./waf --regression
可以看到如下信息显示进行了多项测试:
Entering directory /home/craigdo/repos/ns-3-allinone/ns-3-dev/build
[647/669] regression-test (test-csma-bridge)
[648/669] regression-test (test-csma-broadcast)
[649/669] regression-test (test-csma-multicast)
[650/669] regression-test (test-csma-one-subnet)
PASS test-csma-multicast
[651/669] regression-test (test-csma-packet-socket)
PASS test-csma-bridge
...
Regression testing summary:
PASS: 22 of 22 tests passed
Waf: Leaving directory /home/craigdo/repos/ns-3-allinone/ns-3-dev/build
build finished successfully (25.826s)
如果你想看看在回归测试中有哪些项目测试的例子,可以使用如下命令:
cd build/debug/regression/traces/second.ref
tcpdump -nn -tt -r second-2-0.pcap
这些结果对于熟悉tcpdump或者网络嗅探器是很清楚的,在本教程的后半部分我们会更多地提及pcap文件。
在一切完成后,请用cd命令返回顶层ns-3目录:
cd ../../../../..
 
3.4 运行第一个脚本
我们通常使用Waf运行脚本,这将使编译系统正确设置共享库的路径,并保证这些共享库在运行时可用,如果要运行一个程序,只需在Waf加入—run选项即可,让我们在ns-3环境下运行常见的hello world程序试一下:
./waf --run hello-simulator
Waf首先检查程序正确编译了,而且还可以根据需要重新执行编译。
Waf执行了此程序,并输出如下信息:
Hello Simulator
祝贺你. 你现在是一名ns-3用户了!
如果你想在其他工具下如gdb或者valgrind下运行程序,可参见本Wiki条目。
 
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯