From 96fdd72d45221c03d9369c1edcddc83f27656fd4 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sun, 26 Feb 2017 23:03:24 +0100 Subject: [PATCH] Gen: Moved tests to a separate folder, unified shared sources. --- tests/CMakeLists.txt | 3 +- .../{LoadablePieces => Generating}/Bindings.h | 0 .../CMakeLists.txt | 33 +- .../LoadablePieces.cpp | 0 .../LuaState_Declaration.inc | 0 .../LuaState_Typedefs.inc | 0 .../PieceRotationTest.cpp | 0 .../{LoadablePieces => Generating}/Stubs.cpp | 0 .../Test.cubeset | 0 .../Test1.schematic | Bin tests/PieceRotation/Bindings.h | 15 - tests/PieceRotation/LuaState_Declaration.inc | 4 - tests/PieceRotation/LuaState_Typedefs.inc | 19 -- tests/PieceRotation/Stubs.cpp | 290 ------------------ 14 files changed, 27 insertions(+), 337 deletions(-) rename tests/{LoadablePieces => Generating}/Bindings.h (100%) rename tests/{PieceRotation => Generating}/CMakeLists.txt (79%) rename tests/{LoadablePieces => Generating}/LoadablePieces.cpp (100%) rename tests/{LoadablePieces => Generating}/LuaState_Declaration.inc (100%) rename tests/{LoadablePieces => Generating}/LuaState_Typedefs.inc (100%) rename tests/{PieceRotation => Generating}/PieceRotationTest.cpp (100%) rename tests/{LoadablePieces => Generating}/Stubs.cpp (100%) rename tests/{LoadablePieces => Generating}/Test.cubeset (100%) rename tests/{LoadablePieces => Generating}/Test1.schematic (100%) delete mode 100644 tests/PieceRotation/Bindings.h delete mode 100644 tests/PieceRotation/LuaState_Declaration.inc delete mode 100644 tests/PieceRotation/LuaState_Typedefs.inc delete mode 100644 tests/PieceRotation/Stubs.cpp diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 4b6e64a23..59a62e1bb 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -9,10 +9,9 @@ add_subdirectory(ByteBuffer) add_subdirectory(ChunkData) add_subdirectory(CompositeChat) add_subdirectory(FastRandom) +add_subdirectory(Generating) add_subdirectory(HTTP) -add_subdirectory(LoadablePieces) add_subdirectory(LuaThreadStress) add_subdirectory(Network) add_subdirectory(OSSupport) -add_subdirectory(PieceRotation) add_subdirectory(SchematicFileSerializer) diff --git a/tests/LoadablePieces/Bindings.h b/tests/Generating/Bindings.h similarity index 100% rename from tests/LoadablePieces/Bindings.h rename to tests/Generating/Bindings.h diff --git a/tests/PieceRotation/CMakeLists.txt b/tests/Generating/CMakeLists.txt similarity index 79% rename from tests/PieceRotation/CMakeLists.txt rename to tests/Generating/CMakeLists.txt index bb1b37a53..4efb9dbe2 100644 --- a/tests/PieceRotation/CMakeLists.txt +++ b/tests/Generating/CMakeLists.txt @@ -65,8 +65,7 @@ set (SHARED_HDRS ${CMAKE_SOURCE_DIR}/src/WorldStorage/SchematicFileSerializer.h ) -set (SRCS - PieceRotationTest.cpp +set (STUBS Stubs.cpp LuaState_Typedefs.inc LuaState_Declaration.inc @@ -86,17 +85,37 @@ if (MSVC) list (APPEND SHARED_HDRS ${CMAKE_SOURCE_DIR}/src/LeakFinder.h ${CMAKE_SOURCE_DIR}/src/StackWalker.h) endif() -source_group("Shared" FILES ${SHARED_SRCS} ${SHARED_HDRS}) -source_group("Sources" FILES ${SRCS}) -add_executable(PieceRotation ${SRCS} ${SHARED_SRCS} ${SHARED_HDRS}) -target_link_libraries(PieceRotation tolualib zlib) +add_library(GeneratorTestingSupport STATIC ${SHARED_SRCS} ${SHARED_HDRS} ${STUBS}) +target_link_libraries(GeneratorTestingSupport tolualib zlib) +source_group("Stubs" FILES ${STUBS}) + + + + + +# LoadablePieces test: +source_group("Data files" FILES Test.cubeset Test1.schematic) +add_executable(LoadablePieces LoadablePieces.cpp Test.cubeset Test1.schematic) +target_link_libraries(LoadablePieces GeneratorTestingSupport) +add_test(NAME LoadablePieces-test WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND LoadablePieces) + + + + + +# PieceRotation test: +add_executable(PieceRotation PieceRotationTest.cpp) +target_link_libraries(PieceRotation GeneratorTestingSupport) add_test(NAME PieceRotation-test WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND PieceRotation) + # Put the projects into solution folders (MSVC): set_target_properties( + GeneratorTestingSupport + LoadablePieces PieceRotation - PROPERTIES FOLDER Tests + PROPERTIES FOLDER Tests/Generating ) diff --git a/tests/LoadablePieces/LoadablePieces.cpp b/tests/Generating/LoadablePieces.cpp similarity index 100% rename from tests/LoadablePieces/LoadablePieces.cpp rename to tests/Generating/LoadablePieces.cpp diff --git a/tests/LoadablePieces/LuaState_Declaration.inc b/tests/Generating/LuaState_Declaration.inc similarity index 100% rename from tests/LoadablePieces/LuaState_Declaration.inc rename to tests/Generating/LuaState_Declaration.inc diff --git a/tests/LoadablePieces/LuaState_Typedefs.inc b/tests/Generating/LuaState_Typedefs.inc similarity index 100% rename from tests/LoadablePieces/LuaState_Typedefs.inc rename to tests/Generating/LuaState_Typedefs.inc diff --git a/tests/PieceRotation/PieceRotationTest.cpp b/tests/Generating/PieceRotationTest.cpp similarity index 100% rename from tests/PieceRotation/PieceRotationTest.cpp rename to tests/Generating/PieceRotationTest.cpp diff --git a/tests/LoadablePieces/Stubs.cpp b/tests/Generating/Stubs.cpp similarity index 100% rename from tests/LoadablePieces/Stubs.cpp rename to tests/Generating/Stubs.cpp diff --git a/tests/LoadablePieces/Test.cubeset b/tests/Generating/Test.cubeset similarity index 100% rename from tests/LoadablePieces/Test.cubeset rename to tests/Generating/Test.cubeset diff --git a/tests/LoadablePieces/Test1.schematic b/tests/Generating/Test1.schematic similarity index 100% rename from tests/LoadablePieces/Test1.schematic rename to tests/Generating/Test1.schematic diff --git a/tests/PieceRotation/Bindings.h b/tests/PieceRotation/Bindings.h deleted file mode 100644 index 490830ac3..000000000 --- a/tests/PieceRotation/Bindings.h +++ /dev/null @@ -1,15 +0,0 @@ - -// Bindings.h - -// Dummy include file needed for LuaState to compile successfully - - - - -struct lua_State; - -int tolua_AllToLua_open(lua_State * a_LuaState); - - - - diff --git a/tests/PieceRotation/LuaState_Declaration.inc b/tests/PieceRotation/LuaState_Declaration.inc deleted file mode 100644 index 4019b26c6..000000000 --- a/tests/PieceRotation/LuaState_Declaration.inc +++ /dev/null @@ -1,4 +0,0 @@ - -// LuaState_Declaration.inc - -// Dummy include file needed for LuaState to compile successfully diff --git a/tests/PieceRotation/LuaState_Typedefs.inc b/tests/PieceRotation/LuaState_Typedefs.inc deleted file mode 100644 index 5eba7c6f8..000000000 --- a/tests/PieceRotation/LuaState_Typedefs.inc +++ /dev/null @@ -1,19 +0,0 @@ - -// LuaState_Typedefs.inc - -// Dummy include file needed for LuaState to compile successfully - - - - - -// Forward-declare classes that are used in the API but never called: -struct HTTPRequest; -struct HTTPTemplateRequest; -class cPluginLua; -class cBoundingBox; -template class cItemCallback; -class cEntity; - - - diff --git a/tests/PieceRotation/Stubs.cpp b/tests/PieceRotation/Stubs.cpp deleted file mode 100644 index 0ad3eb365..000000000 --- a/tests/PieceRotation/Stubs.cpp +++ /dev/null @@ -1,290 +0,0 @@ - -// Stubs.cpp - -// Implements stubs of various Cuberite methods that are needed for linking but not for runtime -// This is required so that we don't bring in the entire Cuberite via dependencies - -#include "Globals.h" -#include "BlockInfo.h" -#include "Bindings.h" -#include "Bindings/DeprecatedBindings.h" -#include "Bindings/LuaJson.h" -#include "Bindings/ManualBindings.h" -#include "BlockEntities/BlockEntity.h" -#include "Blocks/BlockHandler.h" -#include "Generating/ChunkDesc.h" -#include "DeadlockDetect.h" - - - - - -// fwd: -struct lua_State; - - - - - -// Prototypes, needed by clang: -extern "C" int luaopen_lsqlite3(lua_State * a_LuaState); -extern "C" int luaopen_lxp(lua_State * a_LuaState); - - - - - -void cManualBindings::Bind(lua_State * a_LuaState) -{ -} - - - - - -void DeprecatedBindings::Bind(lua_State * a_LuaState) -{ -} - - - - - -void cLuaJson::Bind(cLuaState & a_LuaState) -{ -} - - - - - -int tolua_AllToLua_open(lua_State * a_LuaState) -{ - return 0; -} - - - - - -extern "C" int luaopen_lsqlite3(lua_State * a_LuaState) -{ - return 0; -} - - - - - -extern "C" int luaopen_lxp(lua_State * a_LuaState) -{ - return 0; -} - - - - - -cBlockInfo::~cBlockInfo() -{ -} - - - - - -void cBlockInfo::Initialize(cBlockInfo::cBlockInfoArray & a_BlockInfos) -{ - // The piece-loading code uses the handlers for rotations, so we need valid handlers - // Insert dummy handlers: - for (size_t i = 0; i < ARRAYCOUNT(a_BlockInfos); i++) - { - a_BlockInfos[i].m_Handler = new cBlockHandler(static_cast(i)); - } -} - - - - - -cBlockHandler::cBlockHandler(BLOCKTYPE a_BlockType) -{ -} - - - - - -bool cBlockHandler::GetPlacementBlockTypeMeta( - cChunkInterface & a_ChunkInterface, cPlayer * a_Player, - int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, - int a_CursorX, int a_CursorY, int a_CursorZ, - BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta -) -{ - return true; -} - - - - - -void cBlockHandler::OnUpdate(cChunkInterface & cChunkInterface, cWorldInterface & a_WorldInterface, cBlockPluginInterface & a_PluginInterface, cChunk & a_Chunk, int a_BlockX, int a_BlockY, int a_BlockZ) -{ -} - - - - - -void cBlockHandler::OnPlacedByPlayer(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, const sSetBlock & a_BlockChange) -{ -} - - - - - -void cBlockHandler::OnDestroyedByPlayer(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ) -{ -} - - - - - -void cBlockHandler::OnPlaced(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) -{ -} - - - - - -void cBlockHandler::OnDestroyed(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, int a_BlockX, int a_BlockY, int a_BlockZ) -{ -} - - - - - -void cBlockHandler::NeighborChanged(cChunkInterface & a_ChunkInterface, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_WhichNeighbor) -{ -} - - - - - -void cBlockHandler::ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) -{ -} - - - - - -void cBlockHandler::DropBlock(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cBlockPluginInterface & a_BlockPluginInterface, cEntity * a_Digger, int a_BlockX, int a_BlockY, int a_BlockZ, bool a_CanDrop) -{ -} - - - - - -bool cBlockHandler::CanBeAt(cChunkInterface & a_ChunkInterface, int a_BlockX, int a_BlockY, int a_BlockZ, const cChunk & a_Chunk) -{ - return true; -} - - - - - -bool cBlockHandler::IsUseable() -{ - return false; -} - - - - - -bool cBlockHandler::IsClickedThrough(void) -{ - return false; -} - - - - - -bool cBlockHandler::DoesIgnoreBuildCollision(void) -{ - return (m_BlockType == E_BLOCK_AIR); -} - - - - - -bool cBlockHandler::DoesDropOnUnsuitable(void) -{ - return true; -} - - - - - -void cBlockHandler::Check(cChunkInterface & a_ChunkInterface, cBlockPluginInterface & a_PluginInterface, int a_RelX, int a_RelY, int a_RelZ, cChunk & a_Chunk) -{ -} - - - - - -ColourID cBlockHandler::GetMapBaseColourID(NIBBLETYPE a_Meta) -{ - return 0; -} - - - - - -bool cBlockHandler::IsInsideBlock(const Vector3d & a_Position, const BLOCKTYPE a_BlockType, const NIBBLETYPE a_BlockMeta) -{ - return true; -} - - - - - -cBlockEntity * cBlockEntity::CreateByBlockType(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World) -{ - return nullptr; -} - - - - - -void cDeadlockDetect::TrackCriticalSection(cCriticalSection & a_CS, const AString & a_Name) -{ -} - - - - - -void cDeadlockDetect::UntrackCriticalSection(cCriticalSection & a_CS) -{ -} - - - -