2012-02-17 59 views
1

我在Perl模塊IO :: Socket :: SSL中發現了一個錯誤,我可以修復它,但是我擔心測試該修復程序。我從Debian下載了源碼包(因爲我打算爲此生成Debian包或補丁),並查看t/目錄。在那裏,我發現測試覆蓋面最好不足。開發Perl和測試Perl

所以我想問問是否有一個衆所周知的程序來測試這段代碼。是否有另一個測試(不在發行版中)具有更好的覆蓋範圍?另外,我想使用不在覈心發行版(Test :: LeakTrace)中的測試模塊進行測試。那會好嗎?

+0

我希望如果在軟件包不可用時測試失敗,那麼使用不在覈心發行版中的軟件包會很好...... – sarnold 2012-02-17 01:12:17

+1

您是否發現IO :: Socket :: SSL中的錯誤,或者在版本的Debian船?如果你還沒有,那麼檢查CPAN(可能是源代碼倉庫,如果它是公開的)是否值得檢查它是否已被修復是值得的。在這種情況下,您可以反向移植修補程序,或者查看有關在Debian中更新軟件包的信息。 – kbenson 2012-02-17 01:18:27

+1

您還沒有在Perl中發現錯誤。你在Perl模塊中發現了一個錯誤。一個不是核心的一部分。 – 2012-02-17 23:27:05

回答

8

快速CPAN搜索表示IO::Socket::SSL is on CPAN。此外,從5.14.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並將其指定爲構建依賴項。不過,Steffen可能會有不同的感受,所以你應該和他談談。

希望有幫助!祝你好運!

+0

http://stackoverflow.com/questions/1094125/try-to-use-module-in-perl-and-print-message-if-module-not-available應該是有用的輸入。只需使用Test :: More的skip()和它一起使用即可。 – 2012-02-18 00:14:29