# New Ticket Created by Greg Bacon
# Please include the string: [perl #36540]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36540 >
Using the attached patch, which contains Nick Glencross's change to
dynclasses_pl.in modified by a suggestion from Matt Diephouse and also
cargoculting H.Merijn Brand's voodoo to work around a problem that
caused Test::Harness to empty @INC, I can at least build and scratch
through make test.
The dynclasses tests were pretty unhappy, all seeming to stem from
"Couldn't load '/tmp/parrot-0.2.2/runtime/parrot/dynext/python_group.dll':
Permission denied".
Summary below:
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/dynclass/foo.t 8 2048 9 8 88.89% 1-5 7-9
t/dynclass/gdbmhash.t 13 3328 13 13 100.00% 1-13
t/dynclass/pybuiltin.t 5 1280 6 5 83.33% 1-2 4-6
t/dynclass/pyclass.t 6 1536 6 6 100.00% 1-6
t/dynclass/pycomplex.t 4 1024 4 4 100.00% 1-4
t/dynclass/pyfunc.t 4 1024 4 4 100.00% 1-4
t/dynclass/pyint.t 25 6400 26 25 96.15% 1-25
t/op/trans.t 1 256 19 1 5.26% 13
2 tests and 80 subtests skipped.
Failed 8/162 test scripts, 95.06% okay. 66/2715 subtests failed, 97.57% okay.
make: *** [test] Error 14
Below is the output from t/op/trans.t:
Failed test (t/op/trans.t at line 307)
got: 'ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
t/op/trans.....................NOK 13# ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
not 0.000000ok 17
'
expected: 'ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
'
Enjoy,
Greg
diff -ru dist-parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in
parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in
--- dist-parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in 2005-06-06
06:57:42.000000000 -0500
+++ parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in 2005-07-13
17:37:16.851412400 -0500
@@ -46,6 +46,12 @@
$LD_LOAD_FLAGS =~ s/(-def:)/$extraLibs $1..\\/;
}
+# Here comes some stuff for Cygwin
+if ($^O eq 'cygwin') {
+ $LD_LOAD_FLAGS .= ' ${build_dir}/src/parrot_config.o';
+ $LIBPARROT = q[-L${build_dir}/blib/lib -lparrot];
+}
+
# PMC2C Config
our $PMC2C = "$PERL $PATHQUOTE" .
q[${build_dir}${slash}build_tools${slash}pmc2c.pl] . $PATHQUOTE;
@@ -72,9 +78,9 @@
}
return
- "$LD $LDFLAGS $LD_LOAD_FLAGS $liblist $PATHQUOTE$LIBPARROT$PATHQUOTE ".
- "${ld_out}" . $target . " " .
- join(" ", map {"$PATHQUOTE$_$PATHQUOTE"} @$sources);
+ "$LD $LDFLAGS $LD_LOAD_FLAGS -o $target " .
+ join(" ", map {"$PATHQUOTE$_$PATHQUOTE"} @$sources) .
+ " $PATHQUOTE$LIBPARROT$PATHQUOTE $liblist";
}
our $NOW = time();
diff -ru dist-parrot-0.2.2/t/harness parrot-0.2.2/t/harness
--- dist-parrot-0.2.2/t/harness 2005-04-11 04:49:42.000000000 -0500
+++ parrot-0.2.2/t/harness 2005-07-13 17:31:04.319737700 -0500
@@ -80,6 +80,9 @@
use Getopt::Std;
use Test::Harness qw(runtests);
+my @_INC = map { qq{"-I$_"} } @INC;
+$Test::Harness::Switches = "@_INC";
+
# handle the long options
$ENV{RUNNING_MAKE_TEST} = grep { $_ eq '--running-make-test' } @ARGV;