From 45776a651c194b187321e3e753cefbdcf31be3d8 Mon Sep 17 00:00:00 2001 From: danimartin82 Date: Fri, 27 Mar 2020 13:30:36 +0100 Subject: [PATCH] [gtest] First commit of gtest, and first UT for SaveStorageValue() function * Include README.md with some basic information about preparing the setup * UT for SaveStorageValue() function --- gtest/README.md | 66 ++++++++++++++ gtest/core_ut.cpp | 81 ++++++++++++++++++ .../configure_and_generate_with_cmake.png | Bin 0 -> 33876 bytes gtest/docs/example_execution_gtest.png | Bin 0 -> 80440 bytes gtest/raylib_compile_gtest.bat | 40 +++++++++ 5 files changed, 187 insertions(+) create mode 100644 gtest/README.md create mode 100644 gtest/core_ut.cpp create mode 100644 gtest/docs/configure_and_generate_with_cmake.png create mode 100644 gtest/docs/example_execution_gtest.png create mode 100644 gtest/raylib_compile_gtest.bat diff --git a/gtest/README.md b/gtest/README.md new file mode 100644 index 000000000..59a665744 --- /dev/null +++ b/gtest/README.md @@ -0,0 +1,66 @@ +## Unit test for raylib using Google Test + +We are going to use the Open source Tool Google Test for generating and launching Unit Tests. Please consider reading some information before start: + +* https://en.wikipedia.org/wiki/Unit_testing +* https://github.com/google/googletest +* https://github.com/google/googletest/blob/master/googletest/docs/primer.md + + + +## Steps for preparing the Google Test environment for Raylib + +1) Intall **MinGW** if it's not already installed. + +2) Install **Cmake** from: https://cmake.org/download/ + +3) Clone **Google Test** repository https://github.com/google/googletest + +The expected download directory for google test is: + + `C:\GitHub\googletest` +If a different one is choosen, please update the path in the bat file. + +4) Create a directory for the build: + + `C:\GitHub\googletest\mybuild` + +5) Configure and generate with CMake, as describe in image + + ![Cmake configuration](docs\configure_and_generate_with_cmake.png "Cmake configuration") + +6) Compile google test, using **make**: + `C:\GitHub\googletest\mybuild>mingw32-make` + + + + +## Compile and run unit test ## + +The raylib library contains a folder called gtest with the implemented Unit Test, and a batch file for its compilation and execution. + +**IMPORTANT**: +* The batch file contains the absolute paths to the Google test static library compiled in the previous steps. If the paths are different, please update them. + +* As we are going to test **raylib** and its included in the compilation via `-lraylib` sure that MINGGW contains your last compilation of raylib, so you are testing the latest changes in raylib. Copy libraylib.a from `raylib\src` to `C:\MinGW\i686-w64-mingw32\lib` + +* The compilation of the Unit Test has not the option `-mwindows` so al the **TRACELOG** from raylib will be seen on the console. + +For compiling and test execution run the bach file for one unit test file: + +`C:\GitHub\raylib\gtest>raylib_compile_gtest.bat core_ut.cpp` + + +The result shall looks something like this: + + ![Example execution gtest](docs\example_execution_gtest.png "Example execution gtest") + + + + + + + + + + diff --git a/gtest/core_ut.cpp b/gtest/core_ut.cpp new file mode 100644 index 000000000..9213bbfd2 --- /dev/null +++ b/gtest/core_ut.cpp @@ -0,0 +1,81 @@ +#include "gtest/gtest.h" +#include "raylib.h" + +// We expect storing and loading OK in position 0 +TEST(SaveStorageValue, test_basic_save_load) { + int in=19; + int out=0; + int position=0; + + SaveStorageValue(position,in); + out=LoadStorageValue(position); + + EXPECT_EQ (in,out); + +} + + +// We expect to create file storage.data and save/load OK +TEST(SaveStorageValue, create_storage_data_file) { + int in=19; + int out=0; + int position=0; + + system("del storage.data"); + SaveStorageValue(position,in); + out=LoadStorageValue(position); + EXPECT_EQ (in,out); +} + + +// We expect to create and increase the size of the file storage.data save/load OK +TEST(SaveStorageValue, increase_storage_data_file) { + int in=19; + int out=0; + int position=0; + + system("del storage.data"); + SaveStorageValue(position,in); + out=LoadStorageValue(position); + EXPECT_EQ (in,out); + + position=23; + SaveStorageValue(position,in); + out=LoadStorageValue(position); + EXPECT_EQ (in,out); + +} + + + // We expect failure in SaveStorageValue, and so save is not performed. Load gives different data than save +TEST(SaveStorageValue, test_negative_position) { + int in=19; + int out=0; + int position=-1; + SaveStorageValue(position,in); + out=LoadStorageValue(position); + + EXPECT_NE (in,out); + +} + + + + // We expect a failure in SaveStorageValue, and so save is not performed. Load gives different data than save +TEST(SaveStorageValue, fail_realloc_in_SaveStorageValue) { + int in=19; + int out=0; + int position=INT_MAX; + + SaveStorageValue(position,in); + out=LoadStorageValue(position); + + EXPECT_NE (in,out); + +} + + +int main(int argc, char **argv) { + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} \ No newline at end of file diff --git a/gtest/docs/configure_and_generate_with_cmake.png b/gtest/docs/configure_and_generate_with_cmake.png new file mode 100644 index 0000000000000000000000000000000000000000..0b439c96478cc4f16c542e0276b34af2b358292e GIT binary patch literal 33876 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 YfjXIXUjBV|$T@NI$kl85?|1J10Du7?J^%m! literal 0 HcmV?d00001 diff --git a/gtest/docs/example_execution_gtest.png b/gtest/docs/example_execution_gtest.png new file mode 100644 index 0000000000000000000000000000000000000000..25b2aa64937890fdd0e923100cc2dc26ad93337a GIT binary patch literal 80440 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 Svd#g2l;qT9OJttC`F{Xs!?>3K literal 0 HcmV?d00001 diff --git a/gtest/raylib_compile_gtest.bat b/gtest/raylib_compile_gtest.bat new file mode 100644 index 000000000..aebd9e73c --- /dev/null +++ b/gtest/raylib_compile_gtest.bat @@ -0,0 +1,40 @@ +::@echo off +:: . +:: Compile your test using : raylib_compile_gtest.bat core_ut.cpp +:: . +:: > Setup required Environment +:: ------------------------------------- +set GTEST_INCLUDE_DIR=C:\GitHub\googletest\googletest\include\ +set GTEST_LIB=C:\GitHub\googletest\mybuild\lib\libgtest.a +set GTEST_LIB_MAIN=C:\GitHub\googletest\mybuild\lib\libgtest_main.a + +:: Get full filename path for input file %1 +set FILENAME=%~f1 +set NAMEPART=%FILENAME:~0,-4% +cd %~dp0 +:: . +:: > Cleaning latest build +:: --------------------------- +cmd /c if exist %NAMEPART%.exe del /F %NAMEPART%.exe + +:: > Compiling program +:: -------------------------- + +g++ -c %NAMEPART%.cpp -I%GTEST_INCLUDE_DIR% + +:: . +:: > Linking program +:: -------------------------- +:: -s : Remove all symbol table and relocation information from the executable +:: -O2 : Optimization Level 2, this option increases both compilation time and the performance of the generated code +:: -std=c99 : Use C99 language standard +:: -Wall : Enable all compilation Warnings + +g++ -pthread -o %NAMEPART%.exe %NAMEPART%.o %GTEST_LIB% %GTEST_LIB_MAIN% -lraylib -lopengl32 -lgdi32 -lwinmm -std=c99 -Wall +:: . +:: > Executing program +:: ------------------------- +cmd /c if exist %NAMEPART%.exe %NAMEPART%.exe + + +