summaryrefslogtreecommitdiff
path: root/source4/build/pidl/Parse/Pidl/Test.pm
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/pidl/Parse/Pidl/Test.pm')
-rw-r--r--source4/build/pidl/Parse/Pidl/Test.pm169
1 files changed, 0 insertions, 169 deletions
diff --git a/source4/build/pidl/Parse/Pidl/Test.pm b/source4/build/pidl/Parse/Pidl/Test.pm
deleted file mode 100644
index 34ea80c95c..0000000000
--- a/source4/build/pidl/Parse/Pidl/Test.pm
+++ /dev/null
@@ -1,169 +0,0 @@
-# Simple system for running tests against pidl
-# (C) 2005 Jelmer Vernooij <jelmer@samba.org>
-# Published under the GNU General Public License
-
-package Parse::Pidl::Test;
-
-use strict;
-use Parse::Pidl::Util;
-use Getopt::Long;
-
-my $cc = $ENV{CC};
-my @cflags = split / /, $ENV{CFLAGS};
-my @ldflags = split / /, $ENV{LDFLAGS};
-
-$cc = "cc" if ($cc eq "");
-
-sub generate_cfile($$$)
-{
- my ($filename, $fragment, $incfiles) = @_;
-
- unless (open (OUT, ">$filename")) {
- print STDERR "Unable to open $filename\n";
- return -1;
- }
- print OUT '
-/* This file was autogenerated. All changes made will be lost! */
-#include "include/includes.h"
-';
-
- foreach (@$incfiles) {
- print OUT "#include \"$_\"\n";
- }
-
- print OUT '
-int main(int argc, char **argv)
-{
- TALLOC_CTX *mem_ctx = talloc_init(NULL);
- ';
- print OUT $fragment;
- print OUT "\treturn 0;\n}\n";
- close OUT;
-
- return 0;
-}
-
-sub generate_idlfile($$)
-{
- my ($filename,$fragment) = @_;
-
- unless (open(OUT, ">$filename")) {
- print STDERR "Unable to open $filename\n";
- return -1;
- }
-
- print OUT '
-[uuid("1-2-3-4-5")] interface test_if
-{
-';
- print OUT $fragment;
- print OUT "\n}\n";
- close OUT;
-
- return 0;
-}
-
-sub compile_idl($$$)
-{
- my ($filename,$idl_path, $idlargs) = @_;
-
- my @args = @$idlargs;
- push (@args, $filename);
-
- unless (system($idl_path, @args) == 0) {
- print STDERR "Error compiling IDL file $filename: $!\n";
- return -1;
- }
-}
-
-sub compile_cfile($)
-{
- my ($filename) = @_;
-
- return system($cc, @cflags, '-I.', '-Iinclude', '-c', $filename);
-}
-
-sub link_files($$)
-{
- my ($exe_name,$objs) = @_;
-
- return system($cc, @ldflags, '-Lbin', '-lrpc', '-o', $exe_name, @$objs);
-}
-
-sub test_idl($$$$)
-{
- my ($name,$settings,$idl,$c) = @_;
-
- $| = 1;
-
- print "Running $name... ";
-
- my $outputdir = $settings->{OutputDir};
-
- my $c_filename = $outputdir."/".$name."_test.c";
- my $idl_filename = $outputdir."/".$name."_idl.idl";
- my $exe_filename = $outputdir."/".$name."_exe";
-
- return -1 if (generate_cfile($c_filename, $c, $settings->{IncludeFiles}) == -1);
-
- return -1 if (generate_idlfile($idl_filename, $idl) == -1);
-
- return -1 if (compile_idl($idl_filename, $settings->{'IDL-Compiler'}, $settings->{'IDL-Arguments'}) == -1);
-
- my @srcs = ($c_filename);
- push (@srcs, @{$settings->{'ExtraFiles'}});
-
- foreach (@srcs) {
- next unless /\.c$/;
- return -1 if (compile_cfile($_) == -1);
- }
-
- my @objs;
- foreach (@srcs) {
- if (/\.c$/) { s/\.c$/\.o/g; }
- push(@objs, $_);
- }
-
- return -1 if (link_files($exe_filename, \@objs) == -1);
-
- my $ret = system("./$exe_filename");
- if ($ret != 0) {
- $ret = $? >> 8;
- print "failed with return value $ret\n";
- return $ret;
- }
-
- unless ($settings->{Keep}) {
- unlink(@srcs, @objs, $exe_filename, $idl_filename);
- }
-
- print "Ok\n";
-
- return $ret;
-}
-
-sub GetSettings($)
-{
- my $settings = {
- OutputDir => ".",
- 'IDL-Compiler' => "./pidl"
- };
-
- my %opts = ();
- GetOptions('idl-compiler=s' => \$settings->{'IDL-Compiler'},
- 'outputdir=s' => \$settings->{OutputDir},
- 'keep' => \$settings->{Keep},
- 'help' => sub { ShowHelp(); exit 1; } );
-
- return %$settings;
-}
-
-sub ShowHelp()
-{
- print " --idl-compiler=PATH-TO-PIDL Override path to IDL compiler\n";
- print " --outputdir=OUTPUTDIR Write temporary files to OUTPUTDIR rather then .\n";
- print " --keep Keep intermediate files after running test";
- print " --help Show this help message\n";
-}
-
-1;