root/honeyclient/branches/exp/stephenson-browser_headers/t/honeyclient_manager_vm_clone.t

Revision 521, 4.7 kB (checked in by kindlund, 2 years ago)

Merged DB branch into trunk.

Line 
1 #!/usr/bin/perl -w
2
3 use strict;
4 use Test::More 'no_plan';
5 $| = 1;
6
7
8
9 # =begin testing
10 {
11 # Make sure Log::Log4perl loads
12 BEGIN { use_ok('Log::Log4perl', qw(:nowarn))
13         or diag("Can't load Log::Log4perl package. Check to make sure the package library is correctly listed within the path.");
14        
15         # Suppress all logging messages, since we need clean output for unit testing.
16         Log::Log4perl->init({
17             "log4perl.rootLogger"                               => "DEBUG, Buffer",
18             "log4perl.appender.Buffer"                          => "Log::Log4perl::Appender::TestBuffer",
19             "log4perl.appender.Buffer.min_level"                => "fatal",
20             "log4perl.appender.Buffer.layout"                   => "Log::Log4perl::Layout::PatternLayout",
21             "log4perl.appender.Buffer.layout.ConversionPattern" => "%d{yyyy-MM-dd HH:mm:ss} %5p [%M] (%F:%L) - %m%n",
22         });
23 }
24 require_ok('Log::Log4perl');
25 use Log::Log4perl qw(:easy);
26
27 # Make sure HoneyClient::Util::Config loads.
28 BEGIN { use_ok('HoneyClient::Util::Config', qw(getVar))
29         or diag("Can't load HoneyClient::Util::Config package.  Check to make sure the package library is correctly listed within the path.");
30
31         # Suppress all logging messages, since we need clean output for unit testing.
32         Log::Log4perl->init({
33             "log4perl.rootLogger"                               => "DEBUG, Buffer",
34             "log4perl.appender.Buffer"                          => "Log::Log4perl::Appender::TestBuffer",
35             "log4perl.appender.Buffer.min_level"                => "fatal",
36             "log4perl.appender.Buffer.layout"                   => "Log::Log4perl::Layout::PatternLayout",
37             "log4perl.appender.Buffer.layout.ConversionPattern" => "%d{yyyy-MM-dd HH:mm:ss} %5p [%M] (%F:%L) - %m%n",
38         });
39        
40 }
41 require_ok('HoneyClient::Util::Config');
42 can_ok('HoneyClient::Util::Config', 'getVar');
43 use HoneyClient::Util::Config qw(getVar);
44
45 # XXX: FIX THIS
46 # Make sure the module loads properly, with the exportable
47 # functions shared.
48 BEGIN { use_ok('HoneyClient::Agent::Driver') or diag("Can't load HoneyClient::Agent::Driver package.  Check to make sure the package library is correctly listed within the path."); }
49 require_ok('HoneyClient::Agent::Driver');
50 can_ok('HoneyClient::Agent::Driver', 'new');
51 can_ok('HoneyClient::Agent::Driver', 'drive');
52 can_ok('HoneyClient::Agent::Driver', 'isFinished');
53 can_ok('HoneyClient::Agent::Driver', 'next');
54 can_ok('HoneyClient::Agent::Driver', 'status');
55 use HoneyClient::Agent::Driver;
56
57 # Suppress all logging messages, since we need clean output for unit testing.
58 Log::Log4perl->init({
59     "log4perl.rootLogger"                               => "DEBUG, Buffer",
60     "log4perl.appender.Buffer"                          => "Log::Log4perl::Appender::TestBuffer",
61     "log4perl.appender.Buffer.min_level"                => "fatal",
62     "log4perl.appender.Buffer.layout"                   => "Log::Log4perl::Layout::PatternLayout",
63     "log4perl.appender.Buffer.layout.ConversionPattern" => "%d{yyyy-MM-dd HH:mm:ss} %5p [%M] (%F:%L) - %m%n",
64 });
65
66 # Make sure Storable loads.
67 BEGIN { use_ok('Storable', qw(dclone)) or diag("Can't load Storable package.  Check to make sure the package library is correctly listed within the path."); }
68 require_ok('Storable');
69 can_ok('Storable', 'dclone');
70 use Storable qw(dclone);
71 }
72
73
74
75 # =begin testing
76 {
77 # Create a generic clone, with test state data.
78 my $clone = HoneyClient::Manager::VM::Clone->new(test => 1, bypass_clone => 1);
79 is($clone->{test}, 1, "new(test => 1, bypass_clone => 1)") or diag("The new() call failed.");
80 isa_ok($clone, 'HoneyClient::Manager::VM::Clone', "new(test => 1, bypass_clone => 1)") or diag("The new() call failed.");
81
82 # TODO: Need more comprehensive test, where the clone actually gets created.
83 }
84
85
86
87 # =begin testing
88 {
89 # Create a generic driver, with test state data.
90 my $driver = HoneyClient::Agent::Driver->new(test => 1);
91 dies_ok {$driver->drive()} 'drive()' or diag("The drive() call failed.  Expected drive() to throw an exception.");
92 }
93
94
95
96 # =begin testing
97 {
98 # Create a generic driver, with test state data.
99 my $driver = HoneyClient::Agent::Driver->new(test => 1);
100 dies_ok {$driver->isFinished()} 'isFinished()' or diag("The isFinished() call failed.  Expected isFinished() to throw an exception.");
101 }
102
103
104
105 # =begin testing
106 {
107 # Create a generic driver, with test state data.
108 my $driver = HoneyClient::Agent::Driver->new(test => 1);
109 dies_ok {$driver->next()} 'next()' or diag("The next() call failed.  Expected next() to throw an exception.");
110 }
111
112
113
114 # =begin testing
115 {
116 # Create a generic driver, with test state data.
117 my $driver = HoneyClient::Agent::Driver->new(test => 1);
118 dies_ok {$driver->status()} 'status()' or diag("The status() call failed.  Expected status() to throw an exception.");
119 }
120
121
122
123
124 1;
Note: See TracBrowser for help on using the browser.