This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update epigraph for 5.35.8
[perl5.git] / dist / Data-Dumper / t / huge.t
1 #!./perl -w
2 #
3 # automated tests for Data::Dumper that need large amounts of memory; they
4 # are skipped unless PERL_TEST_MEMORY is set, and at least 10
5 #
6
7 use strict;
8 use warnings;
9
10 use Test::More;
11
12 use Config;
13 use Data::Dumper;
14
15 BEGIN {
16     plan skip_all => 'Need 64-bit pointers for this test'
17         if $Config{ptrsize} < 8;
18     plan skip_all => 'Need ~10 GiB of core for this test'
19         if !$ENV{PERL_TEST_MEMORY} || $ENV{PERL_TEST_MEMORY} < 10;
20 }
21
22 plan tests => 1;
23
24 {
25     my $input = q/'/ x 2**31;
26     my $len = length Dumper($input);
27     # Each single-quote will get backslashed, so the output must have
28     # stricly more than twice as many characters as the input.
29     cmp_ok($len, '>', 2**32, 'correct output for huge all-quotable value');
30     undef $input;
31 }