Description: Fix testsuite.
- Tests: Provide a TestUtils.pl containing broken-out
launder() function
The code for laundering font sizes was duplicated between the tests.
Instead, break it out into a common function launder() in a new file
t/TestUtils.pl (which exists just for the tests).
(iwj)
- Tests: Sort the keywords in the graph output
They come out in hash order which is not necessarily stable.
Fixes FTBFS with perl 5.18 (Debian #711446, CPAN #85950).
(iwj)
- Tests: switch from dot to plain format
GraphViz dot output has changed again, causing new build failures
(Debian #755328).
Use plain format instead of dot; textually comparing nested strings
is just too fragile.
Update t/TestUtils.pl's sorting fucntion.
(gregoa)
Origin: vendor
Bug:
http://rt.cpan.org/Public/Bug/Display.html?id=85950
Bug-Debian:
https://bugs.debian.org/711446
https://bugs.debian.org/755328
Forwarded:
http://rt.cpan.org/Public/Bug/Display.html?id=85950
Author: Ian Jackson <ijackson@chiark.greenend.org.uk>
gregor herrmann <gregoa@debian.org>
Last-Update: 2014-10-22
--- a/MANIFEST
+++ b/MANIFEST
@@ -14,3 +14,4 @@
t/0.use.t
t/1.simple.t
t/2.ioall.t
+t/TestUtils.pl
--- a/t/1.simple.t
+++ b/t/1.simple.t
@@ -6,31 +6,27 @@
use IO::All;
use Graph;
use Graph::Writer::GraphViz;
+require 't/TestUtils.pl';
my @v = qw/Alice Bob Crude Dr/;
my $g = Graph->new;
$g->add_vertices(@v);
-my $wr = Graph::Writer::GraphViz->new(-format => 'dot');
+my $wr = Graph::Writer::GraphViz->new(-format => 'plain');
$wr->write_graph($g,'t/graph.simple.dot');
$/ = undef;
my $g1 = <DATA>;
my $g2 = io('t/graph.simple.dot')->slurp;
-# Ignore font-sizes, it's system-dependant
-$g1 =~ s/\d+/0/g;
-$g2 =~ s/\d+/0/g;
+launder(\$g1);
+launder(\$g2);
ok($g1 eq $g2);
unlink('t/graph.simple.dot');
__DATA__
-digraph test {
- graph [ratio=fill];
- node [label="\N", color=black];
- edge [color=black];
- graph [bb="0,0,290,52"];
- Bob [label=Bob, pos="27,26", width="0.75", height="0.50"];
- Dr [label=Dr, pos="99,26", width="0.75", height="0.50"];
- Alice [label=Alice, pos="174,26", width="0.83", height="0.50"];
- Crude [label=Crude, pos="256,26", width="0.94", height="0.50"];
-}
+graph 1 4.3624 0.5
+node Crude 0.55065 0.25 1.1013 0.5 Crude solid ellipse black black
+node Dr 1.7312 0.25 0.75 0.5 Dr solid ellipse black black
+node Bob 2.759 0.25 0.79437 0.5 Bob solid ellipse black black
+node Alice 3.884 0.25 0.95686 0.5 Alice solid ellipse black black
+stop
--- a/t/2.ioall.t
+++ b/t/2.ioall.t
@@ -6,12 +6,13 @@
use IO::All;
use Graph;
use Graph::Writer::GraphViz;
+require 't/TestUtils.pl';
my @v = qw/Alice Bob Crude Dr/;
my $g = Graph->new;
$g->add_vertices(@v);
-my $wr = Graph::Writer::GraphViz->new(-format => 'dot');
+my $wr = Graph::Writer::GraphViz->new(-format => 'plain');
my $io = io('t/graph.ioall.dot')->mode('w+')->assert;
$wr->write_graph($g, $io );
@@ -25,20 +26,16 @@
}
ok(-f 't/graph.ioall.dot');
-# Ignore font-sizes, it's system-dependant
-$g1 =~ s/\d+/0/g;
-$g2 =~ s/\d+/0/g;
+
+launder(\$g1);
+launder(\$g2);
ok($g1 eq $g2);
$io->unlink;
__DATA__
-digraph test {
- graph [ratio=fill];
- node [label="\N", color=black];
- edge [color=black];
- graph [bb="0,0,290,52"];
- Bob [label=Bob, pos="27,26", width="0.75", height="0.50"];
- Dr [label=Dr, pos="99,26", width="0.75", height="0.50"];
- Alice [label=Alice, pos="174,26", width="0.83", height="0.50"];
- Crude [label=Crude, pos="256,26", width="0.94", height="0.50"];
-}
+graph 1 4.3624 0.5
+node Crude 0.55065 0.25 1.1013 0.5 Crude solid ellipse black black
+node Dr 1.7312 0.25 0.75 0.5 Dr solid ellipse black black
+node Bob 2.759 0.25 0.79437 0.5 Bob solid ellipse black black
+node Alice 3.884 0.25 0.95686 0.5 Alice solid ellipse black black
+stop
--- /dev/null
+++ b/t/TestUtils.pl
@@ -0,0 +1,11 @@
+
+sub launder ($) {
+ my ($gr) = @_;
+ # Ignore font-sizes, it's system-dependant
+ $$gr =~ s/\d+/0/g;
+ # Sort the the graph output, as it comes out
+ # in hash order which isn't necessarily stable.
+ $$gr = join "\n", sort split /\n/, $$gr;
+}
+
+1;