Squashed commit of the following:
commit
b63007603bd955f92551d3ec4f011e5d22460f30
Author: Bhagya Tholpady <bbantwal@cisco.com>
Date: Fri Oct 26 13:19:55 2018 -0400
detection : add function to clear ips_id from unit tests
};
int TestData::count = 0;
-static unsigned ips_id = 0;
TEST_CASE("IpsContext basic", "[IpsContext]")
{
- ips_id = 0;
+ IpsContextData::clear_ips_id();
IpsContext ctx(4);
int num_data = 0;
// context data
//--------------------------------------------------------------------------
-// ips_id is not a member of context data so that
-// tests (and only tests) can reset the id
-static unsigned ips_id = 0;
+unsigned IpsContextData::ips_id = 0;
static unsigned max_id = IpsContext::max_ips_id;
unsigned IpsContextData::get_ips_id()
return ips_id;
}
+void IpsContextData::clear_ips_id()
+{
+ ips_id = 0;
+}
+
//--------------------------------------------------------------------------
// unit tests
//--------------------------------------------------------------------------
TEST_CASE("IpsContextData id", "[IpsContextData]")
{
- ips_id = 0;
+ IpsContextData::clear_ips_id();
auto id1 = IpsContextData::get_ips_id();
auto id2 = IpsContextData::get_ips_id();
virtual ~IpsContextData() = default;
static unsigned get_ips_id();
+ // Only unit tests can call this function to clear the id
+ static void clear_ips_id();
+
template<typename T>
static T* get(unsigned ips_id)
{
protected:
IpsContextData() = default;
+
+private:
+ static unsigned ips_id;
};
}
#endif
// ips context stuff
//-------------------------------------------------------------------------
-static unsigned ips_id = 0;
+static unsigned gtp_ips_id = 0;
// This table stores all the information elements in a packet
// To save memory, only one table for each ips context.
{ memset(gtp_ies, 0, sizeof(gtp_ies)); }
static void init()
- { ips_id = IpsContextData::get_ips_id(); }
+ { gtp_ips_id = IpsContextData::get_ips_id(); }
GTP_IEData gtp_ies[MAX_GTP_IE_CODE + 1];
};
GTP_IEData* get_infos()
{
- GtpContextData* gcd = IpsContextData::get<GtpContextData>(ips_id);
+ GtpContextData* gcd = IpsContextData::get<GtpContextData>(gtp_ips_id);
return gcd->gtp_ies;
}