Commit e6f1e547718079ebc2b216a62a1e40af2ea1d471

Authored by Jay Berkenbilt
1 parent 8f6f7cec

Work around test fragility on Windows

Showing 1 changed file with 24 additions and 2 deletions
examples/qtest/create.test
@@ -11,9 +11,30 @@ cleanup(); @@ -11,9 +11,30 @@ cleanup();
11 11
12 my $td = new TestDriver('create'); 12 my $td = new TestDriver('create');
13 13
  14 +# This test is fragile on Windows for unknown reasons. Sometimes the
  15 +# output of the command is truncated even though it works and exits
  16 +# normally.
  17 +
  18 +for (my $i = 0; $i < 5; ++$i)
  19 +{
  20 + unlink "tmp.out";
  21 + if ((system("pdf-create a.pdf > tmp.out") == 0) &&
  22 + open(F, "<check.tmpout"))
  23 + {
  24 + local $/ = undef;
  25 + my $text = <F>;
  26 + close(F);
  27 + if ($text =~ m/passed/)
  28 + {
  29 + last;
  30 + }
  31 + }
  32 + sleep 1;
  33 +}
  34 +
14 $td->runtest("create a simple PDF", 35 $td->runtest("create a simple PDF",
15 - {$td->COMMAND => "pdf-create a.pdf"},  
16 - {$td->FILE => "create.out", $td->EXIT_STATUS => 0}, 36 + {$td->FILE => "tmp.out"},
  37 + {$td->FILE => "create.out"},
17 $td->NORMALIZE_NEWLINES); 38 $td->NORMALIZE_NEWLINES);
18 39
19 cleanup(); 40 cleanup();
@@ -23,4 +44,5 @@ $td-&gt;report(1); @@ -23,4 +44,5 @@ $td-&gt;report(1);
23 sub cleanup 44 sub cleanup
24 { 45 {
25 unlink "a.pdf"; 46 unlink "a.pdf";
  47 + unlink "tmp.out";
26 } 48 }