forked from Mirrors/openclonk
Add test for 57a35bf
fix
So it turns out that the fix stops the engine from crashing, but it still doesn't seem to generate valid code - Aul emits an internal error at runtime.qteditor
parent
d51a8cfa6d
commit
49a98e54a5
|
@ -120,6 +120,7 @@ if (GTEST_FOUND AND GMOCK_FOUND)
|
|||
aul/AulTest.h
|
||||
aul/AulMathTest.cpp
|
||||
aul/AulPredefinedFunctionTest.cpp
|
||||
aul/AulDeathTest.cpp
|
||||
../src/script/C4ScriptStandaloneStubs.cpp
|
||||
../src/script/C4ScriptStandalone.cpp
|
||||
LIBRARIES
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* OpenClonk, http://www.openclonk.org
|
||||
*
|
||||
* Copyright (c) 2016, The OpenClonk Team and contributors
|
||||
*
|
||||
* Distributed under the terms of the ISC license; see accompanying file
|
||||
* "COPYING" for details.
|
||||
*
|
||||
* "Clonk" is a registered trademark of Matthes Bender, used with permission.
|
||||
* See accompanying file "TRADEMARK" for details.
|
||||
*
|
||||
* To redistribute this file separately, substitute the full license texts
|
||||
* for the above references.
|
||||
*/
|
||||
|
||||
// Testing C4Aul behaviour.
|
||||
|
||||
#include "C4Include.h"
|
||||
#include "AulTest.h"
|
||||
|
||||
#include <cstdlib>
|
||||
#include "script/C4Aul.h"
|
||||
|
||||
class AulDeathTest : public AulTest
|
||||
{};
|
||||
|
||||
// DEATH_SUCCESS_CODE is arbitrarily chosen such that it's unlikely to be
|
||||
// returned by failing code.
|
||||
#define DEATH_SUCCESS_CODE 86
|
||||
#define EXPECT_NO_DEATH(code) EXPECT_EXIT({code; std::quick_exit(DEATH_SUCCESS_CODE);}, ::testing::ExitedWithCode(DEATH_SUCCESS_CODE), "")
|
||||
|
||||
TEST_F(AulDeathTest, NestedFunctions)
|
||||
{
|
||||
// Ensures the engine does not crash when a function is declared
|
||||
// inside a proplist inside a function.
|
||||
EXPECT_NO_DEATH(RunCode("local a = {b = func () {} };"));
|
||||
}
|
Loading…
Reference in New Issue