12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
- #ifndef UNITTESTSHADERCOMPILERSERVER_H
- #define UNITTESTSHADERCOMPILERSERVER_H
- #if !defined(Q_MOC_RUN)
- #include <QString>
- #include <QByteArray>
- #include <QObject>
- #endif
- class QTcpServer;
- class QTcpSocket;
- /** This Class will be used by the UnitTest class for testing
- * the Shader Compiler Manager Class.Basically we change the value
- * of the server status variable and see whether we are getting the
- * expected response from the shader compiler.
- */
- class UnitTestShaderCompilerServer
- : public QObject
- {
- Q_OBJECT
- public:
- explicit UnitTestShaderCompilerServer(QObject* parent = 0);
- virtual ~UnitTestShaderCompilerServer();
- enum ServerStatus
- {
- GoodServer,
- BadServer_SendsIncompletePayload,
- BadServer_ReadsPayloadAndDisconnect,
- BadServer_DisconnectAfterConnect,
- };
- void constructPayload(QByteArray& payload);
- void Init(QString serverAddress, int serverPort);
- void closeSocket();
- void startServer();
- void setServerStatus(const ServerStatus& serverStatus);
- signals:
- void errorMessage(QString error);
- public slots:
- void newConnection();
- void incomingMessage();
- private:
- QTcpSocket* m_socket;
- QTcpServer* m_server;
- ServerStatus m_serverStatus;
- QString m_serverAddress;
- int m_serverPort;
- QString m_incomingPayload;
- QString m_outgoingPayload;
- bool m_isPayloadSizeKnown;
- qint64 m_payloadSize;
- qint64 m_bytesRemainingInPayloadSize;
- qint64 m_totalBytesReadInPayloadSize;
- QByteArray m_payload;
- qint64 m_bytesRemainingInPayload;
- qint64 m_totalBytesReadInPayload;
- };
- #endif //UNITTESTSHADERCOMPILERSERVER_H
|