File: 01header.t

package info (click to toggle)
libdevel-mat-dumper-perl 0.50-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 200 kB
  • sloc: perl: 287; makefile: 7
file content (44 lines) | stat: -rw-r--r-- 978 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/perl

use v5.10;
use strict;
use warnings;

use Test::More;

use Config;
use Devel::MAT::Dumper;

my $DUMPFILE = "test.pmat";

Devel::MAT::Dumper::dump( $DUMPFILE );
END { unlink $DUMPFILE; }

pass "Write dumpfile";

open my $fh, "<", $DUMPFILE or
   die "Cannot open $DUMPFILE for reading - $!";

read $fh, my $buf, 12;
my ( $sig, $flags, $zero, $major, $minor, $perlver ) =
   unpack "A4 C C C C I", $buf;

is( $sig, "PMAT", 'File magic signature' );

is( $flags,
    ( $Config{byteorder} =~ m/4321$/ ? 0x01 : 0x00 ) |
    ( $Config{uvsize} == 8           ? 0x02 : 0x00 ) |
    ( $Config{ptrsize} == 8          ? 0x04 : 0x00 ) |
    ( $Config{nvsize} > 8            ? 0x08 : 0x00 ) |
    ( $Config{useithreads}           ? 0x10 : 0x00 ),
    'Flags' );

is( $zero, 0, 'Zero' );

is( $major, 0, 'Major' );
is( $minor, 6, 'Minor' );

my ( $rev, $sub ) = $] =~ m/^5\.(...)(...)$/;
is( $perlver, ( 5 << 24 ) | ( $rev << 16 ) | ( $sub + 0 ), 'Perlver' );

done_testing;