|Krista 'DarthMama' Bennett 0b1437eb7f||3 years ago|
|convenience_scripts||3 years ago|
|python_tests||4 years ago|
|src||3 years ago|
|test_files||3 years ago|
|test_keys||3 years ago|
|test_mails||3 years ago|
|tmp||3 years ago|
|Makefile||3 years ago|
|README.md||3 years ago|
|RUN_ONCE_AS_SUDO_FOR_TESTS.sh||4 years ago|
|gen_test_skel.py||3 years ago|
|gtest_firstpass.py||3 years ago|
|pEpEngineTest.vcxproj||8 years ago|
Work in progress... Currently have the debian build/run instructions in.
Right now, the engine tests only function on *nix-like systems (including MacOS).
(Conversion to Windows will require, at the very least, looking at some of the file-handling code. If you want to fix this, start by looking in Engine.cc in the test/src directory!)
In addition to the engine requirements, you will need:
git(for getting the
gtest-parallelrepository, unless you grab the tarball from somewhere)
The Engine test suite now requires (at least) two additional pieces to run:
How this proceeds depends on your platform and whether or not you use a packaged distribution.
These instructions do this with
cmake. If you can manage it with
instead, more power to you ;)
This is the currently preferred way to do this, because everyone was doing it anyway and who am I to judge?
Thanks to Erik Smistad for this starting point (condensed from Getting Started with Google Test On Ubuntu):
Install the packages
libgtest-dev from the repository. This
will install the gtest source files to
/usr/src/gtest. You'll still need to
compile the code and link the library files to be able to use them.
Compile the source files:
cd /usr/src/gtest sudo cmake CMakeLists.txt sudo make
/usr/lib, hence the
sudo, but as long as it's in your library path, it shouldn't matter where you stick it):
sudo cp *.a /usr/lib
I am totally guessing for now - this is a placeholder - that
macports gtest install will do the same. Will need to find the directories this
goes in. Guessing
For now, don't.
Or do, and document it for me.
If you were using the git repo and it was working before, please follow the
instructions above for Debian/Ubuntu, only with your source repository in mind
/usr/src, and pay attention to the variables you'll need to set in
local.conf for the Makefile - they are different from before.
It should work, but I haven't tested it yet.
Pick a source directory and put your
gtest-parallel source there
git clone https://github.com/google/gtest-parallel.git).
We'll deal more with this when preparing to compile the test suite.
local.conf in the top-level engine directory is where we stick all of the
Makefile overrides. The test Makefile contains some defaults for relevant
variables here, but if you need to override them, please either create or modify
local.conf in the top-level engine directory as needed. The relevant variables
GTEST_SRC_DIR: This is the directory where the gtest source you compiled above is located (defaults to
GTEST_INC_DIR: This is where the include files for gtest are located (defaults to
GTEST_PL: This is the full path to the python file for
gtest_parallel(default presumes you cloned it under
srcin your home directory, i.e. it is
Presuming the above works, then from the top test directory, simply run make.
Do one of:
python3 <path to gtest-parallel.py> ./EngineTests
Note that for some test suites, this will, if something goes dreadfully wrong, mean that one test's failure may pollute another test. This generally means you have found a dastardly bug in the engine, but it can also be a test issue.
For example, for
lldb ./EngineTests -- --gtest_filter=TestSuiteName*
gdb --args ./EngineTests --gtest_filter=TestSuiteName*
For example, for
lldb ./EngineTests -- --gtest_filter=TestSuiteName.test_function_name
gdb --args ./EngineTests --gtest_filter=TestSuiteName.test_function_name
Script next on the agenda...