⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 01test.t

📁 Vovida 社区开源的 SIP 协议源码
💻 T
字号:
# Before `make install' is performed this script should be runnable with# `make test'. After `make install' it should work as `perl test.pl'######################### We start with some black magic to print on failure.# Change 1..1 below to 1..last_test_to_print .# (It may become useful if the test is moved to ./t subdirectory.)BEGIN { $| = 1; print "1..14\n"; }END {print "not ok 1\n" unless $loaded;}use Time::HiRes qw(tv_interval);$loaded = 1;print "ok 1\n";######################### End of black magic.# Insert your test code below (better if it prints "ok 13"# (correspondingly "not ok 13") depending on the success of chunk 13# of the test code):use strict;my $have_gettimeofday	= defined &Time::HiRes::gettimeofday;my $have_usleep		= defined &Time::HiRes::usleep;my $have_ualarm		= defined &Time::HiRes::ualarm;import Time::HiRes 'gettimeofday'	if $have_gettimeofday;import Time::HiRes 'usleep'		if $have_usleep;import Time::HiRes 'ualarm'		if $have_ualarm;sub skip {    map { print "ok $_ (skipped)\n" } @_;}sub ok {    my ($n, $result, @info) = @_;    if ($result) {    	print "ok $n\n";    }    else {	print "not ok $n\n";    	print "# @info\n" if @info;    }}if (!$have_gettimeofday) {    skip 2..6;}else {    my @one = gettimeofday();    ok 2, @one == 2, 'gettimeofday returned ', 0+@one, ' args';    ok 3, $one[0] > 850_000_000, "@one too small";    sleep 1;    my @two = gettimeofday();    ok 4, ($two[0] > $one[0] || ($two[0] == $one[0] && $two[1] > $one[1])),    	    "@two is not greater than @one";    my $f = Time::HiRes::time;    ok 5, $f > 850_000_000, "$f too small";    ok 6, $f - $two[0] < 2, "$f - @two >= 2";}if (!$have_usleep) {    skip 7..8;}else {    my $one = time;    usleep(10_000);    my $two = time;    usleep(10_000);    my $three = time;    ok 7, $one == $two || $two == $three, "slept too long, $one $two $three";    if (!$have_gettimeofday) {    	skip 8;    }    else {    	my $f = Time::HiRes::time;	usleep(500_000);        my $f2 = Time::HiRes::time;	my $d = $f2 - $f;	ok 8, $d > 0.4 && $d < 0.8, "slept $d secs $f to $f2";    }}# Two-arg tv_interval() is always available.{    my $f = tv_interval [5, 100_000], [10, 500_000];    ok 9, $f == 5.4, $f;}if (!$have_gettimeofday) {    skip 10;}else {    my $r = [gettimeofday()];    my $f = tv_interval $r;    ok 10, $f < 2, $f;}if (!$have_usleep) {    skip 11;}else {    my $r = [gettimeofday()];    #jTime::HiRes::sleep 0.5;    Time::HiRes::sleep( 0.5 );    my $f = tv_interval $r;    ok 11, $f > 0.4 && $f < 0.8, "slept $f secs";}if (!$have_ualarm) {    skip 12..13;}else {    my $tick = 0;    local $SIG{ALRM} = sub { $tick++ };    my $one = time; $tick = 0; ualarm(10_000); sleep until $tick;    my $two = time; $tick = 0; ualarm(10_000); sleep until $tick;    my $three = time;    ok 12, $one == $two || $two == $three, "slept too long, $one $two $three";    $tick = 0;    ualarm(10_000, 10_000);    sleep until $tick >= 3;    ok 13, 1;    ualarm(0);}# new test: did we even get close?{ my $t = time(); my $tf = Time::HiRes::time(); ok 14, ($tf >= $t) && (($tf - $t) <= 1),  "time $t differs from Time::HiRes::time $tf";}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -