File: testPlatform.h

package info (click to toggle)
libsmbios 2.0.3.dfsg-1.1
  • links: PTS
  • area: main
  • in suites: squeeze, wheezy
  • size: 3,768 kB
  • ctags: 2,016
  • sloc: cpp: 14,292; sh: 9,408; xml: 3,820; makefile: 454; ansic: 402; python: 157
file content (138 lines) | stat: -rw-r--r-- 3,464 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
// vim:expandtab:autoindent:tabstop=4:shiftwidth=4:filetype=c:
/*
 * Copyright (C) 2005 Dell Inc.
 *  by Michael Brown <Michael_E_Brown@dell.com>
 * Licensed under the Open Software License version 2.1 
 * 
 * Alternatively, you can redistribute it and/or modify 
 * it under the terms of the GNU General Public License as published 
 * by the Free Software Foundation; either version 2 of the License, 
 * or (at your option) any later version.

 * This program is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
 * See the GNU General Public License for more details.
 */


#ifndef _TESTPLATFORM_H
#define _TESTPLATFORM_H

#include "smbios/compat.h"

#include <cppunit/extensions/HelperMacros.h>
#include <typeinfo>
#include <string>

#include "smbios/ISmbios.h"
#include "smbios/ICmosRW.h"
#include "smbios/IToken.h"
#include "smbios/SystemInfo.h"

#include "XmlUtils.h"

#include "outputctl.h"

extern int global_argc;
extern char ** global_argv;

class testPlatform  : public CppUnit::TestFixture
{
protected:
    virtual std::string getCppunitTopDirectory()
    {
        //return TEST_DIR;
        return global_argv[1];
    }
    virtual std::string getWritableDirectory()
    {
        //return DEFAULT_TEST_DIR;
        return global_argv[2];
    };

    virtual std::string getTestName()
    {
        //return TEST_DIR;
        return global_argv[3];
    }
    virtual std::string getTestDirectory()
    {
        //return DEFAULT_TEST_DIR;
        return global_argv[4];
    };

    std::string getTestInputString( std::string toFind, std::string section="systemInfo" );

    void checkSkipTest( std::string testName);

    // parser owns all XML entities. When it is deleted, everything
    // goes with it.
    XML_NAMESPACE DOMBuilder *parser;

    // The doc is owned by the parser. We do not have to clean it up
    // it is deleted when the parser is released. We keep a ref
    // here for speed purposes
    XML_NAMESPACE DOMDocument *doc;

public:
    virtual void setUp();
    virtual void tearDown();

    // item tests
    void testGetBoundaries();

    // cmos token tests
    void testCmosChecksum();
    void testCmosWriting();

    // systeminfo tests
    void testSystemInfo();

    // testInput.xml tests
    void testIdByte();
    void testServiceTag();
    void testServiceTagWriting();
    void testAssetTag();
    void testSystemName();
    void testBiosVersion();
    void testIsDell();
    void  testVariousAccessors();
    void  testOutOfBounds();
    void  testConstructionOffset1();
    void  testConstructionOffset2();

    // other
    void testStateBytes();
    void testUpBoot();

    // make sure to put this at the end...
    CPPUNIT_TEST_SUITE (testPlatform);

    CPPUNIT_TEST (testCmosChecksum);
    CPPUNIT_TEST (testCmosWriting);

    CPPUNIT_TEST (testSystemInfo);

    CPPUNIT_TEST (testIdByte);
    CPPUNIT_TEST (testServiceTag);
    CPPUNIT_TEST (testServiceTagWriting);
    CPPUNIT_TEST (testAssetTag);
    CPPUNIT_TEST (testSystemName);



    CPPUNIT_TEST (testBiosVersion);
    CPPUNIT_TEST (testIsDell);
    CPPUNIT_TEST (testVariousAccessors);
    CPPUNIT_TEST (testOutOfBounds);
    CPPUNIT_TEST (testConstructionOffset1);
    CPPUNIT_TEST (testConstructionOffset2);

    CPPUNIT_TEST (testStateBytes);
    CPPUNIT_TEST (testUpBoot);

    CPPUNIT_TEST_SUITE_END ();
};

#endif