mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 11:38:21 +02:00
Fixed test ShouldFail cases
This commit is contained in:
parent
a9872fcbac
commit
6c0b329d57
4 changed files with 38 additions and 12 deletions
|
@ -214,18 +214,20 @@ static void TestReadCmd(Beefy::String& str);
|
||||||
|
|
||||||
static void Internal_FatalError(const char* error)
|
static void Internal_FatalError(const char* error)
|
||||||
{
|
{
|
||||||
if (gClientPipe != NULL)
|
if ((gClientPipe != NULL) && (!gTestBreakOnFailure))
|
||||||
{
|
{
|
||||||
Beefy::String str = ":TestFatal\t";
|
Beefy::String str = ":TestFatal\t";
|
||||||
str += error;
|
str += error;
|
||||||
|
str.Replace('\n', '\r');
|
||||||
str += "\n";
|
str += "\n";
|
||||||
TestString(str);
|
TestString(str);
|
||||||
|
|
||||||
Beefy::String result;
|
Beefy::String result;
|
||||||
TestReadCmd(result);
|
TestReadCmd(result);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
BfpSystem_FatalError(error, "BEEF FATAL ERROR");
|
BfpSystem_FatalError(error, "BEEF FATAL ERROR");
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" BFRT_EXPORT int BF_CALLTYPE ftoa(float val, char* str)
|
extern "C" BFRT_EXPORT int BF_CALLTYPE ftoa(float val, char* str)
|
||||||
|
@ -396,6 +398,13 @@ void* Internal::UnsafeCastToPtr(Object* obj)
|
||||||
|
|
||||||
void Internal::ThrowIndexOutOfRange(intptr stackOffset)
|
void Internal::ThrowIndexOutOfRange(intptr stackOffset)
|
||||||
{
|
{
|
||||||
|
if (gClientPipe != NULL)
|
||||||
|
{
|
||||||
|
Beefy::String str = ":TestFail\tIndex out of range\n";
|
||||||
|
TestString(str);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
if ((stackOffset != -1) && (::IsDebuggerPresent()))
|
if ((stackOffset != -1) && (::IsDebuggerPresent()))
|
||||||
{
|
{
|
||||||
SETUP_ERROR("Index out of range", (int)(2 + stackOffset));
|
SETUP_ERROR("Index out of range", (int)(2 + stackOffset));
|
||||||
|
@ -406,7 +415,17 @@ void Internal::ThrowIndexOutOfRange(intptr stackOffset)
|
||||||
}
|
}
|
||||||
|
|
||||||
void Internal::FatalError(bf::System::String* error, intptr stackOffset)
|
void Internal::FatalError(bf::System::String* error, intptr stackOffset)
|
||||||
{
|
{
|
||||||
|
if (gClientPipe != NULL)
|
||||||
|
{
|
||||||
|
Beefy::String str = ":TestFail\t";
|
||||||
|
str += error->CStr();
|
||||||
|
str.Replace('\n', '\r');
|
||||||
|
str += "\n";
|
||||||
|
TestString(str);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
if ((stackOffset != -1) && (::IsDebuggerPresent()))
|
if ((stackOffset != -1) && (::IsDebuggerPresent()))
|
||||||
{
|
{
|
||||||
SETUP_ERROR(error->CStr(), (int)(2 + stackOffset));
|
SETUP_ERROR(error->CStr(), (int)(2 + stackOffset));
|
||||||
|
@ -640,6 +659,7 @@ void Internal::Test_Error(char* error)
|
||||||
{
|
{
|
||||||
Beefy::String str = ":TestFail\t";
|
Beefy::String str = ":TestFail\t";
|
||||||
str += error;
|
str += error;
|
||||||
|
str.Replace('\n', '\r');
|
||||||
str += "\n";
|
str += "\n";
|
||||||
TestString(str);
|
TestString(str);
|
||||||
}
|
}
|
||||||
|
@ -651,12 +671,7 @@ void Internal::Test_Write(char* strPtr)
|
||||||
{
|
{
|
||||||
Beefy::String str = ":TestWrite\t";
|
Beefy::String str = ":TestWrite\t";
|
||||||
str += strPtr;
|
str += strPtr;
|
||||||
for (char& c : str)
|
str.Replace('\n', '\r');
|
||||||
{
|
|
||||||
if (c == '\n')
|
|
||||||
c = '\r';
|
|
||||||
}
|
|
||||||
|
|
||||||
str += "\n";
|
str += "\n";
|
||||||
TestString(str);
|
TestString(str);
|
||||||
}
|
}
|
||||||
|
|
|
@ -690,6 +690,16 @@ void StringImpl::ReplaceLargerHelper(const StringView& find, const StringView& r
|
||||||
mLength = (int_strsize)destLength;
|
mLength = (int_strsize)destLength;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void StringImpl::Replace(char find, char replace)
|
||||||
|
{
|
||||||
|
auto ptr = GetMutablePtr();
|
||||||
|
for (int i = 0; i < mLength; i++)
|
||||||
|
{
|
||||||
|
if (ptr[i] == find)
|
||||||
|
ptr[i] = replace;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void StringImpl::Replace(const StringView& find, const StringView & replace)
|
void StringImpl::Replace(const StringView& find, const StringView & replace)
|
||||||
{
|
{
|
||||||
if (replace.mLength > find.mLength)
|
if (replace.mLength > find.mLength)
|
||||||
|
|
|
@ -1015,6 +1015,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReplaceLargerHelper(const StringView& find, const StringView& replace);
|
void ReplaceLargerHelper(const StringView& find, const StringView& replace);
|
||||||
|
void Replace(char find, char replace);
|
||||||
void Replace(const StringView& find, const StringView& replace);
|
void Replace(const StringView& find, const StringView& replace);
|
||||||
void TrimEnd();
|
void TrimEnd();
|
||||||
void TrimStart();
|
void TrimStart();
|
||||||
|
|
|
@ -301,7 +301,7 @@ namespace IDE
|
||||||
testEntry.mExecuted = true;
|
testEntry.mExecuted = true;
|
||||||
|
|
||||||
String clientCmd = scope $":TestRun\t{testInstance.mCurTestIdx}";
|
String clientCmd = scope $":TestRun\t{testInstance.mCurTestIdx}";
|
||||||
if ((gApp.mTestBreakOnFailure) && (mDebug))
|
if ((gApp.mTestBreakOnFailure) && (mDebug) && (!testEntry.mShouldFail))
|
||||||
clientCmd.Append("\tFailBreak");
|
clientCmd.Append("\tFailBreak");
|
||||||
clientCmd.Append("\n");
|
clientCmd.Append("\n");
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue