晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /proc/thread-self/root/usr/share/doc/perl-Test-Simple/t/Legacy/ |
Upload File : |
#!/usr/bin/perl -w
# HARNESS-NO-STREAM
# Can't use Test.pm, that's a 5.005 thing.
package My::Test;
BEGIN {
if( $ENV{PERL_CORE} ) {
chdir 't';
@INC = '../lib';
}
}
require Test::Builder;
my $TB = Test::Builder->create();
$TB->level(0);
package main;
use Cwd;
use File::Spec;
my $Orig_Dir = cwd;
my $Perl = File::Spec->rel2abs($^X);
if( $^O eq 'VMS' ) {
# VMS can't use its own $^X in a system call until almost 5.8
$Perl = "MCR $^X" if $] < 5.007003;
# Quiet noisy 'SYS$ABORT'
$Perl .= q{ -"I../lib"} if $ENV{PERL_CORE};
$Perl .= q{ -"Mvmsish=hushed"};
} else {
$Perl = qq("$Perl"); # protect from shell if spaces
}
eval { require POSIX; &POSIX::WEXITSTATUS(0) };
if( $@ ) {
*exitstatus = sub { $_[0] >> 8 };
}
else {
*exitstatus = sub { POSIX::WEXITSTATUS($_[0]) }
}
# Some OS' will alter the exit code to their own native sense...
# sometimes. Rather than deal with the exception we'll just
# build up the mapping.
print "# Building up a map of exit codes. May take a while.\n";
my %Exit_Map;
open my $fh, ">", "exit_map_test" or die $!;
print $fh <<'DONE';
if ($^O eq 'VMS') {
require vmsish;
import vmsish qw(hushed);
}
my $exit = shift;
print "exit $exit\n";
END { $? = $exit };
DONE
close $fh;
END { 1 while unlink "exit_map_test" }
for my $exit (0..255) {
# This correctly emulates Test::Builder's behavior.
my $out = qx[$Perl exit_map_test $exit];
$TB->like( $out, qr/^exit $exit\n/, "exit map test for $exit" );
$Exit_Map{$exit} = exitstatus($?);
}
print "# Done.\n";
my %Tests = (
# File Exit Code
'success.plx' => 0,
'one_fail.plx' => 1,
'two_fail.plx' => 2,
'five_fail.plx' => 5,
'extras.plx' => 2,
'too_few.plx' => 255,
'too_few_fail.plx' => 2,
'death.plx' => 255,
'last_minute_death.plx' => 255,
'pre_plan_death.plx' => 'not zero',
'death_in_eval.plx' => 0,
'require.plx' => 0,
'death_with_handler.plx' => 255,
'exit.plx' => 1,
'one_fail_without_plan.plx' => 1,
'missing_done_testing.plx' => 254,
);
chdir 't';
my $lib = File::Spec->catdir(qw(lib Test Simple sample_tests));
while( my($test_name, $exit_code) = each %Tests ) {
my $file = File::Spec->catfile($lib, $test_name);
my $wait_stat = system(qq{$Perl -"I../blib/lib" -"I../lib" -"I../t/lib" $file});
my $actual_exit = exitstatus($wait_stat);
if( $exit_code eq 'not zero' ) {
$TB->isnt_num( $actual_exit, $Exit_Map{0},
"$test_name exited with $actual_exit ".
"(expected non-zero)");
}
else {
$TB->is_num( $actual_exit, $Exit_Map{$exit_code},
"$test_name exited with $actual_exit ".
"(expected $Exit_Map{$exit_code})");
}
}
$TB->done_testing( scalar keys(%Tests) + 256 );
# So any END block file cleanup works.
chdir $Orig_Dir;