# 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;

Reply via email to