我試圖理解以下 Perl 腳本。我是 C 程式員,但無法理解這個腳本:
use OpenSSL::Test::Utils;
use OpenSSL::Test qw/:DEFAULT srctop_file/;
my $test_name = "test_sysdefault";
setup($test_name);
plan skip_all => "$test_name is not supported in this build"
if disabled("tls1_2") || disabled("rsa");
plan tests => 1;
$ENV{OPENSSL_CONF} = srctop_file("test", "sysdefault.cnf");
ok(run(test(["sysdefaulttest"])), "sysdefaulttest");
問題是.c檔案'test_data_int_test.h'中的以下定義沒有按預期生效:
/* sysdefault.cnf */
char _sysdefault_cnf[] =
"# Configuration file to test system default SSL configuration\n"
"\n"
"openssl_conf = default_conf\n"
"\n"
"[ default_conf ]\n"
"\n"
"ssl_conf = ssl_sect\n"
"\n"
"[ssl_sect]\n"
"\n"
"system_default = ssl_default_sect\n"
"\n"
"[ssl_default_sect]\n"
"MaxProtocol = TLSv1.2\n"
"MinProtocol = TLSv1.2\n";
特別是它的最后 2 行,其中最小值和最大值設定為 TLSv1.2。
我需要以任何方式修改上面的 perl 腳本嗎?
uj5u.com熱心網友回復:
OpenSSL::Test 不在 CPAN 上,所以這都是(受過教育的)猜測。您可能應該與為您提供模塊的人確認這一點。
看起來 OpenSSL::Test 繼承自Test::More或Test::Class 之類的標準 Perl 測驗模塊,因此閱讀他們的檔案會對您有所幫助。
Perl 測驗套件總是包含一個計劃。這只是預期運行的測驗數量。測驗套件將在某種測驗工具(通常prove)中運行,并且測驗工具會將預期的測驗數量與實際運行的數量進行比較,因此可以判斷當這兩個數字不匹配時是否發生了奇怪的事情. 例如,如果運行的測驗數量少于預期數量,這可能意味著您的測驗程式在完成之前崩潰了。
在您的代碼中,有一個測驗(呼叫 的代碼行ok()),因此我們將測驗計劃設定為 1。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/316257.html
上一篇:如果使用了-eeval開關,則強制Perl停止對命令列引數的特殊處理
下一篇:從文本檔案中決議字串
