diff --git a/CMakeLists.txt b/CMakeLists.txt index ec1475ec..1c30f5db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,4 +26,5 @@ INCLUDE(Packaging.cmake) ENABLE_TESTING() INCLUDE(CTest) -SET (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE) + +ADD_SUBDIRECTORY(tests) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 00000000..a1c960e3 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,11 @@ +SET (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE) + +#FIND_PACKAGE(Qt4) +#SET(QT_USE_QTTEST TRUE) + +INCLUDE_DIRECTORIES("../library/PolyVoxCore/include") + +ADD_EXECUTABLE(checksize checksize.cpp) +TARGET_LINK_LIBRARIES(checksize PolyVoxCore) + +ADD_TEST(VolumeSizeTest ${EXECUTABLE_OUTPUT_PATH}/checksize) diff --git a/tests/checksize.cpp b/tests/checksize.cpp new file mode 100644 index 00000000..3a3f543b --- /dev/null +++ b/tests/checksize.cpp @@ -0,0 +1,54 @@ +/******************************************************************************* +Copyright (c) 2005-2009 David Williams +Copyright (c) 2010 Matt Williams + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +*******************************************************************************/ + +#include "Volume.h" + +#ifdef WIN32 +#include // Standard Header For Most Programs +#endif + +//Some namespaces we need +using namespace std; +using namespace PolyVox; + +int main(int argc, char *argv[]) +{ + const PolyVox::uint16_t g_uVolumeSideLength = 128; + Volume volData(g_uVolumeSideLength, g_uVolumeSideLength, g_uVolumeSideLength); + + cout << "Tidying memory..."; + volData.tidyUpMemory(0); + cout << "done." << endl; + + if(volData.getWidth() == g_uVolumeSideLength && volData.getHeight() == g_uVolumeSideLength && volData.getDepth() == g_uVolumeSideLength) + { + cout << "Success" << endl; + return EXIT_SUCCESS; + } + else + { + cout << "Failure" << endl; + return EXIT_FAILURE; + } +}