More changes to Clearcase and Clearquest stuff
[clearscm.git] / test / testMachinesMySQL.pl
diff --git a/test/testMachinesMySQL.pl b/test/testMachinesMySQL.pl
new file mode 100755 (executable)
index 0000000..af13546
--- /dev/null
@@ -0,0 +1,72 @@
+#!/usr/bin/perl\r
+use strict;\r
+use warnings;\r
+\r
+use Getopt::Long;\r
+use Pod::Usage; \r
+\r
+use FindBin;\r
+\r
+use lib "$FindBin::Bin/../lib";\r
+\r
+use Display;\r
+use Machines::MySQL;\r
+use Utils;\r
+\r
+my %opts = (\r
+  usage    => sub { podusage() } ,\r
+  hostname => $ENV{HOST}     || 'localhost',\r
+  username => $ENV{USERNAME} ? $ENV{USERNAME} : $ENV{USER},\r
+  password => $ENV{PASSWORD},\r
+  database => 0,\r
+);\r
+\r
+sub AddSystems($) {\r
+  my ($machines) = @_;\r
+\r
+  my @machines = $machines->ReadSystemsFile;\r
+\r
+  for (@machines) {\r
+    my ($err, $msg) = $machines->AddSystem(%$_);\r
+\r
+    error ($msg) if $err;\r
+  } # for\r
+} # AddSystems\r
+\r
+GetOptions (\r
+  \%opts,\r
+  'usage',\r
+  'host=s',\r
+  'username=s',\r
+  'password=s',\r
+  'database',\r
+  'filename=s',\r
+);\r
+\r
+my $machines;\r
+\r
+unless ($opts{database}) {\r
+  require Machines; Machines->import;\r
+\r
+  $machines = Machines->new(filename => $opts{filename});\r
+} else {\r
+  require Machines::MySQL; Machines::MySQL->import;\r
+\r
+  $machines = Machines::MySQL->new;\r
+} # if\r
+\r
+#for ($machines->select ("os = '2.4.21-50.Elsmp'")) {\r
+\r
+if (ref($machines) eq 'Machines') {\r
+  display "From file:";\r
+} elsif (ref($machines) eq 'Machines::MySQL') {\r
+  display "From database";\r
+} # if\r
+\r
+my %records = $machines->select;\r
+\r
+for (sort keys %records) {\r
+  display "Would execute command on $_ ($records{$_}{model})";\r
+} # for\r
+\r
+display "done";\r