Blame mktests.PL

Packit 7d6a7d
################################################################################
Packit 7d6a7d
#
Packit 7d6a7d
#  mktests.PL -- generate test files for Devel::PPPort
Packit 7d6a7d
#
Packit 7d6a7d
################################################################################
Packit 7d6a7d
#
Packit 7d6a7d
#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
Packit 7d6a7d
#  Version 2.x, Copyright (C) 2001, Paul Marquess.
Packit 7d6a7d
#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
Packit 7d6a7d
#
Packit 7d6a7d
#  This program is free software; you can redistribute it and/or
Packit 7d6a7d
#  modify it under the same terms as Perl itself.
Packit 7d6a7d
#
Packit 7d6a7d
################################################################################
Packit 7d6a7d
Packit 7d6a7d
use strict;
Packit 7d6a7d
$^W = 1;
Packit 7d6a7d
require "./parts/ppptools.pl";
Packit 7d6a7d
Packit 7d6a7d
my $template = do { local $/; <DATA> };
Packit 7d6a7d
Packit 7d6a7d
generate_tests();
Packit 7d6a7d
Packit 7d6a7d
sub generate_tests
Packit 7d6a7d
{
Packit 7d6a7d
  my @tests;
Packit 7d6a7d
  my $file;
Packit 7d6a7d
Packit 7d6a7d
  for $file (all_files_in_dir('parts/inc')) {
Packit 7d6a7d
    my($testfile) = $file =~ /(\w+)\.?$/;  # VMS has a trailing dot
Packit 7d6a7d
    $testfile = "t/$testfile.t";
Packit 7d6a7d
Packit 7d6a7d
    my $spec = parse_partspec($file);
Packit 7d6a7d
    my $plan = 0;
Packit 7d6a7d
Packit 7d6a7d
    if (exists $spec->{tests}) {
Packit 7d6a7d
      exists $spec->{OPTIONS}{tests} &&
Packit 7d6a7d
      exists $spec->{OPTIONS}{tests}{plan}
Packit 7d6a7d
          or die "No plan for tests in $file\n";
Packit 7d6a7d
Packit 7d6a7d
      print "generating $testfile\n";
Packit 7d6a7d
Packit 7d6a7d
      my $tmpl = $template;
Packit 7d6a7d
      $tmpl =~ s/__SOURCE__/$file/mg;
Packit 7d6a7d
      $tmpl =~ s/__PLAN__/$spec->{OPTIONS}{tests}{plan}/mg;
Packit 7d6a7d
      $tmpl =~ s/^__TESTS__$/$spec->{tests}/mg;
Packit 7d6a7d
Packit 7d6a7d
      open FH, ">$testfile" or die "$testfile: $!\n";
Packit 7d6a7d
      print FH $tmpl;
Packit 7d6a7d
      close FH;
Packit 7d6a7d
Packit 7d6a7d
      push @tests, $testfile;
Packit 7d6a7d
    }
Packit 7d6a7d
  }
Packit 7d6a7d
Packit 7d6a7d
  return @tests;
Packit 7d6a7d
}
Packit 7d6a7d
Packit 7d6a7d
__DATA__
Packit 7d6a7d
################################################################################
Packit 7d6a7d
#
Packit 7d6a7d
#            !!!!!   Do NOT edit this file directly!   !!!!!
Packit 7d6a7d
#
Packit 7d6a7d
#            Edit mktests.PL and/or __SOURCE__ instead.
Packit 7d6a7d
#
Packit 7d6a7d
#  This file was automatically generated from the definition files in the
Packit 7d6a7d
#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
Packit 7d6a7d
#  works, please read the F<HACKERS> file that came with this distribution.
Packit 7d6a7d
#
Packit 7d6a7d
################################################################################
Packit 7d6a7d
Packit 7d6a7d
BEGIN {
Packit 7d6a7d
  if ($ENV{'PERL_CORE'}) {
Packit 7d6a7d
    chdir 't' if -d 't';
Packit 7d6a7d
    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
Packit 7d6a7d
    require Config; import Config;
Packit 7d6a7d
    use vars '%Config';
Packit 7d6a7d
    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
Packit 7d6a7d
      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
Packit 7d6a7d
      exit 0;
Packit 7d6a7d
    }
Packit 7d6a7d
  }
Packit 7d6a7d
  else {
Packit 7d6a7d
    unshift @INC, 't';
Packit 7d6a7d
  }
Packit 7d6a7d
Packit 7d6a7d
  sub load {
Packit 7d6a7d
    eval "use Test";
Packit 7d6a7d
    require 'testutil.pl' if $@;
Packit 7d6a7d
  }
Packit 7d6a7d
Packit 7d6a7d
  if (__PLAN__) {
Packit 7d6a7d
    load();
Packit 7d6a7d
    plan(tests => __PLAN__);
Packit 7d6a7d
  }
Packit 7d6a7d
}
Packit 7d6a7d
Packit 7d6a7d
use Devel::PPPort;
Packit 7d6a7d
use strict;
Packit 7d6a7d
$^W = 1;
Packit 7d6a7d
Packit 7d6a7d
package Devel::PPPort;
Packit 7d6a7d
use vars '@ISA';
Packit 7d6a7d
require DynaLoader;
Packit 7d6a7d
@ISA = qw(DynaLoader);
Packit 7d6a7d
bootstrap Devel::PPPort;
Packit 7d6a7d
Packit 7d6a7d
package main;
Packit 7d6a7d
Packit 7d6a7d
__TESTS__