File: 02_dumped_eq_dump_or_diff.t

package info (click to toggle)
libtest-hexdifferences-perl 1.001-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 148 kB
  • sloc: perl: 862; makefile: 7
file content (85 lines) | stat: -rw-r--r-- 2,643 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!perl -T

use strict;
use warnings;

use Test::More tests => 3;
use Test::NoWarnings;
use Test::HexDifferences;

# use default address and default format
{
    my $got  = '1234567';
    my $dump = <<'EOT';
0000 : 31 32 33 34 : 1234
0004 : 35 36 37 38 : 5678
EOT
    dumped_eq_dump_or_diff(
        $got,
        $dump,
        'example with defaults', # test name
    );
}

# use own format
# - 1 byte missing in "got".
# - 2nd word for "%2n" can not filled, so filled with space.
# - End of format.
# - Last byte will be displayd in default format.
# - This is the default behaviour in case of errors with multibytes format items.
{
    my $got  = '1234567';
    my $dump = <<'EOT';
1000 31323334
1004 3536 3738
EOT
    my $format = <<'EOT';
%a %N
%1x%
%a %2n
%1x%
EOT
    dumped_eq_dump_or_diff(
        $got,
        $dump,
        {
            address => 0x1000,  # set start address
            format  => $format, # set own format
        },
        'example with customized address and format',
    );
}

__END__

>prove -l example\02_dumped_eq_dump_or_diff.t
example\02_dumped_eq_dump_or_diff.t ..
example\02_dumped_eq_dump_or_diff.t .. 1/3 #   Failed test 'example with defaults'
#   at example\02_dumped_eq_dump_or_diff.t line 17.
# +---+---------------------------+---------------------------+
# | Ln|Got                        |Expected                   |
# +---+---------------------------+---------------------------+
# |  1|0000 : 31 32 33 34 : 1234  |0000 : 31 32 33 34 : 1234  |
# *  2|0004 : 35 36 37    : 567   |0004 : 35 36 37 38 : 5678  *
# +---+---------------------------+---------------------------+

example\02_dumped_eq_dump_or_diff.t .. 2/3 #   Failed test 'example with customized address and format'
#   at example\02_dumped_eq_dump_or_diff.t line 42.
# +---+------------------------+---+------------------+
# | Ln|Got                     | Ln|Expected          |
# +---+------------------------+---+------------------+
# |  1|1000 31323334           |  1|1000 31323334     |
# *  2|1004 3536\s\s\s\s\s\n   *  2|1004 3536 3738\n  *
# *  3|1006 : 37          : 7  *   |                  |
# +---+------------------------+---+------------------+
# Looks like you failed 2 tests of 3.
example\02_dumped_eq_dump_or_diff.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/3 subtests

Test Summary Report
-------------------
example\02_dumped_eq_dump_or_diff.t (Wstat: 512 Tests: 3 Failed: 2)
  Failed tests:  1-2
  Non-zero exit status: 2
Files=1, Tests=3,  1 wallclock secs ( 0.06 usr +  0.03 sys =  0.09 CPU)
Result: FAIL