Run basic native tests using hl2sdk-mock in CI (#2015)
This tests the sorting.inc API similar to the existing test plugin in the plugins/testsuite folder. Tests fail if the srcds output contains "FAIL".
This commit is contained in:
@@ -38,7 +38,7 @@ stock void SetTestContext(const char[] context)
|
||||
strcopy(TestContext, sizeof(TestContext), context);
|
||||
}
|
||||
|
||||
stock void AssertEq(const char[] text, int cell1, int cell2)
|
||||
stock void AssertEq(const char[] text, any cell1, any cell2)
|
||||
{
|
||||
TestNumber++;
|
||||
if (cell1 == cell2)
|
||||
@@ -52,6 +52,39 @@ stock void AssertEq(const char[] text, int cell1, int cell2)
|
||||
}
|
||||
}
|
||||
|
||||
stock void AssertArrayEq(const char[] text, const any[] value, const any[] expected, int len)
|
||||
{
|
||||
TestNumber++;
|
||||
for (int i = 0; i < len; ++i)
|
||||
{
|
||||
if (value[i] != expected[i])
|
||||
{
|
||||
PrintToServer("[%d] %s FAIL: %s should be %d at index %d, got %d", TestNumber, TestContext, text, expected[i], i, value[i]);
|
||||
ThrowError("test %d (%s in %s) failed", TestNumber, text, TestContext);
|
||||
break;
|
||||
}
|
||||
}
|
||||
PrintToServer("[%d] %s: '%s' arrays are equal OK", TestNumber, TestContext, text);
|
||||
}
|
||||
|
||||
stock void AssertArray2DEq(const char[] text, const any[][] value, const any[][] expected, int len, int innerlen)
|
||||
{
|
||||
TestNumber++;
|
||||
for (int i=0; i < len; ++i)
|
||||
{
|
||||
for (int j=0; j < innerlen; ++j)
|
||||
{
|
||||
if (value[i][j] != expected[i][j])
|
||||
{
|
||||
PrintToServer("[%d] %s FAIL: %s should be %d at index [%d][%d], got %d", TestNumber, TestContext, text, expected[i][j], i, j, value[i][j]);
|
||||
ThrowError("test %d (%s in %s) failed", TestNumber, text, TestContext);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
PrintToServer("[%d] %s: '%s' 2D arrays are equal OK", TestNumber, TestContext, text);
|
||||
}
|
||||
|
||||
stock void AssertFalse(const char[] text, bool value)
|
||||
{
|
||||
TestNumber++;
|
||||
@@ -93,3 +126,18 @@ stock void AssertStrEq(const char[] text, const char[] value, const char[] expec
|
||||
ThrowError("test %d (%s in %s) failed", TestNumber, text, TestContext);
|
||||
}
|
||||
}
|
||||
|
||||
stock void AssertStrArrayEq(const char[] text, const char[][] value, const char[][] expected, int len)
|
||||
{
|
||||
TestNumber++;
|
||||
for (int i = 0; i < len; ++i)
|
||||
{
|
||||
if (!StrEqual(value[i], expected[i]))
|
||||
{
|
||||
PrintToServer("[%d] %s FAIL: %s should be '%s' at index %d, got '%s'", TestNumber, TestContext, text, expected[i], i, value[i]);
|
||||
ThrowError("test %d (%s in %s) failed", TestNumber, text, TestContext);
|
||||
break;
|
||||
}
|
||||
}
|
||||
PrintToServer("[%d] %s: '%s' arrays are equal OK", TestNumber, TestContext, text);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user