summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Cook <tony@develop-help.com>2012-03-23 13:11:48 +0100
committerFather Chrysostomos <sprout@cpan.org>2012-05-21 17:51:53 -0700
commit9fda09b68d4cc65555dcaeb9b4c62d9a2c305264 (patch)
tree0aac327f4ab78257b50055fdba4fadc2cf50af14
parentff5db609afa520be8c66115e1023668effd5f53e (diff)
downloadperl-9fda09b68d4cc65555dcaeb9b4c62d9a2c305264.tar.gz
[rt #100514] regression test for read() with a 2Gib offset
-rw-r--r--MANIFEST1
-rw-r--r--t/bigmem/read.t24
2 files changed, 25 insertions, 0 deletions
diff --git a/MANIFEST b/MANIFEST
index cdec71e0bc..8a17dc3484 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -4959,6 +4959,7 @@ t/base/rs.t See if record-read works
t/base/term.t See if various terms work
t/base/while.t See if while work
t/benchmark/rt26188-speed-up-keys-on-empty-hash.t Benchmark if keys on empty hashes is fast enough
+t/bigmem/read.t Check read() handles large offsets
t/cmd/elsif.t See if else-if works
t/cmd/for.t See if for loops work
t/cmd/mod.t See if statement modifiers work
diff --git a/t/bigmem/read.t b/t/bigmem/read.t
new file mode 100644
index 0000000000..b29c097a6a
--- /dev/null
+++ b/t/bigmem/read.t
@@ -0,0 +1,24 @@
+#!perl
+BEGIN {
+ chdir 't';
+ unshift @INC, "../lib";
+}
+
+use strict;
+require './test.pl';
+use Config qw(%Config);
+
+$ENV{PERL_TEST_MEMORY} >= 3
+ or skip_all("Need ~3Gb for this test");
+$Config{ptrsize} >= 8
+ or skip_all("Need 64-bit pointers for this test");
+
+plan(1);
+
+# RT #100514
+my $x = "";
+read(DATA, $x, 4, 0x80000000);
+is(length $x, 0x80000004, "check we read to the correct offset");
+__DATA__
+Food
+