QTestFixture.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012 Open Source Robotics Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16*/
17
18#ifndef _QTESTFIXTURE_HH_
19#define _QTESTFIXTURE_HH_
20
21#include <string>
22#include <QtTest/QtTest>
23
24#ifndef Q_MOC_RUN // See: https://bugreports.qt-project.org/browse/QTBUG-22829
25# include <boost/thread.hpp>
26# include "gazebo/Server.hh"
27# include "gazebo/physics/physics.hh"
28# include "gazebo/rendering/rendering.hh"
29#endif
30
31#include "gazebo/gui/qt.h"
32
33#include "gazebo/gazebo_config.h"
34#include "test_config.h"
35
37class QTestFixture : public QObject
38{
39 Q_OBJECT
40
41 public: QTestFixture();
42
48 protected: void Load(const std::string &_worldFilename, bool _paused = false,
49 bool _serverScene = true, bool _clientScene = false);
50
53 protected: void SetPause(bool _pause);
54
60 protected: void ProcessEventsAndDraw(QMainWindow *_mainWindow = NULL,
61 const unsigned int _repeat = 10, const unsigned int _ms = 30);
62
66 protected: void GetMemInfo(double &_resident, double &_share);
67
70 private slots: void initTestCase();
71
73 private slots: void init();
74
76 private slots: void cleanup();
77
79 private slots: void cleanupTestCase();
80
85 private: void RunServer(const std::string &_worldFilename, bool _paused,
86 bool _createScene);
87
90
92 protected: boost::thread *serverThread;
93
95 protected: double resMaxPercentChange;
96
98 protected: double shareMaxPercentChange;
99
101 private: double residentStart;
102
104 private: double shareStart;
105};
106#endif
#define NULL
Definition CommonTypes.hh:31
Base class for all Gazebo GUI unit tests.
Definition QTestFixture.hh:38
boost::thread * serverThread
Thread to run the Gazebo server.
Definition QTestFixture.hh:92
void SetPause(bool _pause)
Pause or unpause the world.
void GetMemInfo(double &_resident, double &_share)
Get memory information about the current process.
gazebo::Server * server
The Gazebo server, which is run in a thread.
Definition QTestFixture.hh:89
double resMaxPercentChange
Maximum allowed percent change in resident memory usage.
Definition QTestFixture.hh:95
void ProcessEventsAndDraw(QMainWindow *_mainWindow=NULL, const unsigned int _repeat=10, const unsigned int _ms=30)
Give the GUI time to process events and trigger main window repaint.
void Load(const std::string &_worldFilename, bool _paused=false, bool _serverScene=true, bool _clientScene=false)
Load a world.
double shareMaxPercentChange
Maximum allowed percent change in shared memory usage.
Definition QTestFixture.hh:98
Definition Server.hh:42