[rt #100514] regression test for read() with a 2Gib offset
authorTony Cook <tony@develop-help.com>
Fri, 23 Mar 2012 12:11:48 +0000 (13:11 +0100)
committerFather Chrysostomos <sprout@cpan.org>
Tue, 22 May 2012 00:51:53 +0000 (17:51 -0700)
MANIFEST
t/bigmem/read.t [new file with mode: 0644]

index cdec71e..8a17dc3 100644 (file)
--- 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 (file)
index 0000000..b29c097
--- /dev/null
@@ -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
+