Makefile updated for debian/ubuntu and for symbol problems (tests updated and README updated as well). Currently untested on ANY other system. debian_default_test
authorKrista 'DarthMama' Bennett <krista@pep.foundation>
Thu, 14 Nov 2019 16:47:46 +0100
branchdebian_default_test
changeset 417014e0ece2e488
parent 4157 9a8f3dacfe07
child 4171 d42a2ed6f5fb
Makefile updated for debian/ubuntu and for symbol problems (tests updated and README updated as well). Currently untested on ANY other system.
test/Makefile
test/README.md
test/gen_test_skel.py
test/gtest_firstpass.py
test/src/AppleMailTest.cc
test/src/BCCTest.cc
test/src/BlacklistAcceptNewKeyTest.cc
test/src/BlacklistTest.cc
test/src/CaseAndDotAddressTest.cc
test/src/CheckRenewedExpiredKeyTrustStatusTest.cc
test/src/CrashdumpTest.cc
test/src/DecorateTest.cc
test/src/DecryptAttachPrivateKeyTrustedTest.cc
test/src/DecryptAttachPrivateKeyUntrustedTest.cc
test/src/DeleteKeyTest.cc
test/src/EncryptAttachPrivateKeyTest.cc
test/src/EncryptForIdentityTest.cc
test/src/EncryptMissingPrivateKeyTest.cc
test/src/Engine358Test.cc
test/src/Engine463Test.cc
test/src/EnterLeaveDeviceGroupTest.cc
test/src/ExpiredSubkeyTest.cc
test/src/ExportKeyTest.cc
test/src/ExternalRevokeTest.cc
test/src/GetKeyRatingForUserTest.cc
test/src/HeaderKeyImportTest.cc
test/src/I18nTest.cc
test/src/IOS1664Test.cc
test/src/KeyAttachmentTest.cc
test/src/KeyResetMessageTest.cc
test/src/KeyeditTest.cc
test/src/KeyringImportTest.cc
test/src/LeastColorGroupTest.cc
test/src/LeastCommonDenomColorTest.cc
test/src/LiteralFilenameTest.cc
test/src/LookupTest.cc
test/src/LotsOfKeysTest.cc
test/src/MapAsn1Test.cc
test/src/Message2_1Test.cc
test/src/MessageApiTest.cc
test/src/MessageNullFromTest.cc
test/src/MessageTwoPointOhTest.cc
test/src/MimeTest.cc
test/src/NoOwnIdentWritesOnDecryptTest.cc
test/src/OwnIdentitiesRetrieveTest.cc
test/src/OwnKeysRetrieveTest.cc
test/src/PepSubjectReceivedTest.cc
test/src/PgpBinaryTest.cc
test/src/PgpListKeysTest.cc
test/src/ReencryptPlusExtraKeysTest.cc
test/src/RevocationTest.cc
test/src/RevokeRegenAttachTest.cc
test/src/SenderFPRTest.cc
test/src/SequenceTest.cc
test/src/SignOnlyTest.cc
test/src/SimpleBodyNotAltTest.cc
test/src/SubkeyRatingEvalTest.cc
test/src/SyncTest.cc
test/src/ThreadSpamTest.cc
test/src/TrustManipulationTest.cc
test/src/TrustwordsTest.cc
test/src/URIAddressTest.cc
test/src/UpdateIdAndMyselfTest.cc
test/src/UserIDAliasTest.cc
test/src/UserIdCollisionTest.cc
test/src/VerifyTest.cc
test/src/test_util.cc
     1.1 --- a/test/Makefile	Mon Nov 11 17:34:57 2019 +0100
     1.2 +++ b/test/Makefile	Thu Nov 14 16:47:46 2019 +0100
     1.3 @@ -5,12 +5,12 @@
     1.4  
     1.5  HERE:=$(CURDIR)
     1.6  
     1.7 -# Presumably can be changed in local.conf by putting this here?
     1.8 -GTEST_DIR:=googletest/googletest
     1.9 -GTEST_PL_DIR:=googletest/gtest-parallel
    1.10 -GTEST_INC_DIR:=$(GTEST_DIR)/include
    1.11 +GTEST_SRC_DIR:=/usr/src/gtest
    1.12 +GTEST_INC_DIR:=$(GTEST_SRC_DIR)/include
    1.13 +GTEST_PL:=$(HOME)/src/gtest-parallel/gtest_parallel.py
    1.14  
    1.15 -include ../Makefile.conf
    1.16 +include ../Makefile.conf # This should import changed values for the above from
    1.17 +                         # local.conf
    1.18  
    1.19  SRCS:=$(wildcard src/*.cc) $(wildcard src/*/*.cc)
    1.20  OBJS:=$(addsuffix .o,$(basename $(SRCS)))
    1.21 @@ -18,7 +18,15 @@
    1.22  
    1.23  LDFLAGS+= -L../asn.1 -L../src $(ETPAN_LIB) $(CPPUNIT_LIB)
    1.24  
    1.25 -TARGET:=EngineTests 
    1.26 +TARGET:=EngineTests
    1.27 +
    1.28 +GTEST_SUITE_SYM:=test_suite_name
    1.29 +
    1.30 +ifeq ($(shell grep -c $(GTEST_SUITE_SYM) $(GTEST_SRC_DIR)/src/gtest.cc),0)
    1.31 +    GTEST_SUITE_SYM=test_case_name
    1.32 +endif
    1.33 +
    1.34 +CXXFLAGS+= -DGTEST_SUITE_SYM=$(GTEST_SUITE_SYM)
    1.35  
    1.36  ifeq ($(OPENPGP),GPG)
    1.37      LDFLAGS+= $(GPGME_LIB)
    1.38 @@ -99,22 +107,15 @@
    1.39  %.d: %.cc
    1.40  	$(CXX) -MM $(CPPFLAGS) $(CXXFLAGS) $< | sed -e 's,\($*\)\.o[ :]*,\1.o $@: ,g' > $@
    1.41  
    1.42 -$(TARGET): $(OBJS) gtest-all.o gtest_main.o
    1.43 -#	$(LINK.cc) $(OBJS) $(LOADLIBES) $(LDLIBS) -o $@
    1.44 -	${CXX} ${LDFLAGS} -L${PREFIX}/lib -o $@ $^ -lpEpEngine $(LDLIBS)
    1.45 +$(TARGET): $(OBJS)
    1.46 +	${CXX} ${LDFLAGS} -L${PREFIX}/lib -o $@ $^ -lpEpEngine -lgtest -lgtest_main -lsequoia_openpgp_ffi $(LDLIBS)
    1.47  
    1.48 -gtest-all.o: $(GTEST_DIR)/src/gtest-all.cc
    1.49 -	${CXX} ${CXXFLAGS} $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -isystem $(GTEST_DIR)/include -o $@ -c $<
    1.50 -
    1.51 -gtest_main.o: $(GTEST_DIR)/src/gtest_main.cc
    1.52 -	${CXX} ${CXXFLAGS} $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -isystem $(GTEST_DIR)/include -o $@ -c $<
    1.53  
    1.54  test: all
    1.55 -	$(TEST_CMD_PFX) $(TEST_DEBUGGER) python3 $(GTEST_PL_DIR)/gtest_parallel.py ./$(TARGET)
    1.56 -
    1.57 +	$(RM) -rf ./pEp_test_home/*
    1.58 +	$(TEST_CMD_PFX) $(TEST_DEBUGGER) python3 $(GTEST_PL) ./$(TARGET)
    1.59  clean:
    1.60  	$(RM) $(TARGET) $(TARGET).o $(TARGET).d $(OBJS) $(notdir $(basename $(OBJS))) $(DEPS)
    1.61 -	$(RM) gtest_main.o gtest-all.o
    1.62  	$(RM) -rf ./pEp_test_home/*
    1.63  # If only the goal 'clean' is given, do not generate and include the '%.d' files.¬
    1.64  ifneq ($(MAKECMDGOALS),clean)
     2.1 --- a/test/README.md	Mon Nov 11 17:34:57 2019 +0100
     2.2 +++ b/test/README.md	Thu Nov 14 16:47:46 2019 +0100
     2.3 @@ -1,62 +1,145 @@
     2.4 -# Building the Engine Test Suite
     2.5 +# Building and Running the Tests for the p≡p Engine
     2.6 +
     2.7 +Work in progress... Currently have the debian build/run instructions in.
     2.8  
     2.9  ## Caveat, before you begin
    2.10  
    2.11 -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!
    2.12 +Right now, the engine tests only function on \*nix-like systems (including
    2.13 +MacOS).
    2.14 +
    2.15 +*(Conversion to Windows will require, at the very least, looking at some of the
    2.16 +file-handling code. If you want to fix this, start by looking in Engine.cc
    2.17 +in the test/src directory!)*
    2.18  
    2.19  ## Requirements
    2.20  
    2.21  In addition to the engine requirements, you will need:
    2.22  
    2.23 -* cmake
    2.24 -* python3
    2.25 +  * `cmake` `python3` `git` (for getting the `gtest-parallel` repository, unless
    2.26 +  * you grab the tarball from somewhere)
    2.27  
    2.28 -## Preparing to build
    2.29 +## Building the prerequisites
    2.30  
    2.31 -The Engine test suite now requires (at least) two additional pieces to run - **googletest** and **gtest-parallel**. You will note that I give specific instructions about where to put these, because that is what I have tried and tested. That does NOT mean other things won’t work; I simply haven’t tried them. So without further ado…
    2.32 +The Engine test suite now requires (at least) two additional pieces to run:
    2.33 +  * `googletest`
    2.34 +  * `gtest-parallel`
    2.35  
    2.36 -### googletest
    2.37 +How this proceeds depends on your platform and whether or not you use a packaged
    2.38 +distribution.
    2.39  
    2.40 -**googletest** is an XUnit testing framework we are now using in place of cpptest. Unlike a lot of other testing frameworks, it’s recommended that you compile and link the test code directly within your project. These instructions do with with **cmake**. If you can manage it with **bazel** instead, more power to you ;)
    2.41 +These instructions do this with `cmake`. If you can manage it with `bazel`
    2.42 +instead, more power to you ;)
    2.43  
    2.44 -So. To get things started.
    2.45 +### Installing `googletest`
    2.46  
    2.47 -In the directory of your choice (default, if you don’t want to change **local.conf** - specifically **GTEST\_DIR** - is the test directory (this one, presumably)):
    2.48 +#### Packaged distributions
    2.49  
    2.50 -1. git clone https://github.com/google/googletest.git
    2.51 -2. cd googletest
    2.52 -3. cmake .
    2.53 -4. make
    2.54 +This is the currently preferred way to do this, because everyone was doing it
    2.55 +anyway and who am I to judge?
    2.56  
    2.57 -(Note that this hasn’t been tested in other directories, so I am presuming the Makefile works as is, but I could be wrong)
    2.58 +##### Debian and Ubuntu (and derivatives)
    2.59  
    2.60 -### gtest-parallel
    2.61 +Thanks to Erik Smistad for this starting point (condensed from [Getting Started
    2.62 +with Google Test On
    2.63 +Ubuntu](https://www.eriksmistad.no/getting-started-with-google-test-on-ubuntu/)):
    2.64  
    2.65 -### Again, in the directory of your choice (if you want to use the Makefile out of the box, you should, while still in the googletest directory, do the following):
    2.66 +  1. Install the packages `cmake` and `libgtest-dev` from the repository. This
    2.67 +  will install the gtest source files to `/usr/src/gtest`. You'll still need to
    2.68 +  compile the code and link the library files to be able to use them.
    2.69  
    2.70 -1. git clone https://github.com/google/gtest-parallel.git
    2.71 -2. If using a different directory, please change **GTEST\_PL\_DIR** to indicate where **gtest-parallel.py** is located.
    2.72 +  2. Compile the source files:
    2.73 +  ```
    2.74 +  cd /usr/src/gtest
    2.75 +  sudo cmake CMakeLists.txt
    2.76 +  sudo make
    2.77 +  ```
    2.78 +
    2.79 +  3. Copy/symlink the libraries to the library location of your choice (here,
    2.80 +  it's `/usr/lib`, hence the `sudo`, but as long as it's in your library path,
    2.81 +  it shouldn't matter where you stick it):
    2.82 +  ```
    2.83 +  sudo cp *.a /usr/lib
    2.84 +  ```
    2.85 +
    2.86 +##### MacOS
    2.87 +
    2.88 +I am totally guessing for now - this is a placeholder - that
    2.89 +macports gtest install will do the same. Will need to find the directories this
    2.90 +goes in. Guessing `/opt/local/src`.
    2.91 +
    2.92 +#### Downloading and compiling the source yourself
    2.93 +
    2.94 +For now, don't.
    2.95 +
    2.96 +Or do, and document it for me.
    2.97 +
    2.98 +If you were using the git repo and it was working before, please follow the
    2.99 +instructions above for Debian/Ubuntu, only with your source repository in mind
   2.100 +instead of `/usr/src`, and pay attention to the variables you'll need to set in
   2.101 +`local.conf` for the Makefile - they are different from before.
   2.102 +It should work, but I haven't tested it yet.
   2.103 +
   2.104 +### Installing `gtest-parallel`
   2.105 +
   2.106 +Pick a source directory and put your `gtest-parallel` source there
   2.107 +(e.g. via `git clone https://github.com/google/gtest-parallel.git`).
   2.108 +
   2.109 +We'll deal more with this when preparing to compile the test suite.
   2.110  
   2.111  ## Building the test suite
   2.112  
   2.113 +### `Makefile` and `local.conf`
   2.114 +
   2.115 +So `local.conf` in the top-level engine directory is where we stick all of the
   2.116 +Makefile overrides. The test Makefile contains some defaults for relevant
   2.117 +variables here, but if you need to override them, please either create or modify
   2.118 +`local.conf` in the top-level engine directory as needed. The relevant variables
   2.119 +are:
   2.120 +
   2.121 +  * `GTEST_SRC_DIR`: This is the directory where the gtest source you compiled
   2.122 +  above is located (defaults to `/usr/src/gtest`)
   2.123 +  * `GTEST_INC_DIR`: This is where the include files for gtest are located
   2.124 +  (defaults to `$(GTEST_SRC_DIR)/include`)
   2.125 +  * `GTEST_PL`: This is the full path to the *python file* for `gtest_parallel`
   2.126 +  (default presumes you cloned it under `src` in your home directory, i.e. it is
   2.127 +  `$(HOME)/src/gtest-parallel/gtest_parallel.py`)
   2.128 +
   2.129 +### Building
   2.130 +
   2.131  Presuming the above works, then from the top test directory, simply run make.
   2.132  
   2.133 -# Running the Engine Test Suite
   2.134 +## Running the test suite
   2.135  
   2.136 -## To simply run the test suite and see what tests fail...
   2.137 +### To simply run the test suite and see what tests fail...
   2.138  
   2.139  Do one of:
   2.140  
   2.141 -1. make test OR
   2.142 -2. python3 \<path to gtest-parallel.py\> ./EngineTests
   2.143 +  1. `make test` OR
   2.144 +  2. `python3 <path to gtest-parallel.py> ./EngineTests`
   2.145  
   2.146 -## To run individual test suites, especially for debugging purposes
   2.147 +### To run individual test suites, especially for debugging purposes
   2.148  
   2.149 -1. To run sequentially, IN THE SAME PROCESS: ./EngineTests --gtest_filter=TestSuiteName* (for example, for DeleteKeyTest: ./EngineTests DeleteKeyTest*) 
   2.150 -2. To debug the same: lldb ./EngineTests -- --gtest_filter=TestSuiteName*
   2.151 -3. To run sequentially IN DIFFERENT PROCESSES: (FIXME - is this really the case?) 
   2.152 +Note that for some test suites, this will, if something goes dreadfully wrong,
   2.153 +mean that one test's failure may pollute another test. This generally means you
   2.154 +have found a dastardly bug in the engine, but it can also be a test issue.
   2.155 +
   2.156 +*Caveat lector*.
   2.157 +
   2.158 +  1. To run sequentially, *in the same process*: `./EngineTests
   2.159 +  --gtest_filter=TestSuiteName*` (for example, for `DeleteKeyTest`:
   2.160 +  `./EngineTests DeleteKeyTest*`)
   2.161 +  2. To debug the same with lldb: `lldb ./EngineTests -- --gtest_filter=TestSuiteName*`
   2.162 +  3. To debug with gdb: `gdb --args ./EngineTests --gtest_filter=TestSuiteName*`
   2.163 +
   2.164 +### To run and/or debug individual test cases   
   2.165 +  1. To run: `./EngineTests --gtest_filter=TestSuiteName.test_function_name`
   2.166 +  (for example, for `check_delete_single_pubkey` in `DeleteKeyTest`:
   2.167 +  `./EngineTests DeleteKeyTest.check_delete_single_pubkey`)
   2.168 +  2. To debug the same with lldb:
   2.169 +  `lldb ./EngineTests -- --gtest_filter=TestSuiteName.test_function_name`
   2.170 +  3. To debug with gdb:
   2.171 +  `gdb --args ./EngineTests --gtest_filter=TestSuiteName.test_function_name`
   2.172  
   2.173  # Creating new tests
   2.174  
   2.175  Script next on the agenda...
   2.176 -
     3.1 --- a/test/gen_test_skel.py	Mon Nov 11 17:34:57 2019 +0100
     3.2 +++ b/test/gen_test_skel.py	Thu Nov 14 16:47:46 2019 +0100
     3.3 @@ -47,7 +47,7 @@
     3.4  newfile.write(tb(3) + "// is empty.\n")
     3.5  newfile.write(tb(3) + test_suite + "() {\n")
     3.6  newfile.write(tb(4) + "// You can do set-up work for each test here.\n")
     3.7 -newfile.write(tb(4) + "test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();\n")
     3.8 +newfile.write(tb(4) + "test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();\n")
     3.9  newfile.write(tb(4) + "test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();\n")
    3.10  newfile.write(tb(4) + "test_path = get_main_test_home_dir() + \"/\" + test_suite_name + \"/\" + test_name;\n")
    3.11  newfile.write(tb(3) + "}\n\n")
     4.1 --- a/test/gtest_firstpass.py	Mon Nov 11 17:34:57 2019 +0100
     4.2 +++ b/test/gtest_firstpass.py	Thu Nov 14 16:47:46 2019 +0100
     4.3 @@ -78,7 +78,7 @@
     4.4                          newfile.write(tb(3) + "// is empty.\n")
     4.5                          newfile.write(tb(3) + "" + modline + "() {\n")
     4.6                          newfile.write(tb(4) + "// You can do set-up work for each test here.\n")
     4.7 -                        newfile.write(tb(4) + "test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();\n")
     4.8 +                        newfile.write(tb(4) + "test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();\n")
     4.9                          newfile.write(tb(4) + "test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();\n")
    4.10                          newfile.write(tb(4) + "test_path = get_main_test_home_dir() + \"/\" + test_suite_name + \"/\" + test_name;\n")
    4.11                          newfile.write(tb(3) + "}\n\n")
     5.1 --- a/test/src/AppleMailTest.cc	Mon Nov 11 17:34:57 2019 +0100
     5.2 +++ b/test/src/AppleMailTest.cc	Thu Nov 14 16:47:46 2019 +0100
     5.3 @@ -37,7 +37,7 @@
     5.4              // is empty.
     5.5              AppleMailTest() {
     5.6                  // You can do set-up work for each test here.
     5.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
     5.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
     5.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
    5.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
    5.11              }
     6.1 --- a/test/src/BCCTest.cc	Mon Nov 11 17:34:57 2019 +0100
     6.2 +++ b/test/src/BCCTest.cc	Thu Nov 14 16:47:46 2019 +0100
     6.3 @@ -31,7 +31,7 @@
     6.4              // is empty.
     6.5              BCCTest() {
     6.6                  // You can do set-up work for each test here.
     6.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
     6.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
     6.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
    6.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
    6.11              }
     7.1 --- a/test/src/BlacklistAcceptNewKeyTest.cc	Mon Nov 11 17:34:57 2019 +0100
     7.2 +++ b/test/src/BlacklistAcceptNewKeyTest.cc	Thu Nov 14 16:47:46 2019 +0100
     7.3 @@ -34,7 +34,7 @@
     7.4              // is empty.
     7.5              BlacklistAcceptNewKeyTest() {
     7.6                  // You can do set-up work for each test here.
     7.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
     7.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
     7.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
    7.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
    7.11              }
     8.1 --- a/test/src/BlacklistTest.cc	Mon Nov 11 17:34:57 2019 +0100
     8.2 +++ b/test/src/BlacklistTest.cc	Thu Nov 14 16:47:46 2019 +0100
     8.3 @@ -48,7 +48,7 @@
     8.4              // is empty.
     8.5              BlacklistTest() {
     8.6                  // You can do set-up work for each test here.
     8.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
     8.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
     8.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
    8.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
    8.11              }
     9.1 --- a/test/src/CaseAndDotAddressTest.cc	Mon Nov 11 17:34:57 2019 +0100
     9.2 +++ b/test/src/CaseAndDotAddressTest.cc	Thu Nov 14 16:47:46 2019 +0100
     9.3 @@ -32,7 +32,7 @@
     9.4              // is empty.
     9.5              CaseAndDotAddressTest() {
     9.6                  // You can do set-up work for each test here.
     9.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
     9.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
     9.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
    9.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
    9.11              }
    10.1 --- a/test/src/CheckRenewedExpiredKeyTrustStatusTest.cc	Mon Nov 11 17:34:57 2019 +0100
    10.2 +++ b/test/src/CheckRenewedExpiredKeyTrustStatusTest.cc	Thu Nov 14 16:47:46 2019 +0100
    10.3 @@ -29,7 +29,7 @@
    10.4              // is empty.
    10.5              CheckRenewedExpiredKeyTrustStatusTest() {
    10.6                  // You can do set-up work for each test here.
    10.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    10.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    10.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   10.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   10.11              }
    11.1 --- a/test/src/CrashdumpTest.cc	Mon Nov 11 17:34:57 2019 +0100
    11.2 +++ b/test/src/CrashdumpTest.cc	Thu Nov 14 16:47:46 2019 +0100
    11.3 @@ -27,7 +27,7 @@
    11.4              // is empty.
    11.5              CrashdumpTest() {
    11.6                  // You can do set-up work for each test here.
    11.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    11.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    11.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   11.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   11.11              }
    12.1 --- a/test/src/DecorateTest.cc	Mon Nov 11 17:34:57 2019 +0100
    12.2 +++ b/test/src/DecorateTest.cc	Thu Nov 14 16:47:46 2019 +0100
    12.3 @@ -33,7 +33,7 @@
    12.4              // is empty.
    12.5              DecorateTest() {
    12.6                  // You can do set-up work for each test here.
    12.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    12.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    12.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   12.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   12.11              }
    13.1 --- a/test/src/DecryptAttachPrivateKeyTrustedTest.cc	Mon Nov 11 17:34:57 2019 +0100
    13.2 +++ b/test/src/DecryptAttachPrivateKeyTrustedTest.cc	Thu Nov 14 16:47:46 2019 +0100
    13.3 @@ -35,7 +35,7 @@
    13.4              // is empty.
    13.5              DecryptAttachPrivateKeyTrustedTest() {
    13.6                  // You can do set-up work for each test here.
    13.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    13.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    13.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   13.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   13.11              }
    14.1 --- a/test/src/DecryptAttachPrivateKeyUntrustedTest.cc	Mon Nov 11 17:34:57 2019 +0100
    14.2 +++ b/test/src/DecryptAttachPrivateKeyUntrustedTest.cc	Thu Nov 14 16:47:46 2019 +0100
    14.3 @@ -33,7 +33,7 @@
    14.4              // is empty.
    14.5              DecryptAttachPrivateKeyUntrustedTest() {
    14.6                  // You can do set-up work for each test here.
    14.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    14.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    14.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   14.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   14.11              }
    15.1 --- a/test/src/DeleteKeyTest.cc	Mon Nov 11 17:34:57 2019 +0100
    15.2 +++ b/test/src/DeleteKeyTest.cc	Thu Nov 14 16:47:46 2019 +0100
    15.3 @@ -43,7 +43,7 @@
    15.4              // is empty.
    15.5              DeleteKeyTest() {
    15.6                  // You can do set-up work for each test here.
    15.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    15.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    15.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   15.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   15.11              }
    16.1 --- a/test/src/EncryptAttachPrivateKeyTest.cc	Mon Nov 11 17:34:57 2019 +0100
    16.2 +++ b/test/src/EncryptAttachPrivateKeyTest.cc	Thu Nov 14 16:47:46 2019 +0100
    16.3 @@ -33,7 +33,7 @@
    16.4              // is empty.
    16.5              EncryptAttachPrivateKeyTest() {
    16.6                  // You can do set-up work for each test here.
    16.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    16.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    16.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   16.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   16.11              }
    17.1 --- a/test/src/EncryptForIdentityTest.cc	Mon Nov 11 17:34:57 2019 +0100
    17.2 +++ b/test/src/EncryptForIdentityTest.cc	Thu Nov 14 16:47:46 2019 +0100
    17.3 @@ -35,7 +35,7 @@
    17.4              // is empty.
    17.5              EncryptForIdentityTest() {
    17.6                  // You can do set-up work for each test here.
    17.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    17.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    17.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   17.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   17.11              }
    18.1 --- a/test/src/EncryptMissingPrivateKeyTest.cc	Mon Nov 11 17:34:57 2019 +0100
    18.2 +++ b/test/src/EncryptMissingPrivateKeyTest.cc	Thu Nov 14 16:47:46 2019 +0100
    18.3 @@ -38,7 +38,7 @@
    18.4              // is empty.
    18.5              EncryptMissingPrivateKeyTest() {
    18.6                  // You can do set-up work for each test here.
    18.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    18.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    18.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   18.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   18.11              }
    19.1 --- a/test/src/Engine358Test.cc	Mon Nov 11 17:34:57 2019 +0100
    19.2 +++ b/test/src/Engine358Test.cc	Thu Nov 14 16:47:46 2019 +0100
    19.3 @@ -29,7 +29,7 @@
    19.4              // is empty.
    19.5              Engine358Test() {
    19.6                  // You can do set-up work for each test here.
    19.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    19.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    19.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   19.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   19.11              }
    20.1 --- a/test/src/Engine463Test.cc	Mon Nov 11 17:34:57 2019 +0100
    20.2 +++ b/test/src/Engine463Test.cc	Thu Nov 14 16:47:46 2019 +0100
    20.3 @@ -30,7 +30,7 @@
    20.4              // is empty.
    20.5              Engine463Test() {
    20.6                  // You can do set-up work for each test here.
    20.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    20.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    20.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   20.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   20.11              }
    21.1 --- a/test/src/EnterLeaveDeviceGroupTest.cc	Mon Nov 11 17:34:57 2019 +0100
    21.2 +++ b/test/src/EnterLeaveDeviceGroupTest.cc	Thu Nov 14 16:47:46 2019 +0100
    21.3 @@ -31,7 +31,7 @@
    21.4              // is empty.
    21.5              EnterLeaveDeviceGroupTest() {
    21.6                  // You can do set-up work for each test here.
    21.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    21.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    21.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   21.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   21.11              }
    22.1 --- a/test/src/ExpiredSubkeyTest.cc	Mon Nov 11 17:34:57 2019 +0100
    22.2 +++ b/test/src/ExpiredSubkeyTest.cc	Thu Nov 14 16:47:46 2019 +0100
    22.3 @@ -28,7 +28,7 @@
    22.4              // is empty.
    22.5              ExpiredSubkeyTest() {
    22.6                  // You can do set-up work for each test here.
    22.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    22.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    22.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   22.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   22.11              }
    23.1 --- a/test/src/ExportKeyTest.cc	Mon Nov 11 17:34:57 2019 +0100
    23.2 +++ b/test/src/ExportKeyTest.cc	Thu Nov 14 16:47:46 2019 +0100
    23.3 @@ -30,7 +30,7 @@
    23.4              // is empty.
    23.5              ExportKeyTest() {
    23.6                  // You can do set-up work for each test here.
    23.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    23.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    23.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   23.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   23.11              }
    24.1 --- a/test/src/ExternalRevokeTest.cc	Mon Nov 11 17:34:57 2019 +0100
    24.2 +++ b/test/src/ExternalRevokeTest.cc	Thu Nov 14 16:47:46 2019 +0100
    24.3 @@ -35,7 +35,7 @@
    24.4              // is empty.
    24.5              ExternalRevokeTest() {
    24.6                  // You can do set-up work for each test here.
    24.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    24.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    24.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   24.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   24.11              }
    25.1 --- a/test/src/GetKeyRatingForUserTest.cc	Mon Nov 11 17:34:57 2019 +0100
    25.2 +++ b/test/src/GetKeyRatingForUserTest.cc	Thu Nov 14 16:47:46 2019 +0100
    25.3 @@ -30,7 +30,7 @@
    25.4              // is empty.
    25.5              GetKeyRatingForUserTest() {
    25.6                  // You can do set-up work for each test here.
    25.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    25.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    25.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   25.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   25.11              }
    26.1 --- a/test/src/HeaderKeyImportTest.cc	Mon Nov 11 17:34:57 2019 +0100
    26.2 +++ b/test/src/HeaderKeyImportTest.cc	Thu Nov 14 16:47:46 2019 +0100
    26.3 @@ -32,7 +32,7 @@
    26.4              // is empty.
    26.5              HeaderKeyImportTest() {
    26.6                  // You can do set-up work for each test here.
    26.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    26.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    26.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   26.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   26.11              }
    27.1 --- a/test/src/I18nTest.cc	Mon Nov 11 17:34:57 2019 +0100
    27.2 +++ b/test/src/I18nTest.cc	Thu Nov 14 16:47:46 2019 +0100
    27.3 @@ -28,7 +28,7 @@
    27.4              // is empty.
    27.5              I18nTest() {
    27.6                  // You can do set-up work for each test here.
    27.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    27.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    27.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   27.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   27.11              }
    28.1 --- a/test/src/IOS1664Test.cc	Mon Nov 11 17:34:57 2019 +0100
    28.2 +++ b/test/src/IOS1664Test.cc	Thu Nov 14 16:47:46 2019 +0100
    28.3 @@ -31,7 +31,7 @@
    28.4              // is empty.
    28.5              IOS1664Test() {
    28.6                  // You can do set-up work for each test here.
    28.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    28.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    28.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   28.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   28.11              }
    29.1 --- a/test/src/KeyAttachmentTest.cc	Mon Nov 11 17:34:57 2019 +0100
    29.2 +++ b/test/src/KeyAttachmentTest.cc	Thu Nov 14 16:47:46 2019 +0100
    29.3 @@ -33,7 +33,7 @@
    29.4              // is empty.
    29.5              KeyAttachmentTest() {
    29.6                  // You can do set-up work for each test here.
    29.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    29.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    29.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   29.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   29.11              }
    30.1 --- a/test/src/KeyResetMessageTest.cc	Mon Nov 11 17:34:57 2019 +0100
    30.2 +++ b/test/src/KeyResetMessageTest.cc	Thu Nov 14 16:47:46 2019 +0100
    30.3 @@ -53,7 +53,7 @@
    30.4          // is empty.
    30.5          KeyResetMessageTest() {
    30.6              // You can do set-up work for each test here.
    30.7 -            test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    30.8 +            test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    30.9              test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   30.10              test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   30.11          }
    31.1 --- a/test/src/KeyeditTest.cc	Mon Nov 11 17:34:57 2019 +0100
    31.2 +++ b/test/src/KeyeditTest.cc	Thu Nov 14 16:47:46 2019 +0100
    31.3 @@ -31,7 +31,7 @@
    31.4              // is empty.
    31.5              KeyeditTest() {
    31.6                  // You can do set-up work for each test here.
    31.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    31.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    31.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   31.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   31.11              }
    32.1 --- a/test/src/KeyringImportTest.cc	Mon Nov 11 17:34:57 2019 +0100
    32.2 +++ b/test/src/KeyringImportTest.cc	Thu Nov 14 16:47:46 2019 +0100
    32.3 @@ -34,7 +34,7 @@
    32.4              // is empty.
    32.5              KeyringImportTest() {
    32.6                  // You can do set-up work for each test here.
    32.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    32.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    32.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   32.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   32.11              }
    33.1 --- a/test/src/LeastColorGroupTest.cc	Mon Nov 11 17:34:57 2019 +0100
    33.2 +++ b/test/src/LeastColorGroupTest.cc	Thu Nov 14 16:47:46 2019 +0100
    33.3 @@ -34,7 +34,7 @@
    33.4              // is empty.
    33.5              LeastColorGroupTest() {
    33.6                  // You can do set-up work for each test here.
    33.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    33.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    33.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   33.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   33.11              }
    34.1 --- a/test/src/LeastCommonDenomColorTest.cc	Mon Nov 11 17:34:57 2019 +0100
    34.2 +++ b/test/src/LeastCommonDenomColorTest.cc	Thu Nov 14 16:47:46 2019 +0100
    34.3 @@ -34,7 +34,7 @@
    34.4              // is empty.
    34.5              LeastCommonDenomColorTest() {
    34.6                  // You can do set-up work for each test here.
    34.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    34.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    34.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   34.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   34.11              }
    35.1 --- a/test/src/LiteralFilenameTest.cc	Mon Nov 11 17:34:57 2019 +0100
    35.2 +++ b/test/src/LiteralFilenameTest.cc	Thu Nov 14 16:47:46 2019 +0100
    35.3 @@ -29,7 +29,7 @@
    35.4              // is empty.
    35.5              LiteralFilenameTest() {
    35.6                  // You can do set-up work for each test here.
    35.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    35.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    35.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   35.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   35.11              }
    36.1 --- a/test/src/LookupTest.cc	Mon Nov 11 17:34:57 2019 +0100
    36.2 +++ b/test/src/LookupTest.cc	Thu Nov 14 16:47:46 2019 +0100
    36.3 @@ -33,7 +33,7 @@
    36.4              // is empty.
    36.5              LookupTest() {
    36.6                  // You can do set-up work for each test here.
    36.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    36.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    36.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   36.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   36.11              }
    37.1 --- a/test/src/LotsOfKeysTest.cc	Mon Nov 11 17:34:57 2019 +0100
    37.2 +++ b/test/src/LotsOfKeysTest.cc	Thu Nov 14 16:47:46 2019 +0100
    37.3 @@ -144,7 +144,7 @@
    37.4              // is empty.
    37.5              LotsOfKeysTest() {
    37.6                  // You can do set-up work for each test here.
    37.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    37.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    37.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   37.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   37.11              }
    38.1 --- a/test/src/MapAsn1Test.cc	Mon Nov 11 17:34:57 2019 +0100
    38.2 +++ b/test/src/MapAsn1Test.cc	Thu Nov 14 16:47:46 2019 +0100
    38.3 @@ -30,7 +30,7 @@
    38.4              // is empty.
    38.5              MapAsn1Test() {
    38.6                  // You can do set-up work for each test here.
    38.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    38.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    38.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   38.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   38.11              }
    39.1 --- a/test/src/Message2_1Test.cc	Mon Nov 11 17:34:57 2019 +0100
    39.2 +++ b/test/src/Message2_1Test.cc	Thu Nov 14 16:47:46 2019 +0100
    39.3 @@ -28,7 +28,7 @@
    39.4              // is empty.
    39.5              Message2_1Test() {
    39.6                  // You can do set-up work for each test here.
    39.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    39.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    39.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   39.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   39.11              }
    40.1 --- a/test/src/MessageApiTest.cc	Mon Nov 11 17:34:57 2019 +0100
    40.2 +++ b/test/src/MessageApiTest.cc	Thu Nov 14 16:47:46 2019 +0100
    40.3 @@ -34,7 +34,7 @@
    40.4              // is empty.
    40.5              MessageApiTest() {
    40.6                  // You can do set-up work for each test here.
    40.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    40.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    40.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   40.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   40.11              }
    41.1 --- a/test/src/MessageNullFromTest.cc	Mon Nov 11 17:34:57 2019 +0100
    41.2 +++ b/test/src/MessageNullFromTest.cc	Thu Nov 14 16:47:46 2019 +0100
    41.3 @@ -31,7 +31,7 @@
    41.4              // is empty.
    41.5              MessageNullFromTest() {
    41.6                  // You can do set-up work for each test here.
    41.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    41.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    41.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   41.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   41.11              }
    42.1 --- a/test/src/MessageTwoPointOhTest.cc	Mon Nov 11 17:34:57 2019 +0100
    42.2 +++ b/test/src/MessageTwoPointOhTest.cc	Thu Nov 14 16:47:46 2019 +0100
    42.3 @@ -35,7 +35,7 @@
    42.4              // is empty.
    42.5              MessageTwoPointOhTest() {
    42.6                  // You can do set-up work for each test here.
    42.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    42.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    42.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   42.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   42.11              }
    43.1 --- a/test/src/MimeTest.cc	Mon Nov 11 17:34:57 2019 +0100
    43.2 +++ b/test/src/MimeTest.cc	Thu Nov 14 16:47:46 2019 +0100
    43.3 @@ -33,7 +33,7 @@
    43.4              // is empty.
    43.5              MimeTest() {
    43.6                  // You can do set-up work for each test here.
    43.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    43.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    43.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   43.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   43.11              }
    44.1 --- a/test/src/NoOwnIdentWritesOnDecryptTest.cc	Mon Nov 11 17:34:57 2019 +0100
    44.2 +++ b/test/src/NoOwnIdentWritesOnDecryptTest.cc	Thu Nov 14 16:47:46 2019 +0100
    44.3 @@ -31,7 +31,7 @@
    44.4              // is empty.
    44.5              NoOwnIdentWritesOnDecryptTest() {
    44.6                  // You can do set-up work for each test here.
    44.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    44.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    44.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   44.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   44.11                  _to_decrypt = NULL;
    45.1 --- a/test/src/OwnIdentitiesRetrieveTest.cc	Mon Nov 11 17:34:57 2019 +0100
    45.2 +++ b/test/src/OwnIdentitiesRetrieveTest.cc	Thu Nov 14 16:47:46 2019 +0100
    45.3 @@ -28,7 +28,7 @@
    45.4              // is empty.
    45.5              OwnIdentitiesRetrieveTest() {
    45.6                  // You can do set-up work for each test here.
    45.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    45.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    45.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   45.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   45.11              }
    46.1 --- a/test/src/OwnKeysRetrieveTest.cc	Mon Nov 11 17:34:57 2019 +0100
    46.2 +++ b/test/src/OwnKeysRetrieveTest.cc	Thu Nov 14 16:47:46 2019 +0100
    46.3 @@ -28,7 +28,7 @@
    46.4              // is empty.
    46.5              OwnKeysRetrieveTest() {
    46.6                  // You can do set-up work for each test here.
    46.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    46.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    46.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   46.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   46.11              }
    47.1 --- a/test/src/PepSubjectReceivedTest.cc	Mon Nov 11 17:34:57 2019 +0100
    47.2 +++ b/test/src/PepSubjectReceivedTest.cc	Thu Nov 14 16:47:46 2019 +0100
    47.3 @@ -34,7 +34,7 @@
    47.4              // is empty.
    47.5              PepSubjectReceivedTest() {
    47.6                  // You can do set-up work for each test here.
    47.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    47.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    47.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   47.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   47.11              }
    48.1 --- a/test/src/PgpBinaryTest.cc	Mon Nov 11 17:34:57 2019 +0100
    48.2 +++ b/test/src/PgpBinaryTest.cc	Thu Nov 14 16:47:46 2019 +0100
    48.3 @@ -29,7 +29,7 @@
    48.4              // is empty.
    48.5              PgpBinaryTest() {
    48.6                  // You can do set-up work for each test here.
    48.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    48.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    48.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   48.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   48.11              }
    49.1 --- a/test/src/PgpListKeysTest.cc	Mon Nov 11 17:34:57 2019 +0100
    49.2 +++ b/test/src/PgpListKeysTest.cc	Thu Nov 14 16:47:46 2019 +0100
    49.3 @@ -31,7 +31,7 @@
    49.4              // is empty.
    49.5              PgpListKeysTest() {
    49.6                  // You can do set-up work for each test here.
    49.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    49.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    49.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   49.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   49.11              }
    50.1 --- a/test/src/ReencryptPlusExtraKeysTest.cc	Mon Nov 11 17:34:57 2019 +0100
    50.2 +++ b/test/src/ReencryptPlusExtraKeysTest.cc	Thu Nov 14 16:47:46 2019 +0100
    50.3 @@ -34,7 +34,7 @@
    50.4              // is empty.
    50.5              ReencryptPlusExtraKeysTest() {
    50.6                  // You can do set-up work for each test here.
    50.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    50.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    50.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   50.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   50.11              }
    51.1 --- a/test/src/RevocationTest.cc	Mon Nov 11 17:34:57 2019 +0100
    51.2 +++ b/test/src/RevocationTest.cc	Thu Nov 14 16:47:46 2019 +0100
    51.3 @@ -33,7 +33,7 @@
    51.4              // is empty.
    51.5              RevocationTest() {
    51.6                  // You can do set-up work for each test here.
    51.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    51.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    51.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   51.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   51.11              }
    52.1 --- a/test/src/RevokeRegenAttachTest.cc	Mon Nov 11 17:34:57 2019 +0100
    52.2 +++ b/test/src/RevokeRegenAttachTest.cc	Thu Nov 14 16:47:46 2019 +0100
    52.3 @@ -37,7 +37,7 @@
    52.4              // is empty.
    52.5              RevokeRegenAttachTest() {
    52.6                  // You can do set-up work for each test here.
    52.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    52.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    52.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   52.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   52.11              }
    53.1 --- a/test/src/SenderFPRTest.cc	Mon Nov 11 17:34:57 2019 +0100
    53.2 +++ b/test/src/SenderFPRTest.cc	Thu Nov 14 16:47:46 2019 +0100
    53.3 @@ -29,7 +29,7 @@
    53.4              // is empty.
    53.5              SenderFPRTest() {
    53.6                  // You can do set-up work for each test here.
    53.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    53.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    53.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   53.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   53.11              }
    54.1 --- a/test/src/SequenceTest.cc	Mon Nov 11 17:34:57 2019 +0100
    54.2 +++ b/test/src/SequenceTest.cc	Thu Nov 14 16:47:46 2019 +0100
    54.3 @@ -28,7 +28,7 @@
    54.4              // is empty.
    54.5              SequenceTest() {
    54.6                  // You can do set-up work for each test here.
    54.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    54.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    54.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   54.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   54.11              }
    55.1 --- a/test/src/SignOnlyTest.cc	Mon Nov 11 17:34:57 2019 +0100
    55.2 +++ b/test/src/SignOnlyTest.cc	Thu Nov 14 16:47:46 2019 +0100
    55.3 @@ -29,7 +29,7 @@
    55.4              // is empty.
    55.5              SignOnlyTest() {
    55.6                  // You can do set-up work for each test here.
    55.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    55.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    55.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   55.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   55.11              }
    56.1 --- a/test/src/SimpleBodyNotAltTest.cc	Mon Nov 11 17:34:57 2019 +0100
    56.2 +++ b/test/src/SimpleBodyNotAltTest.cc	Thu Nov 14 16:47:46 2019 +0100
    56.3 @@ -31,7 +31,7 @@
    56.4              // is empty.
    56.5              SimpleBodyNotAltTest() {
    56.6                  // You can do set-up work for each test here.
    56.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    56.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    56.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   56.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   56.11              }
    57.1 --- a/test/src/SubkeyRatingEvalTest.cc	Mon Nov 11 17:34:57 2019 +0100
    57.2 +++ b/test/src/SubkeyRatingEvalTest.cc	Thu Nov 14 16:47:46 2019 +0100
    57.3 @@ -29,7 +29,7 @@
    57.4              // is empty.
    57.5              SubkeyRatingEvalTest() {
    57.6                  // You can do set-up work for each test here.
    57.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    57.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    57.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   57.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   57.11              }
    58.1 --- a/test/src/SyncTest.cc	Mon Nov 11 17:34:57 2019 +0100
    58.2 +++ b/test/src/SyncTest.cc	Thu Nov 14 16:47:46 2019 +0100
    58.3 @@ -162,7 +162,7 @@
    58.4              // is empty.
    58.5              SyncTest() {
    58.6                  // You can do set-up work for each test here.
    58.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    58.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    58.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   58.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   58.11              }
    59.1 --- a/test/src/ThreadSpamTest.cc	Mon Nov 11 17:34:57 2019 +0100
    59.2 +++ b/test/src/ThreadSpamTest.cc	Thu Nov 14 16:47:46 2019 +0100
    59.3 @@ -29,7 +29,7 @@
    59.4              // is empty.
    59.5              ThreadSpamTest() {
    59.6                  // You can do set-up work for each test here.
    59.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    59.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    59.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   59.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   59.11              }
    60.1 --- a/test/src/TrustManipulationTest.cc	Mon Nov 11 17:34:57 2019 +0100
    60.2 +++ b/test/src/TrustManipulationTest.cc	Thu Nov 14 16:47:46 2019 +0100
    60.3 @@ -32,7 +32,7 @@
    60.4              // is empty.
    60.5              TrustManipulationTest() {
    60.6                  // You can do set-up work for each test here.
    60.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    60.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    60.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   60.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   60.11              }
    61.1 --- a/test/src/TrustwordsTest.cc	Mon Nov 11 17:34:57 2019 +0100
    61.2 +++ b/test/src/TrustwordsTest.cc	Thu Nov 14 16:47:46 2019 +0100
    61.3 @@ -27,7 +27,7 @@
    61.4              // is empty.
    61.5              TrustwordsTest() {
    61.6                  // You can do set-up work for each test here.
    61.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    61.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    61.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   61.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   61.11              }
    62.1 --- a/test/src/URIAddressTest.cc	Mon Nov 11 17:34:57 2019 +0100
    62.2 +++ b/test/src/URIAddressTest.cc	Thu Nov 14 16:47:46 2019 +0100
    62.3 @@ -30,7 +30,7 @@
    62.4              // is empty.
    62.5              URIAddressTest() {
    62.6                  // You can do set-up work for each test here.
    62.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    62.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    62.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   62.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   62.11              }
    63.1 --- a/test/src/UpdateIdAndMyselfTest.cc	Mon Nov 11 17:34:57 2019 +0100
    63.2 +++ b/test/src/UpdateIdAndMyselfTest.cc	Thu Nov 14 16:47:46 2019 +0100
    63.3 @@ -35,7 +35,7 @@
    63.4              // is empty.
    63.5              UpdateIdAndMyselfTest() {
    63.6                  // You can do set-up work for each test here.
    63.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    63.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    63.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   63.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   63.11              }
    64.1 --- a/test/src/UserIDAliasTest.cc	Mon Nov 11 17:34:57 2019 +0100
    64.2 +++ b/test/src/UserIDAliasTest.cc	Thu Nov 14 16:47:46 2019 +0100
    64.3 @@ -32,7 +32,7 @@
    64.4              // is empty.
    64.5              UserIDAliasTest() {
    64.6                  // You can do set-up work for each test here.
    64.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    64.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    64.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   64.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   64.11              }
    65.1 --- a/test/src/UserIdCollisionTest.cc	Mon Nov 11 17:34:57 2019 +0100
    65.2 +++ b/test/src/UserIdCollisionTest.cc	Thu Nov 14 16:47:46 2019 +0100
    65.3 @@ -110,7 +110,7 @@
    65.4              // is empty.
    65.5              UserIdCollisionTest() {
    65.6                  // You can do set-up work for each test here.
    65.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    65.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    65.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   65.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   65.11              }
    66.1 --- a/test/src/VerifyTest.cc	Mon Nov 11 17:34:57 2019 +0100
    66.2 +++ b/test/src/VerifyTest.cc	Thu Nov 14 16:47:46 2019 +0100
    66.3 @@ -29,7 +29,7 @@
    66.4              // is empty.
    66.5              VerifyTest() {
    66.6                  // You can do set-up work for each test here.
    66.7 -                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->test_suite_name();
    66.8 +                test_suite_name = ::testing::UnitTest::GetInstance()->current_test_info()->GTEST_SUITE_SYM();
    66.9                  test_name = ::testing::UnitTest::GetInstance()->current_test_info()->name();
   66.10                  test_path = get_main_test_home_dir() + "/" + test_suite_name + "/" + test_name;
   66.11              }
    67.1 --- a/test/src/test_util.cc	Mon Nov 11 17:34:57 2019 +0100
    67.2 +++ b/test/src/test_util.cc	Thu Nov 14 16:47:46 2019 +0100
    67.3 @@ -9,6 +9,7 @@
    67.4  #include "keymanagement.h"
    67.5  
    67.6  #include <fstream>
    67.7 +#include <algorithm>
    67.8  #include <sstream>
    67.9  #include <iostream>
   67.10  #include <stdexcept>
   67.11 @@ -42,18 +43,18 @@
   67.12  }
   67.13  
   67.14  std::string get_main_test_home_dir() {
   67.15 -    size_t BUF_MAX_PATHLEN = 4097; 
   67.16 +    size_t BUF_MAX_PATHLEN = 4097;
   67.17      char buf[BUF_MAX_PATHLEN];// Linux max path size...
   67.18  
   67.19      if (_main_test_home_dir.empty()) {
   67.20          string curr_wd = getcwd(buf, BUF_MAX_PATHLEN);
   67.21 -    
   67.22 +
   67.23          if (curr_wd.empty())
   67.24 -            throw std::runtime_error("Error grabbing current working directory"); 
   67.25 +            throw std::runtime_error("Error grabbing current working directory");
   67.26  
   67.27          _main_test_home_dir = curr_wd + "/pEp_test_home";
   67.28      }
   67.29 -    return _main_test_home_dir;        
   67.30 +    return _main_test_home_dir;
   67.31  }
   67.32  
   67.33  PEP_STATUS read_file_and_import_key(PEP_SESSION session, const char* fname) {
   67.34 @@ -61,7 +62,7 @@
   67.35      PEP_STATUS status = (key.empty() ? PEP_KEY_NOT_FOUND : PEP_STATUS_OK);
   67.36      if (status == PEP_STATUS_OK)
   67.37          status = import_key(session, key.c_str(), key.size(), NULL);
   67.38 -    return status;    
   67.39 +    return status;
   67.40  }
   67.41  
   67.42  PEP_STATUS set_up_ident_from_scratch(PEP_SESSION session,
   67.43 @@ -77,31 +78,31 @@
   67.44          return status;
   67.45      else
   67.46          status = PEP_STATUS_OK;
   67.47 -    
   67.48 +
   67.49      pEp_identity* ident = new_identity(address, fpr, user_id, username);
   67.50      if (is_priv && fpr) {
   67.51          status = set_own_key(session, ident, fpr);
   67.52          if (status == PEP_STATUS_OK)
   67.53              status = myself(session, ident);
   67.54      }
   67.55 -    else    
   67.56 +    else
   67.57          status = update_identity(session, ident);
   67.58  
   67.59      if (status != PEP_STATUS_OK)
   67.60          goto pep_free;
   67.61 -        
   67.62 +
   67.63      if (!ident || !ident->fpr) {
   67.64          status = PEP_CANNOT_FIND_IDENTITY;
   67.65          goto pep_free;
   67.66      }
   67.67 -    
   67.68 +
   67.69      if (ret_ident)
   67.70          *ret_ident = ident;
   67.71 -        
   67.72 +
   67.73  pep_free:
   67.74      if (!ret_ident)
   67.75          free_identity(ident);
   67.76 -    return status;    
   67.77 +    return status;
   67.78  }
   67.79  
   67.80  
   67.81 @@ -117,11 +118,11 @@
   67.82      if (str_len == 0)
   67.83          return strdup("");
   67.84      int i;
   67.85 -    
   67.86 +
   67.87      char* retval = (char*) calloc(1, str_len + 1);
   67.88      for (i = 0; i < str_len; i++) {
   67.89          retval[i] = tolower(str[i]);
   67.90 -    }    
   67.91 +    }
   67.92      return retval;
   67.93  }
   67.94  
   67.95 @@ -134,7 +135,7 @@
   67.96      }
   67.97      if (!str2)
   67.98          return false;
   67.99 -        
  67.100 +
  67.101      return (strcmp(str1, str2) == 0);
  67.102  }
  67.103  
  67.104 @@ -161,7 +162,7 @@
  67.105  	{
  67.106  		throw std::runtime_error("Cannot read file \"" + filename + "\"! ");
  67.107  	}
  67.108 -	
  67.109 +
  67.110  	std::stringstream sstr;
  67.111  	sstr << input.rdbuf();
  67.112  	return sstr.str();
  67.113 @@ -174,7 +175,7 @@
  67.114  	{
  67.115  		throw std::runtime_error("Cannot open output file!");
  67.116  	}
  67.117 -	
  67.118 +
  67.119  	outfile << outdata;
  67.120      outfile.close();
  67.121  }
  67.122 @@ -312,9 +313,9 @@
  67.123          case PEP_OUT_OF_MEMORY:
  67.124              return "PEP_OUT_OF_MEMORY";
  67.125          case PEP_UNKNOWN_ERROR:
  67.126 -            return "PEP_UNKNOWN_ERROR";    
  67.127 +            return "PEP_UNKNOWN_ERROR";
  67.128          default:
  67.129 - 
  67.130 +
  67.131              return "PEP_STATUS_OMGWTFBBQ - This means you're using a status the test lib doesn't know about!";
  67.132      }
  67.133  }
  67.134 @@ -453,9 +454,9 @@
  67.135      return ok;
  67.136  }
  67.137  
  67.138 -int util_delete_filepath(const char *filepath, 
  67.139 -                         const struct stat *file_stat, 
  67.140 -                         int ftw_info, 
  67.141 +int util_delete_filepath(const char *filepath,
  67.142 +                         const struct stat *file_stat,
  67.143 +                         int ftw_info,
  67.144                           struct FTW * ftw_struct) {
  67.145      int retval = 0;
  67.146      switch (ftw_info) {
  67.147 @@ -465,11 +466,11 @@
  67.148          case FTW_F:
  67.149          case FTW_SLN:
  67.150              retval = unlink(filepath);
  67.151 -            break;    
  67.152 +            break;
  67.153          default:
  67.154              retval = -1;
  67.155      }
  67.156 -    
  67.157 +
  67.158      return retval;
  67.159  }
  67.160  
  67.161 @@ -482,9 +483,9 @@
  67.162  
  67.163      if (!session)
  67.164          return PEP_UNKNOWN_ERROR;
  67.165 -    
  67.166 +
  67.167      identity_list* id_list_ptr = NULL;
  67.168 -        
  67.169 +
  67.170      for (id_list_ptr = list; id_list_ptr; id_list_ptr = id_list_ptr->next) {
  67.171          pEp_identity* curr_identity = id_list_ptr->ident;
  67.172          if (curr_identity) {
  67.173 @@ -492,11 +493,11 @@
  67.174                  char* name_bak = curr_identity->username;
  67.175                  curr_identity->username = NULL;
  67.176                  status = update_identity(session, curr_identity);
  67.177 -                if (name_bak && 
  67.178 +                if (name_bak &&
  67.179                      (EMPTYSTR(curr_identity->username) || strcmp(name_bak, curr_identity->username) != 0)) {
  67.180                      free(curr_identity->username);
  67.181                      curr_identity->username = name_bak;
  67.182 -                }                        
  67.183 +                }
  67.184              }
  67.185              else
  67.186                  status = _myself(session, curr_identity, false, false, true);
  67.187 @@ -504,8 +505,8 @@
  67.188              return status;
  67.189          }
  67.190      }
  67.191 -    
  67.192 -    return PEP_STATUS_OK;                                  
  67.193 +
  67.194 +    return PEP_STATUS_OK;
  67.195  }
  67.196  
  67.197  PEP_STATUS MIME_decrypt_message(
  67.198 @@ -528,10 +529,10 @@
  67.199  
  67.200      if (!(mimetext && mime_plaintext && keylist && rating && flags && modified_src))
  67.201          return PEP_ILLEGAL_VALUE;
  67.202 -        
  67.203 +
  67.204      PEP_STATUS status = PEP_STATUS_OK;
  67.205      PEP_STATUS decrypt_status = PEP_CANNOT_DECRYPT_UNKNOWN;
  67.206 -         
  67.207 +
  67.208      message* tmp_msg = NULL;
  67.209      message* dec_msg = NULL;
  67.210      *mime_plaintext = NULL;
  67.211 @@ -575,7 +576,7 @@
  67.212      if (!dec_msg && (decrypt_status == PEP_UNENCRYPTED || decrypt_status == PEP_VERIFIED)) {
  67.213          dec_msg = message_dup(tmp_msg);
  67.214      }
  67.215 -    
  67.216 +
  67.217      if (decrypt_status > PEP_CANNOT_DECRYPT_UNKNOWN || !dec_msg)
  67.218      {
  67.219          status = decrypt_status;
  67.220 @@ -599,7 +600,7 @@
  67.221          free(dec_msg);
  67.222          return decrypt_status;
  67.223      }
  67.224 -    
  67.225 +
  67.226  pEp_error:
  67.227      free_message(tmp_msg);
  67.228      free_message(dec_msg);
  67.229 @@ -630,34 +631,34 @@
  67.230          char* own_id = NULL;
  67.231          status = get_default_own_userid(session, &own_id);
  67.232          free(tmp_msg->from->user_id);
  67.233 -        
  67.234 +
  67.235          if (status != PEP_STATUS_OK || !own_id) {
  67.236              tmp_msg->from->user_id = strdup(PEP_OWN_USERID);
  67.237          }
  67.238          else {
  67.239              tmp_msg->from->user_id = own_id; // ownership transfer
  67.240          }
  67.241 -            
  67.242 +
  67.243          status = myself(session, tmp_msg->from);
  67.244          if (status != PEP_STATUS_OK)
  67.245              goto pEp_error;
  67.246      }
  67.247 -    
  67.248 +
  67.249      // Own identities can be retrieved here where they would otherwise
  67.250      // fail because we lack all other information. This is ok and even
  67.251      // desired. FIXME: IS it?
  67.252      status = update_identity_recip_list(session, tmp_msg->to);
  67.253      if (status != PEP_STATUS_OK)
  67.254          goto pEp_error;
  67.255 -    
  67.256 +
  67.257      status = update_identity_recip_list(session, tmp_msg->cc);
  67.258      if (status != PEP_STATUS_OK)
  67.259          goto pEp_error;
  67.260 -    
  67.261 +
  67.262      status = update_identity_recip_list(session, tmp_msg->bcc);
  67.263      if (status != PEP_STATUS_OK)
  67.264          goto pEp_error;
  67.265 -    
  67.266 +
  67.267      // This isn't incoming, though... so we need to reverse the direction
  67.268      tmp_msg->dir = PEP_dir_outgoing;
  67.269      status = encrypt_message(session,
  67.270 @@ -666,7 +667,7 @@
  67.271                               &enc_msg,
  67.272                               enc_format,
  67.273                               flags);
  67.274 -                             
  67.275 +
  67.276      if (status != PEP_STATUS_OK)
  67.277          goto pEp_error;
  67.278  
  67.279 @@ -716,7 +717,7 @@
  67.280                                        flags);
  67.281      if (status != PEP_STATUS_OK)
  67.282          goto pEp_error;
  67.283 - 
  67.284 +
  67.285      if (!enc_msg) {
  67.286          status = PEP_UNKNOWN_ERROR;
  67.287          goto pEp_error;
  67.288 @@ -735,15 +736,15 @@
  67.289  
  67.290  PEP_STATUS set_up_preset(PEP_SESSION session,
  67.291                           pEp_test_ident_preset preset_name,
  67.292 -                         bool set_ident, 
  67.293 +                         bool set_ident,
  67.294                           bool set_pep,
  67.295                           bool trust,
  67.296 -                         bool set_own, 
  67.297 -                         bool setup_private, 
  67.298 +                         bool set_own,
  67.299 +                         bool setup_private,
  67.300                           pEp_identity** ident) {
  67.301      if (set_own && !set_ident)
  67.302          return PEP_ILLEGAL_VALUE;
  67.303 -        
  67.304 +
  67.305      const char* name = NULL;
  67.306      const char* user_id = NULL;
  67.307      const char* email = NULL;
  67.308 @@ -752,12 +753,12 @@
  67.309      string privkey_dir = "test_keys/priv/";
  67.310      const char* fpr = NULL;
  67.311      PEP_STATUS status = PEP_STATUS_OK;
  67.312 -    
  67.313 +
  67.314      if (ident)
  67.315          *ident = NULL;
  67.316  
  67.317      pEp_identity* retval = NULL;
  67.318 -        
  67.319 +
  67.320      switch (preset_name) {
  67.321          case ALICE:
  67.322              name = "Alice Spivak Hyatt";
  67.323 @@ -937,14 +938,14 @@
  67.324          default:
  67.325              return PEP_CANNOT_SET_IDENTITY;
  67.326      }
  67.327 -    
  67.328 +
  67.329      string pubkey_file = pubkey_dir + key_prefix + "_pub.asc";
  67.330      string privkey_file = privkey_dir + key_prefix + "_priv.asc";
  67.331 -    
  67.332 +
  67.333      if (!slurp_and_import_key(session, pubkey_file.c_str()))
  67.334          return PEP_KEY_NOT_FOUND;
  67.335  
  67.336 -    if (setup_private) {    
  67.337 +    if (setup_private) {
  67.338          if (!slurp_and_import_key(session, privkey_file.c_str()))
  67.339              return PEP_KEY_NOT_FOUND;
  67.340      }
  67.341 @@ -952,19 +953,19 @@
  67.342      retval = new_identity(email, NULL, user_id, name);
  67.343      if (!retval)
  67.344          return PEP_OUT_OF_MEMORY;
  67.345 -        
  67.346 -    // honestly probably happens anyway  
  67.347 +
  67.348 +    // honestly probably happens anyway
  67.349      if (set_ident && status == PEP_STATUS_OK)
  67.350          status = set_identity(session, retval);
  67.351  
  67.352      if (set_own) {
  67.353          retval->me = true;
  67.354          status = set_own_key(session, retval, fpr);
  67.355 -    }        
  67.356 -    
  67.357 +    }
  67.358 +
  67.359      if (set_pep && status == PEP_STATUS_OK)
  67.360          status = set_as_pEp_user(session, retval);
  67.361 -        
  67.362 +
  67.363      if (trust && status == PEP_STATUS_OK) {
  67.364          if (!retval->me)
  67.365              status = update_identity(session, retval);
  67.366 @@ -973,13 +974,13 @@
  67.367              status = set_trust(session, retval);
  67.368          }
  67.369      }
  67.370 -    
  67.371 -    
  67.372 +
  67.373 +
  67.374      if (ident)
  67.375          *ident = retval;
  67.376 -    else 
  67.377 +    else
  67.378          free_identity(retval);
  67.379 -        
  67.380 +
  67.381      return status;
  67.382  }
  67.383