source: calamares/trunk/fuentes/src/modules/partition/tests/PartitionJobTests.h @ 7538

Last change on this file since 7538 was 7538, checked in by kbut, 17 months ago

sync with github

File size: 2.1 KB
Line 
1/* === This file is part of Calamares - <https://github.com/calamares> ===
2 *
3 *   Copyright 2014, Aurélien Gâteau <agateau@kde.org>
4 *
5 *   Calamares is free software: you can redistribute it and/or modify
6 *   it under the terms of the GNU General Public License as published by
7 *   the Free Software Foundation, either version 3 of the License, or
8 *   (at your option) any later version.
9 *
10 *   Calamares is distributed in the hope that it will be useful,
11 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
12 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 *   GNU General Public License for more details.
14 *
15 *   You should have received a copy of the GNU General Public License
16 *   along with Calamares. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef PARTITIONJOBTESTS_H
20#define PARTITIONJOBTESTS_H
21
22#include <JobQueue.h>
23
24// CalaPM
25#include <core/device.h>
26#include <core/partition.h>
27#include <core/partitionrole.h>
28#include <core/partitiontable.h>
29#include <fs/filesystem.h>
30
31// Qt
32#include <QObject>
33#include <QScopedPointer>
34
35class QueueRunner : public QObject
36{
37public:
38    QueueRunner( Calamares::JobQueue* queue );
39
40    /**
41     * Synchronously runs the queue. Returns true on success
42     */
43    bool run();
44
45private:
46    void onFailed( const QString& message, const QString& details );
47    void onFinished();
48    Calamares::JobQueue* m_queue;
49    bool m_finished;
50    bool m_success;
51};
52
53class PartitionJobTests : public QObject
54{
55    Q_OBJECT
56public:
57    PartitionJobTests();
58
59private Q_SLOTS:
60    void initTestCase();
61    void testPartitionTable();
62    void testCreatePartition();
63    void testCreatePartitionExtended();
64    void testResizePartition_data();
65    void testResizePartition();
66
67private:
68    QScopedPointer< Device > m_device;
69    Calamares::JobQueue m_queue;
70    QueueRunner m_runner;
71
72    void queuePartitionTableCreation( PartitionTable::TableType type );
73    CreatePartitionJob* newCreatePartitionJob( Partition* freeSpacePartition, PartitionRole, FileSystem::Type type, qint64 size );
74    void refreshDevice();
75};
76
77#endif /* PARTITIONJOBTESTS_H */
Note: See TracBrowser for help on using the repository browser.