File indexing completed on 2024-04-21 15:24:20
0001 /* 0002 SPDX-FileCopyrightText: 2012 Miha Čančula <miha@noughmad.eu> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef PHPUNITRUNJOB_H 0008 #define PHPUNITRUNJOB_H 0009 0010 #include <QProcess> 0011 0012 #include <outputview/outputjob.h> 0013 #include <interfaces/itestsuite.h> 0014 #include <interfaces/itestcontroller.h> 0015 #include <util/executecompositejob.h> 0016 0017 class PhpUnitTestSuite; 0018 class KProcess; 0019 0020 class PhpUnitRunJob : public KJob 0021 { 0022 Q_OBJECT 0023 public: 0024 PhpUnitRunJob(PhpUnitTestSuite* suite, const QStringList& cases, KDevelop::OutputJob::OutputJobVerbosity verbosity, QObject* parent = nullptr); 0025 void start() override; 0026 0027 protected: 0028 bool doKill() override; 0029 0030 private slots: 0031 void processFinished(KJob* job); 0032 void rowsInserted(const QModelIndex &parent, int startRow, int endRow); 0033 0034 private: 0035 KProcess* m_process; 0036 PhpUnitTestSuite* m_suite; 0037 QStringList m_cases; 0038 KDevelop::TestResult m_result; 0039 KJob* m_job; 0040 KDevelop::OutputJob* m_outputJob; 0041 KDevelop::OutputJob::OutputJobVerbosity m_verbosity; 0042 }; 0043 0044 class UnprotectedExecuteCompositeJob : public KDevelop::ExecuteCompositeJob 0045 { 0046 Q_OBJECT 0047 public: 0048 using ExecuteCompositeJob::subjobs; 0049 }; 0050 0051 #endif // PHPUNITRUNJOB_H