clean up debugger environment before testing with it
[p5sagit/namespace-clean.git] / t / 07-debugger.t
index fd4ee87..c52c34a 100644 (file)
@@ -1,13 +1,33 @@
-#!/usr/bin/perl -d
+use Test::More;
 
 BEGIN {
-    push @DB::typeahead, "c", "q";
+  require namespace::clean;
+  if (
+    namespace::clean::_Util::DEBUGGER_NEEDS_CV_RENAME()
+      and
+    my $missing_xs = namespace::clean::_Util::_namer_load_error()
+  ) {
+    plan skip_all => $missing_xs;
+  }
+  else {
+    plan tests => 4;
+  }
+}
+
+BEGIN {
+  # shut up the debugger
+  delete $ENV{$_} for grep /^PERL5?DB/, keys %ENV;
+  delete $ENV{LOGDIR};
+  $ENV{HOME} = '.';
+  $ENV{PERLDB_OPTS} = 'NonStop noTTY';
+}
+
+BEGIN {
+
+#line 1
+#!/usr/bin/perl -d
+#line 30
 
-    # try to shut it up at least a little bit
-    open my $out, ">", \my $out_buf;
-    $DB::OUT = $out;
-    open my $in, "<", \my $in_buf;
-    $DB::IN = $in;
 }
 
 {
@@ -24,11 +44,7 @@ BEGIN {
     }
 }
 
-use Test::More tests => 5;
-
 ok( !Foo->can("foo"), "foo cleaned up" );
 ok( !Foo->can("baz"), "baz cleaned up" );
 
 Foo->bar();
-
-pass();