CRYENGINE Show CodeCoverageTracker.cpp Source code
Return
Download CRYENGINE:
download CodeCoverageTracker.cpp Source code
- Download CRYENGINE Source code - Type:.cpp
- // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
- // -------------------------------------------------------------------------
- // File name: CodeCoverageTracker.cpp
- // Created: 18/06/2008 by Matthew
- // Description: Defines code coverage check points
- // and a central class to track their registration
- // -------------------------------------------------------------------------
- // History:
- //
- ////////////////////////////////////////////////////////////////////////////
- #include "StdAfx.h"
- #if !defined(_RELEASE)
- #include "CodeCoverageTracker.h"
- #include "CodeCoverageManager.h"
- // CCodeCoverageCheckPoint constructor
- CCodeCoverageCheckPoint::CCodeCoverageCheckPoint(const char* label) : m_nCount(0), m_psLabel(label)
- {
- assert(label);
- // Register self with central manager
- if (gAIEnv.pCodeCoverageTracker)
- gAIEnv.pCodeCoverageTracker->Register(this);
- }
- // CCodeCoverageTracker constructor
- CCodeCoverageTracker::CCodeCoverageTracker(void)
- {
- for (int i = 0; i < 3; ++i)
- m_pMostRecent[i] = NULL;
- m_nLastEntry = 0;
- }
- // CCodeCoverageTracker operations
- CCodeCoverageCheckPoint* CCodeCoverageTracker::GetCheckPoint(const char* sLabel) const
- {
- assert(sLabel);
- CheckPointMap::const_iterator it(m_mCheckPoints.find(sLabel));
- return (it != m_mCheckPoints.end() ? it->second : NULL);
- }
- void CCodeCoverageTracker::Register(CCodeCoverageCheckPoint* pPoint)
- {
- assert(pPoint);
- m_vecCheckPoints.push_back(pPoint);
- /*
- if (!gAIEnv.pCodeCoverageManager || !gAIEnv.pCodeCoverageManager->IsContextValid())
- {
- // At this point the CodeCoverageManager is not in a valid state.
- // We keep track of points encountered in a temporary list for now
- m_vecCheckPoints.push_back(pPoint);
- }
- else
- {
- // Add it to the map
- // And, ensure that no other checkpoint has the same name
- CheckPointMap::iterator it = m_mCheckPoints.find(pPoint->GetLabel());
- assert (it == m_mCheckPoints.end());
- if (gAIEnv.pCodeCoverageManager->IsExpected(pPoint->GetLabel()))
- m_mCheckPoints.insert(std::make_pair(pPoint->GetLabel(), pPoint));
- else
- m_vecCheckPoints.push_back(pPoint);
- // Store this label so it can be retrieved by the renderer for the code coverage
- m_pMostRecent[m_nLastEntry++] = pPoint->GetLabel();
- if (3 == m_nLastEntry)
- m_nLastEntry = 0;
- //gEnv->pLog->Log("Registered checkpoint: %s", pPoint->m_psLabel);
- }
- */
- m_pMostRecent[m_nLastEntry++] = pPoint->GetLabel();
- if (3 == m_nLastEntry)
- m_nLastEntry = 0;
- }
- void CCodeCoverageTracker::Clear()
- {
- for (CheckPointMap::iterator it = m_mCheckPoints.begin(); it != m_mCheckPoints.end(); ++it)
- it->second->Reset();
- }
- void CCodeCoverageTracker::Reset()
- {
- Clear();
- m_mCheckPoints.clear();
- }
- int CCodeCoverageTracker::GetTotalRegistered()
- {
- return (int)m_mCheckPoints.size();
- }
- void CCodeCoverageTracker::GetMostRecentAndReset(const char* pRet[3])
- {
- for (int i = 0; i < 3; ++i)
- {
- pRet[i] = m_pMostRecent[i];
- m_pMostRecent[i] = NULL;
- }
- }
- #endif //_RELEASE
downloadCodeCoverageTracker.cpp Source code
- Download CRYENGINE Source code
Related Source Codes/Software:
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets
https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps
... 2017-06-10
angular-starter - 2017-06-10