summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/sol2/test_overflow.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2020-11-15 03:53:47 +1100
committer Vas Crabb <vas@vastheman.com>2020-11-15 03:53:47 +1100
commit55b8ca317ab1f77850f498c1523355e1f5dd8d03 (patch)
treebada7948236b18684609f47024cc9ca227a5ef89 /3rdparty/sol2/test_overflow.cpp
parent4db7f0439c3b841eb07d2320e39be38269e6cd56 (diff)
-Switch to building MAME as C++17.
* Updated sol2 to 3.2.2 * Updated pugixml to 1.10 * Increased minimum clang version to 6 * Cleaned up some stuff that can use new features
Diffstat (limited to '3rdparty/sol2/test_overflow.cpp')
-rw-r--r--3rdparty/sol2/test_overflow.cpp47
1 files changed, 0 insertions, 47 deletions
diff --git a/3rdparty/sol2/test_overflow.cpp b/3rdparty/sol2/test_overflow.cpp
deleted file mode 100644
index 68c11811a97..00000000000
--- a/3rdparty/sol2/test_overflow.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-#define SOL_CHECK_ARGUMENTS
-
-#include <catch.hpp>
-#include <sol.hpp>
-
-
-TEST_CASE("issues/stack-overflow", "make sure various operations repeated don't trigger stack overflow") {
- sol::state lua;
- lua.script("t = {};t[0]=20");
- lua.script("lua_function=function(i)return i;end");
-
- sol::function f = lua["lua_function"];
- std::string teststring = "testtext";
- REQUIRE_NOTHROW(
- for (int i = 0; i < 1000000; ++i) {
- std::string result = f(teststring);
- if (result != teststring) throw std::logic_error("RIP");
- }
- );
- sol::table t = lua["t"];
- int expected = 20;
- REQUIRE_NOTHROW(
- for (int i = 0; i < 1000000; ++i) {
- int result = t[0];
- t.size();
- if (result != expected)
- throw std::logic_error("RIP");
- }
- );
-}
-
-
-TEST_CASE("issues/stack-overflow-2", "make sure basic iterators clean up properly when they're not iterated through (e.g., with empty())") {
- sol::state lua;
- sol::table t = lua.create_table_with(1, "wut");
- int MAX = 50000;
- auto fx = [&]() {
- int a = 50;
- for (int i = 0; i < MAX; ++i) {
- if (t.empty()) {
- a += 4;
- }
- a += 2;
- }
- };
- REQUIRE_NOTHROW(fx());
-}