~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to lib/GenTest/XML/Environment.pm

initial import from internal tree

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package GenTest::XML::Environment;
 
2
 
 
3
require Exporter;
 
4
@ISA = qw(GenTest);
 
5
 
 
6
use strict;
 
7
use GenTest;
 
8
 
 
9
 
 
10
sub new {
 
11
        my $class = shift;
 
12
 
 
13
        my $environment = $class->SUPER::new({
 
14
        }, @_);
 
15
 
 
16
        return $environment;
 
17
}
 
18
 
 
19
sub xml {
 
20
        require XML::Writer;
 
21
 
 
22
        my $environment = shift;
 
23
        my $environment_xml;
 
24
 
 
25
        my $writer = XML::Writer->new(
 
26
                OUTPUT          => \$environment_xml,
 
27
        );
 
28
 
 
29
        $writer->startTag('environments');
 
30
        $writer->startTag('environment', 'id' => 0);
 
31
        $writer->startTag('hosts');
 
32
        $writer->startTag('host');
 
33
 
 
34
        $writer->dataElement('name', `hostname`);
 
35
        $writer->dataElement('arch', $^O);
 
36
        $writer->dataElement('role', 'server');
 
37
 
 
38
        # <os>
 
39
 
 
40
        # <software>
 
41
 
 
42
        $writer->startTag('software');
 
43
        $writer->startTag('program');
 
44
        $writer->dataElement('name', 'perl');
 
45
        $writer->dataElement('version', $^V);
 
46
        $writer->dataElement('path', $^X);
 
47
        $writer->endTag('program');
 
48
        $writer->endTag('software');
 
49
 
 
50
        $writer->endTag('host');
 
51
        $writer->endTag('hosts');
 
52
        $writer->endTag('environment');
 
53
        $writer->endTag('environments');
 
54
 
 
55
        $writer->end();
 
56
 
 
57
        return $environment_xml;        
 
58
}
 
59
 
 
60
1;