开发Perl&测试Perl

时间:2012-02-17 01:09:26

标签: perl testing

我在Perl模块IO :: Socket :: SSL中发现了一个错误,我可以修复它,但是,我担心测试修复。我从Debian下载了源代码包(因为我打算生成Debian软件包或补丁)并查看t/目录。在那里,我发现测试覆盖率充其量是最多的。

所以我想问一下是否有一个众所周知的程序来测试这段代码。是否有更好的覆盖范围的另一个测试(不在分发中)?另外,我想使用不在核心发行版(Test :: LeakTrace)中的测试模块进行测试。那可以吗?

1 个答案:

答案 0 :(得分:8)

快速CPAN搜索表示IO::Socket::SSL is on CPAN。此外,从{5.1}开始,corelist(http://perldoc.perl.org/corelist.html)不会报告它,因此它不会与核心Perl一起分发。所以,对你的问题。

首先,CPAN告诉我,Steffen Ullrich仍然是该模块的作者和维护者,虽然文档规定版权归2005年所有,但他最新的CPAN版本是截至2011年。如果你没有使用Debian Sid,那里是一个很好的机会,他已经解决了你的问题,但它尚未重新包装为Debian。在你做任何事情之前,你应该试着掌握最新资料。您可以通过从CPAN下载tarball的副本来完成此操作。 (许多模块在GitHub上保持源代码控制,可能会有比CPAN tarball更新的开发,但Steffen没有告诉我们在哪里找到它们,所以我们只需要从那里开始。)完整的测试套件应该在这里压缩包。

您可能知道的程序是首先构建源:

perl Makefile.PL
make

然后运行测试套件:

make test

如果测试不能满足您的需求,您应该更新测试并发送电子邮件给Steffen(他的电子邮件和网站可以在author's page上找到)。他可能会有关于如何通过测试最好地提供补丁的想法。

我相信CPAN在那里并且应该被使用,所以如果由我决定,我会说你应该使用Test :: LeakTrace并将其指定为构建依赖项。但是,斯蒂芬可能会有不同的感受,所以你应该和他谈谈这件事。

希望有所帮助!祝你好运!