# New Ticket Created by  Matt Diephouse 
# Please include the string:  [perl #40824]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=40824 >


If a loadlib fails, it doesn't throw a catchable exception. The t/ 
library/pg.t test was changed because it was failing on platforms  
where pg wasn't available. In particular, this assertion was getting  
tripped on:

src/inter_call.c:122: failed assertion `PObj_is_PMC_TEST(sig_pmc) &&  
sig_pmc->vtable->base_type == enum_class_FixedIntegerArray'
Abort trap

The fix was this patch:

=== t/library/pg.t
==================================================================
--- t/library/pg.t  (revision 23578)
+++ t/library/pg.t  (local)
@@ -32,6 +32,10 @@
      test = new 'Test::Builder'
      test.'plan'(N_TESTS)
      push_eh no_pg
+
+   # TODO: fix when exception handling works again
+    loadlib $P0, 'libpq'
+    unless $P0 goto no_pg
      load_bytecode 'postgres.pir'
      clear_eh
      test.'ok'(1, 'load_bytecode')

--
Matt Diephouse

Reply via email to