Removed /usr/local from CDPATH
[clearscm.git] / test / testMachinesMySQL.pl
1 #!/usr/bin/perl\r
2 use strict;\r
3 use warnings;\r
4 \r
5 use Getopt::Long;\r
6 use Pod::Usage; \r
7 \r
8 use FindBin;\r
9 \r
10 use lib "$FindBin::Bin/../lib";\r
11 \r
12 use Display;\r
13 use Machines::MySQL;\r
14 use Utils;\r
15 \r
16 my %opts = (\r
17   usage    => sub { podusage() } ,\r
18   hostname => $ENV{HOST}     || 'localhost',\r
19   username => $ENV{USERNAME} ? $ENV{USERNAME} : $ENV{USER},\r
20   password => $ENV{PASSWORD},\r
21   database => 0,\r
22 );\r
23 \r
24 sub AddSystems($) {\r
25   my ($machines) = @_;\r
26 \r
27   my @machines = $machines->ReadSystemsFile;\r
28 \r
29   for (@machines) {\r
30     my ($err, $msg) = $machines->AddSystem(%$_);\r
31 \r
32     error ($msg) if $err;\r
33   } # for\r
34 } # AddSystems\r
35 \r
36 GetOptions (\r
37   \%opts,\r
38   'usage',\r
39   'host=s',\r
40   'username=s',\r
41   'password=s',\r
42   'database',\r
43   'filename=s',\r
44 );\r
45 \r
46 my $machines;\r
47 \r
48 unless ($opts{database}) {\r
49   require Machines; Machines->import;\r
50 \r
51   $machines = Machines->new(filename => $opts{filename});\r
52 } else {\r
53   require Machines::MySQL; Machines::MySQL->import;\r
54 \r
55   $machines = Machines::MySQL->new;\r
56 } # if\r
57 \r
58 #for ($machines->select ("os = '2.4.21-50.Elsmp'")) {\r
59 \r
60 if (ref($machines) eq 'Machines') {\r
61   display "From file:";\r
62 } elsif (ref($machines) eq 'Machines::MySQL') {\r
63   display "From database";\r
64 } # if\r
65 \r
66 my %records = $machines->select;\r
67 \r
68 for (sort keys %records) {\r
69   display "Would execute command on $_ ($records{$_}{model})";\r
70 } # for\r
71 \r
72 display "done";\r