From dc2493e7525bb7633f697ef10f72b72b46222249 Mon Sep 17 00:00:00 2001 From: Andy Belle-Isle Date: Fri, 30 Aug 2019 00:45:36 -0400 Subject: Forget what I said, I just need to change git attributes to mark for vendor --- deps/sol2/tests/runtime_tests/source/dump.cpp | 121 -------------------------- 1 file changed, 121 deletions(-) delete mode 100644 deps/sol2/tests/runtime_tests/source/dump.cpp (limited to 'deps/sol2/tests/runtime_tests/source/dump.cpp') diff --git a/deps/sol2/tests/runtime_tests/source/dump.cpp b/deps/sol2/tests/runtime_tests/source/dump.cpp deleted file mode 100644 index 72b1e66..0000000 --- a/deps/sol2/tests/runtime_tests/source/dump.cpp +++ /dev/null @@ -1,121 +0,0 @@ -// sol3 - -// The MIT License (MIT) - -// Copyright (c) 2013-2019 Rapptz, ThePhD and contributors - -// Permission is hereby granted, free of charge, to any person obtaining a copy of -// this software and associated documentation files (the "Software"), to deal in -// the Software without restriction, including without limitation the rights to -// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -// the Software, and to permit persons to whom the Software is furnished to do so, -// subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -#include "sol_test.hpp" - -#include - -#include -#include -#include - -int dump_always_fail_number = -32; - -int dump_always_fail(lua_State*, const void*, size_t, void*) { - return dump_always_fail_number; -} - -TEST_CASE("dump/dump transfer", "test that a function can be transferred from one place to another") { - SECTION("safe") { - sol::state lua; - sol::state lua2; - lua2.open_libraries(sol::lib::base); - - sol::load_result lr = lua.load("a = function (v) print(v) return v end"); - REQUIRE(lr.valid()); - sol::protected_function target = lr; - sol::bytecode target_bc = target.dump(); - - auto result2 = lua2.safe_script(target_bc.as_string_view(), sol::script_pass_on_error); - REQUIRE(result2.valid()); - sol::protected_function pf = lua2["a"]; - int v = pf(25557); - REQUIRE(v == 25557); - } - SECTION("unsafe") { - sol::state lua; - sol::state lua2; - lua2.open_libraries(sol::lib::base); - - sol::load_result lr = lua.load("a = function (v) print(v) return v end"); - REQUIRE(lr.valid()); - sol::unsafe_function target = lr; - sol::bytecode target_bc = target.dump(); - - auto result2 = lua2.safe_script(target_bc.as_string_view(), sol::script_pass_on_error); - REQUIRE(result2.valid()); - sol::unsafe_function pf = lua2["a"]; - int v = pf(25557); - REQUIRE(v == 25557); - } -} - -TEST_CASE("dump/failure", "test that failure is properly propagated") { - SECTION("safe") { - sol::state lua; - sol::load_result lr = lua.load("a = function (v) print(v) return v end"); - REQUIRE(lr.valid()); - sol::protected_function target = lr; - int err = target.dump(&dump_always_fail, nullptr, false, sol::dump_pass_on_error); - REQUIRE(err == dump_always_fail_number); - } - SECTION("unsafe") { - sol::state lua; - sol::load_result lr = lua.load("a = function (v) print(v) return v end"); - REQUIRE(lr.valid()); - sol::unsafe_function target = lr; - int err = target.dump(&dump_always_fail, nullptr, false, sol::dump_pass_on_error); - REQUIRE(err == dump_always_fail_number); - } -} - -TEST_CASE("dump/different containers", "test that dump inserter works for various kinds of containers") { - SECTION("safe") { - sol::state lua; - - sol::load_result lr = lua.load("a = function (v) print(v) return v end"); - REQUIRE(lr.valid()); - sol::protected_function target = lr; - sol::bytecode bytecode_dump = target.dump(); - std::list list_dump = target.dump>(); - std::vector vector_dump = target.dump>(); - std::deque deque_dump = target.dump>(); - REQUIRE(std::equal(bytecode_dump.cbegin(), bytecode_dump.cend(), vector_dump.cbegin(), vector_dump.cend())); - REQUIRE(std::equal(bytecode_dump.cbegin(), bytecode_dump.cend(), list_dump.cbegin(), list_dump.cend())); - REQUIRE(std::equal(bytecode_dump.cbegin(), bytecode_dump.cend(), deque_dump.cbegin(), deque_dump.cend())); - } - SECTION("unsafe") { - sol::state lua; - - sol::load_result lr = lua.load("a = function (v) print(v) return v end"); - REQUIRE(lr.valid()); - sol::unsafe_function target = lr; - sol::bytecode bytecode_dump = target.dump(); - std::list list_dump = target.dump>(); - std::vector vector_dump = target.dump>(); - std::deque deque_dump = target.dump>(); - REQUIRE(std::equal(bytecode_dump.cbegin(), bytecode_dump.cend(), vector_dump.cbegin(), vector_dump.cend())); - REQUIRE(std::equal(bytecode_dump.cbegin(), bytecode_dump.cend(), list_dump.cbegin(), list_dump.cend())); - REQUIRE(std::equal(bytecode_dump.cbegin(), bytecode_dump.cend(), deque_dump.cbegin(), deque_dump.cend())); - } -} -- cgit v1.2.3