Unit test to verify whether Slic3r would hang when croaking from
a C++ exception handler. This is an unfortunate error in some Strawberry Perl distributions.
This commit is contained in:
parent
e9e55e7ac3
commit
aac968162b
@ -166,6 +166,7 @@ t/18_motionplanner.t
|
|||||||
t/19_model.t
|
t/19_model.t
|
||||||
t/20_print.t
|
t/20_print.t
|
||||||
t/21_gcode.t
|
t/21_gcode.t
|
||||||
|
t/22_exception.t
|
||||||
xsp/BoundingBox.xsp
|
xsp/BoundingBox.xsp
|
||||||
xsp/BridgeDetector.xsp
|
xsp/BridgeDetector.xsp
|
||||||
xsp/Clipper.xsp
|
xsp/Clipper.xsp
|
||||||
|
16
xs/t/22_exception.t
Normal file
16
xs/t/22_exception.t
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use Slic3r::XS;
|
||||||
|
use Test::More tests => 1;
|
||||||
|
|
||||||
|
{
|
||||||
|
eval {
|
||||||
|
Slic3r::xspp_test_croak_hangs_on_strawberry();
|
||||||
|
};
|
||||||
|
is $@, "xspp_test_croak_hangs_on_strawberry: exception catched\n", 'croak from inside a C++ exception delivered';
|
||||||
|
}
|
||||||
|
|
||||||
|
__END__
|
@ -28,4 +28,12 @@ FORK_NAME()
|
|||||||
RETVAL = newSVpv(SLIC3R_FORK_NAME, 0);
|
RETVAL = newSVpv(SLIC3R_FORK_NAME, 0);
|
||||||
OUTPUT: RETVAL
|
OUTPUT: RETVAL
|
||||||
|
|
||||||
|
void
|
||||||
|
xspp_test_croak_hangs_on_strawberry()
|
||||||
|
CODE:
|
||||||
|
try {
|
||||||
|
throw 1;
|
||||||
|
} catch (...) {
|
||||||
|
croak("xspp_test_croak_hangs_on_strawberry: exception catched\n");
|
||||||
|
}
|
||||||
%}
|
%}
|
Loading…
Reference in New Issue
Block a user