qtestdata.cpp

Source codeSwitch to Preprocessed file
LineSource CodeCoverage
1/**************************************************************************** -
2** -
3** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -
4** Contact: http://www.qt-project.org/legal -
5** -
6** This file is part of the QtTest module of the Qt Toolkit. -
7** -
8** $QT_BEGIN_LICENSE:LGPL$ -
9** Commercial License Usage -
10** Licensees holding valid commercial Qt licenses may use this file in -
11** accordance with the commercial license agreement provided with the -
12** Software or, alternatively, in accordance with the terms contained in -
13** a written agreement between you and Digia. For licensing terms and -
14** conditions see http://qt.digia.com/licensing. For further information -
15** use the contact form at http://qt.digia.com/contact-us. -
16** -
17** GNU Lesser General Public License Usage -
18** Alternatively, this file may be used under the terms of the GNU Lesser -
19** General Public License version 2.1 as published by the Free Software -
20** Foundation and appearing in the file LICENSE.LGPL included in the -
21** packaging of this file. Please review the following information to -
22** ensure the GNU Lesser General Public License version 2.1 requirements -
23** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -
24** -
25** In addition, as a special exception, Digia gives you certain additional -
26** rights. These rights are described in the Digia Qt LGPL Exception -
27** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -
28** -
29** GNU General Public License Usage -
30** Alternatively, this file may be used under the terms of the GNU -
31** General Public License version 3.0 as published by the Free Software -
32** Foundation and appearing in the file LICENSE.GPL included in the -
33** packaging of this file. Please review the following information to -
34** ensure the GNU General Public License version 3.0 requirements will be -
35** met: http://www.gnu.org/copyleft/gpl.html. -
36** -
37** -
38** $QT_END_LICENSE$ -
39** -
40****************************************************************************/ -
41 -
42#include <QtCore/qmetaobject.h> -
43 -
44#include <QtTest/qtestassert.h> -
45#include <QtTest/qtestdata.h> -
46#include <QtTest/private/qtesttable_p.h> -
47 -
48#include <string.h> -
49#include <stdlib.h> -
50 -
51QT_BEGIN_NAMESPACE -
52 -
53class QTestDataPrivate -
54{ -
55public: -
56 QTestDataPrivate() : tag(0), parent(0), data(0), dataCount(0) {}
executed: }
Execution Count:61136
61136
57 -
58 char *tag; -
59 QTestTable *parent; -
60 void **data; -
61 int dataCount; -
62}; -
63 -
64QTestData::QTestData(const char *tag, QTestTable *parent) -
65{ -
66 QTEST_ASSERT(tag);
never executed: qt_assert("tag","qtestdata.cpp",66);
executed: }
Execution Count:61136
partially evaluated: !(tag)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:61136
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:61136
0-61136
67 QTEST_ASSERT(parent);
never executed: qt_assert("parent","qtestdata.cpp",67);
executed: }
Execution Count:61136
partially evaluated: !(parent)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:61136
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:61136
0-61136
68 d = new QTestDataPrivate;
executed (the execution status of this line is deduced): d = new QTestDataPrivate;
-
69 d->tag = qstrdup(tag);
executed (the execution status of this line is deduced): d->tag = qstrdup(tag);
-
70 d->parent = parent;
executed (the execution status of this line is deduced): d->parent = parent;
-
71 d->data = new void *[parent->elementCount()];
executed (the execution status of this line is deduced): d->data = new void *[parent->elementCount()];
-
72 memset(d->data, 0, parent->elementCount() * sizeof(void*));
executed (the execution status of this line is deduced): memset(d->data, 0, parent->elementCount() * sizeof(void*));
-
73}
executed: }
Execution Count:61136
61136
74 -
75QTestData::~QTestData() -
76{ -
77 for (int i = 0; i < d->dataCount; ++i) {
evaluated: i < d->dataCount
TRUEFALSE
yes
Evaluation Count:183499
yes
Evaluation Count:61133
61133-183499
78 if (d->data[i])
partially evaluated: d->data[i]
TRUEFALSE
yes
Evaluation Count:183499
no
Evaluation Count:0
0-183499
79 QMetaType::destroy(d->parent->elementTypeId(i), d->data[i]);
executed: QMetaType::destroy(d->parent->elementTypeId(i), d->data[i]);
Execution Count:183499
183499
80 }
executed: }
Execution Count:183499
183499
81 delete [] d->data;
executed (the execution status of this line is deduced): delete [] d->data;
-
82 delete [] d->tag;
executed (the execution status of this line is deduced): delete [] d->tag;
-
83 delete d;
executed (the execution status of this line is deduced): delete d;
-
84}
executed: }
Execution Count:61133
61133
85 -
86void QTestData::append(int type, const void *data) -
87{ -
88 QTEST_ASSERT(d->dataCount < d->parent->elementCount());
never executed: qt_assert("d->dataCount < d->parent->elementCount()","qtestdata.cpp",88);
executed: }
Execution Count:183502
partially evaluated: !(d->dataCount < d->parent->elementCount())
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:183502
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:183502
0-183502
89 if (d->parent->elementTypeId(d->dataCount) != type) {
partially evaluated: d->parent->elementTypeId(d->dataCount) != type
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:183502
0-183502
90 qDebug("expected data of type '%s', got '%s' for element %d of data with tag '%s'",
never executed (the execution status of this line is deduced): QMessageLogger("qtestdata.cpp", 90, __PRETTY_FUNCTION__).debug("expected data of type '%s', got '%s' for element %d of data with tag '%s'",
-
91 QMetaType::typeName(d->parent->elementTypeId(d->dataCount)),
never executed (the execution status of this line is deduced): QMetaType::typeName(d->parent->elementTypeId(d->dataCount)),
-
92 QMetaType::typeName(type),
never executed (the execution status of this line is deduced): QMetaType::typeName(type),
-
93 d->dataCount, d->tag);
never executed (the execution status of this line is deduced): d->dataCount, d->tag);
-
94 QTEST_ASSERT(false);
never executed: qt_assert("false","qtestdata.cpp",94);
never executed: }
never evaluated: !(false)
never evaluated: 0
0
95 }
never executed: }
0
96 d->data[d->dataCount] = QMetaType::create(type, data);
executed (the execution status of this line is deduced): d->data[d->dataCount] = QMetaType::create(type, data);
-
97 ++d->dataCount;
executed (the execution status of this line is deduced): ++d->dataCount;
-
98}
executed: }
Execution Count:183502
183502
99 -
100void *QTestData::data(int index) const -
101{ -
102 QTEST_ASSERT(index >= 0);
never executed: qt_assert("index >= 0","qtestdata.cpp",102);
executed: }
Execution Count:180121
partially evaluated: !(index >= 0)
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:180121
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:180121
0-180121
103 QTEST_ASSERT(index < d->parent->elementCount());
never executed: qt_assert("index < d->parent->elementCount()","qtestdata.cpp",103);
executed: }
Execution Count:180121
partially evaluated: !(index < d->parent->elementCount())
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:180121
partially evaluated: 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:180121
0-180121
104 return d->data[index];
executed: return d->data[index];
Execution Count:180121
180121
105} -
106 -
107QTestTable *QTestData::parent() const -
108{ -
109 return d->parent;
executed: return d->parent;
Execution Count:542554
542554
110} -
111 -
112const char *QTestData::dataTag() const -
113{ -
114 return d->tag;
executed: return d->tag;
Execution Count:263713
263713
115} -
116 -
117int QTestData::dataCount() const -
118{ -
119 return d->dataCount;
executed: return d->dataCount;
Execution Count:177930
177930
120} -
121 -
122QT_END_NAMESPACE -
123 -
Source codeSwitch to Preprocessed file

Generated by Squish Coco Non-Commercial