Implement GTest and change windows output path

Implement GTest as a testing infrastructure.
Make windows output binaries to the build folder instead of the release type folder (potentially issue further down the line)
Add a simple unit test for DestroyableComponent
This commit is contained in:
David Markowitz
2022-11-07 00:12:35 -08:00
committed by GitHub
parent 9c58ea5c41
commit 1464762bcd
30 changed files with 763 additions and 325 deletions

View File

@@ -50,7 +50,6 @@ dServer::dServer(const std::string& ip, int port, int instanceID, int maxConnect
mNetIDManager = nullptr;
mReplicaManager = nullptr;
mServerType = serverType;
//Attempt to start our server here:
mIsOkay = Startup();
@@ -193,7 +192,10 @@ bool dServer::Startup() {
}
void dServer::Shutdown() {
mPeer->Shutdown(1000);
if (mPeer) {
mPeer->Shutdown(1000);
RakNetworkFactory::DestroyRakPeerInterface(mPeer);
}
if (mNetIDManager) {
delete mNetIDManager;
@@ -205,10 +207,9 @@ void dServer::Shutdown() {
mReplicaManager = nullptr;
}
//RakNetworkFactory::DestroyRakPeerInterface(mPeer); //Not needed, we already called Shutdown ourselves.
if (mServerType != ServerType::Master) {
if (mServerType != ServerType::Master && mMasterPeer) {
mMasterPeer->Shutdown(1000);
//RakNetworkFactory::DestroyRakPeerInterface(mMasterPeer);
RakNetworkFactory::DestroyRakPeerInterface(mMasterPeer);
}
}

View File

@@ -15,6 +15,8 @@ enum class ServerType : uint32_t {
class dServer {
public:
// Default constructor should only used for testing!
dServer() {};
dServer(const std::string& ip, int port, int instanceID, int maxConnections, bool isInternal, bool useEncryption, dLogger* logger, const std::string masterIP, int masterPort, ServerType serverType, unsigned int zoneID = 0);
~dServer();
@@ -22,7 +24,7 @@ public:
Packet* Receive();
void DeallocatePacket(Packet* packet);
void DeallocateMasterPacket(Packet* packet);
void Send(RakNet::BitStream* bitStream, const SystemAddress& sysAddr, bool broadcast);
virtual void Send(RakNet::BitStream* bitStream, const SystemAddress& sysAddr, bool broadcast);
void SendToMaster(RakNet::BitStream* bitStream);
void Disconnect(const SystemAddress& sysAddr, uint32_t disconNotifyID);
@@ -55,10 +57,10 @@ private:
bool ConnectToMaster();
private:
dLogger* mLogger;
RakPeerInterface* mPeer;
ReplicaManager* mReplicaManager;
NetworkIDManager* mNetIDManager;
dLogger* mLogger = nullptr;
RakPeerInterface* mPeer = nullptr;
ReplicaManager* mReplicaManager = nullptr;
NetworkIDManager* mNetIDManager = nullptr;
SocketDescriptor mSocketDescriptor;
std::string mIP;
int mPort;
@@ -71,7 +73,7 @@ private:
bool mMasterConnectionActive;
ServerType mServerType;
RakPeerInterface* mMasterPeer;
RakPeerInterface* mMasterPeer = nullptr;
SocketDescriptor mMasterSocketDescriptor;
SystemAddress mMasterSystemAddress;
std::string mMasterIP;