Browse Source

bastardised in-between state of conversion. guaranteed to be broken.

googletest
parent
commit
3901e614cb
96 changed files with 15 additions and 1927 deletions
  1. +2
    -5
      .hgignore
  2. +0
    -117
      gtest/Makefile
  3. +0
    -30
      test/0x6FF00E97.asc
  4. +0
    -30
      test/0x70DCF575.asc
  5. +0
    -30
      test/0xC9C2EE39.asc
  6. +0
    -57
      test/6FF00E97_sec.asc
  7. +0
    -57
      test/70DCF575_sec.asc
  8. +0
    -57
      test/C9C2EE39_sec.asc
  9. +13
    -35
      test/Makefile
  10. +0
    -29
      test/genscripts.py
  11. +0
    -112
      test/gensuitemaker.py
  12. +0
    -124
      test/gentestshell.py
  13. +0
    -0
      test/gtest_firstpass.py
  14. +0
    -0
      test/src/AppleMailTest.cc
  15. +0
    -0
      test/src/BCCTest.cc
  16. +0
    -0
      test/src/BlacklistAcceptNewKeyTest.cc
  17. +0
    -0
      test/src/BlacklistTest.cc
  18. +0
    -0
      test/src/BloblistTests.cc
  19. +0
    -0
      test/src/CaseAndDotAddressTests.cc
  20. +0
    -0
      test/src/CheckRenewedExpiredKeyTrustStatusTests.cc
  21. +0
    -0
      test/src/CrashdumpTests.cc
  22. +0
    -0
      test/src/DecorateTests.cc
  23. +0
    -0
      test/src/DecryptAttachPrivateKeyTrustedTests.cc
  24. +0
    -0
      test/src/DecryptAttachPrivateKeyUntrustedTests.cc
  25. +0
    -0
      test/src/DeleteKeyTests.cc
  26. +0
    -0
      test/src/EncryptAttachPrivateKeyTests.cc
  27. +0
    -0
      test/src/EncryptForIdentityTests.cc
  28. +0
    -0
      test/src/EncryptMissingPrivateKeyTests.cc
  29. +0
    -0
      test/src/Engine.cc
  30. +0
    -0
      test/src/Engine.h
  31. +0
    -0
      test/src/Engine358Tests.cc
  32. +0
    -0
      test/src/Engine463Tests.cc
  33. +0
    -31
      test/src/EngineTestIndividualSuite.cc
  34. +0
    -31
      test/src/EngineTestSessionSuite.cc
  35. +0
    -280
      test/src/EngineTestSuite.cc
  36. +0
    -0
      test/src/EnterLeaveDeviceGroupTests.cc
  37. +0
    -0
      test/src/ExpiredSubkeyTests.cc
  38. +0
    -0
      test/src/ExportKeyTest.cc
  39. +0
    -0
      test/src/ExternalRevokeTests.cc
  40. +0
    -0
      test/src/GetKeyRatingForUserTests.cc
  41. +0
    -0
      test/src/HeaderKeyImportTests.cc
  42. +0
    -0
      test/src/I18nTests.cc
  43. +0
    -0
      test/src/IOS1664Tests.cc
  44. +0
    -0
      test/src/IdentityListTests.cc
  45. +0
    -0
      test/src/KeyAttachmentTests.cc
  46. +0
    -0
      test/src/KeyResetMessageTests.cc
  47. +0
    -0
      test/src/KeyeditTests.cc
  48. +0
    -0
      test/src/KeyringImportTests.cc
  49. +0
    -0
      test/src/LeastColorGroupTests.cc
  50. +0
    -0
      test/src/LeastCommonDenomColorTests.cc
  51. +0
    -0
      test/src/LiteralFilenameTests.cc
  52. +0
    -0
      test/src/LookupTests.cc
  53. +0
    -0
      test/src/LotsOfKeysTests.cc
  54. +0
    -0
      test/src/MapAsn1Tests.cc
  55. +0
    -0
      test/src/Message2_1Tests.cc
  56. +0
    -0
      test/src/MessageApiTests.cc
  57. +0
    -0
      test/src/MessageNullFromTests.cc
  58. +0
    -0
      test/src/MessageTwoPointOhTests.cc
  59. +0
    -0
      test/src/MimeTests.cc
  60. +0
    -0
      test/src/NewUpdateIdAndMyselfTests.cc
  61. +0
    -0
      test/src/NoOwnIdentWritesOnDecryptTests.cc
  62. +0
    -0
      test/src/OwnIdentitiesRetrieveTests.cc
  63. +0
    -0
      test/src/OwnKeysRetrieveTests.cc
  64. +0
    -0
      test/src/PepSubjectReceivedTests.cc
  65. +0
    -0
      test/src/PgpBinaryTests.cc
  66. +0
    -0
      test/src/PgpListKeysTests.cc
  67. +0
    -0
      test/src/ReencryptPlusExtraKeysTests.cc
  68. +0
    -0
      test/src/RevocationTests.cc
  69. +0
    -0
      test/src/RevokeRegenAttachTests.cc
  70. +0
    -0
      test/src/SenderFPRTests.cc
  71. +0
    -0
      test/src/SequenceTests.cc
  72. +0
    -0
      test/src/SignOnlyTests.cc
  73. +0
    -0
      test/src/SimpleBodyNotAltTests.cc
  74. +0
    -0
      test/src/StringlistTests.cc
  75. +0
    -0
      test/src/StringpairListTests.cc
  76. +0
    -0
      test/src/StrnstrTests.cc
  77. +0
    -0
      test/src/SubkeyRatingEvalTests.cc
  78. +0
    -302
      test/src/SuiteMaker.cc
  79. +0
    -0
      test/src/SyncTests.cc
  80. +0
    -0
      test/src/TestConstants.h
  81. +0
    -75
      test/src/TestDriver.cc
  82. +0
    -0
      test/src/TrustManipulationTests.cc
  83. +0
    -0
      test/src/TrustwordsTests.cc
  84. +0
    -0
      test/src/URIAddressTests.cc
  85. +0
    -0
      test/src/UserIDAliasTests.cc
  86. +0
    -0
      test/src/UserIdCollisionTests.cc
  87. +0
    -0
      test/src/VerifyTests.cc
  88. +0
    -128
      test/src/engine_tests/ExportKeyTests.cc
  89. +0
    -279
      test/src/engine_tests/IntegrityTests.do.not.run.before.ENGINE-434
  90. +0
    -0
      test/src/pEpEngine_test.h
  91. +0
    -118
      test/src/pEpTestOutput.cc
  92. +0
    -0
      test/src/pEpTestStatic.h
  93. +0
    -0
      test/src/test_util.cc
  94. +0
    -0
      test/src/test_util.h
  95. +0
    -0
      test/test_keys/pub/blacklisted_pub.asc
  96. +0
    -0
      test/test_keys/pub/blacklisted_pub2.asc

+ 2
- 5
.hgignore View File

@ -78,11 +78,8 @@ sync/.codegen
sync/.statemachines
sync/.copy
test/msg_2.0.asc
test/*Tests
test/*.txt
lldb-history
*.swo
test/.scripts
test/.suitemaker
gtest/EngineTests
gtest/googletest
test/EngineTests
test/googletest

+ 0
- 117
gtest/Makefile View File

@ -1,117 +0,0 @@
# Copyright 2019, pEp Foundation
# This file is part of pEpEngine
# This file may be used under the terms of the GNU General Public License version 3
# see LICENSE.txt
HERE:=$(CURDIR)
include ../Makefile.conf
GTEST_DIR:=googletest/googletest
SRCS:=$(wildcard src/*.cc) $(wildcard src/*/*.cc)
OBJS:=$(addsuffix .o,$(basename $(SRCS)))
DEPS:=$(OBJS:.o=.d)
LDFLAGS+= -L../asn.1 -L../src $(ETPAN_LIB) $(CPPUNIT_LIB)
TARGET:=EngineTests
ifeq ($(OPENPGP),GPG)
LDFLAGS+= $(GPGME_LIB)
else ifeq ($(OPENPGP),NETPGP)
LDFLAGS+= $(NETGPG_LIB)
endif
LDLIBS+= -letpan -lpEpEngine -lstdc++ -lasn1
ifeq ($(BUILD_FOR),Linux)
LDLIBS+= -luuid
endif
ifeq ($(OPENPGP),SEQUOIA)
LDFLAGS+= $(SEQUOIA_LDFLAGS)
LDLIBS+= $(SEQUOIA_LIB)
CXXFLAGS+= $(SEQUOIA_CFLAGS) -DUSE_SEQUOIA
INC_FLAGS+= $(SEQUOIA_INC)
endif
ifdef SQLITE3_FROM_OS
LDLIBS+= -lsqlite3
endif
ifeq ($(OPENPGP),GPG)
#LDLIBS+= -lgpgme
else ifeq ($(OPENPGP),NETPGP)
LDLIBS+= -lnetpgp
ifeq ($(BUILD_FOR),Linux)
LDLIBS+= -ltre
endif
endif
CXXFLAGS:=$(filter-out -DNDEBUG,$(CXXFLAGS))
# FIXME Possibly missing incdirs: ASN1C_INC
CXXFLAGS+= -I./include -I../sync $(CPPUNIT_INC) $(INC_FLAGS) -Wno-deprecated
ifeq ($(OPENPGP),GPG)
CXXFLAGS+= -DUSE_GPG $(GPGME_INC)
else ifeq ($(OPENPGP),NETPGP)
CXXFLAGS+= -DUSE_NETPGP $(NETPGP_INC)
endif
EXTRA_LIB_PATHS=.:../src:
ifdef ETPAN_LIB
EXTRA_LIB_PATHS:=$(EXTRA_LIB_PATHS)$(patsubst -L%,%,$(ETPAN_LIB)):
endif
ifdef GPGME_LIB
EXTRA_LIB_PATHS:=$(EXTRA_LIB_PATHS)$(patsubst -L%,%,$(GPGME_LIB)):
endif
ifdef NETPGP_LIB
EXTRA_LIB_PATHS:=$(EXTRA_LIB_PATHS)$(patsubst -L%,%,$(NETPGP_LIB)):
endif
ifdef CPPUNIT_LIB
EXTRA_LIB_PATHS:=$(EXTRA_LIB_PATHS)$(patsubst -L%,%,$(CPPUNIT_LIB)):
endif
# Remove trailing ':'
EXTRA_LIB_PATHS:=$(EXTRA_LIB_PATHS::=)
ifeq ($(BUILD_FOR),Darwin)
LIBPATH=DYLD_LIBRARY_PATH
else
LIBPATH=LD_LIBRARY_PATH
endif
# FIXME: this forces a path on execution which overrides system paths for
# libraries like iconv and causes runtime errors.
#TEST_CMD_PFX=$(LIBPATH)=$(EXTRA_LIB_PATHS)
TEST_CMD_PFX=
.PHONY: all clean test
all:
make $(TARGET)
%.d: %.cc
$(CXX) -MM $(CPPFLAGS) $(CXXFLAGS) $< | sed -e 's,\($*\)\.o[ :]*,\1.o $@: ,g' > $@
$(TARGET): $(OBJS) gtest-all.o gtest_main.o
# $(LINK.cc) $(OBJS) $(LOADLIBES) $(LDLIBS) -o $@
${CXX} ${LDFLAGS} -L${PREFIX}/lib -o $@ $^ -lpEpEngine $(LDLIBS)
gtest-all.o: $(GTEST_DIR)/src/gtest-all.cc
${CXX} ${CXXFLAGS} $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -isystem $(GTEST_DIR)/include -o $@ -c $<
gtest_main.o: $(GTEST_DIR)/src/gtest_main.cc
${CXX} ${CXXFLAGS} $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -isystem $(GTEST_DIR)/include -o $@ -c $<
test: all
$(TEST_CMD_PFX) $(TEST_DEBUGGER) ./$(TARGET)
clean:
$(RM) $(TARGET) $(TARGET).o $(TARGET).d $(OBJS) $(notdir $(basename $(OBJS))) $(DEPS)
# If only the goal 'clean' is given, do not generate and include the '%.d' files.¬
ifneq ($(MAKECMDGOALS),clean)
-include $(DEPS)
endif

+ 0
- 30
test/0x6FF00E97.asc View File

@ -1,30 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFV4PbEBCADTmjGDsoti/VPoZ3w2oCjLBNq1jWIGMkbiUgCGUQjVsNrSZ80U
7RmA3Pcu3hhiVQNBGA32vL6NPhSJPanVd77s6XVZg+Gq7llbGGkuIxSkJvVrWzYc
kjMsAInlJ8Ll0kHHbgATOlO5OtQ21bLCfWZPSq74HEVzQAPtCGYFvOgpCktKTjms
GXe9ysiYN8CEWMVNbDqXmvFhi4UifpITeQBVM7dtlBw5SoeLZpsHIlKF5i5WPkNw
7nuMag/+lRpOqvPumhOmqybWHuAR/Dq0pOOPh6BzZ4OzOBL96aWUe1dcnIZeBEm8
oRxYC3nN95YsjtrLK4BQZTYDTzeh8FIccsLdABEBAAG0RHBFcCBUZXN0IEFsaWNl
ICh0ZXN0IGtleSBkb24ndCB1c2UpIDxwZXAudGVzdC5hbGljZUBwZXAtcHJvamVj
dC5vcmc+iQE4BBMBAgAiBQJVeD2xAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIX
gAAKCRCpQR0Xb/AOl5JjCADEBoordVBCmphG6EY+u5yjj/xeQN4Kc1Rl06Ii6m18
4hnF/osxnTicr+A6Hpwf8whXULuSwXvfuOsVOQdIc2e+1zrecTqyNUWuRs3T7uZ2
5dvROg1XZuajMPf3wh5lX2rPRhOt3UNXJjQfc1MSYXpmT+PoqFXBzMqJUo2DYcw6
MSZekoWkIzFXG2s2YNwILwPnLnMesFtzU6mn9qhfoFsQA6aku8AbG+SNehNZvGuu
UiBmu+4UYNoc/RJa7vNWECv9qZQsT820CuoOZS9MFV7nQlgkGoPerlGXil0vkOG1
gsuQD8QkuaTQpn1vYvRcC0P27qLfrqlPv2Ih2hoIV9tJuQENBFV4PbEBCADQwKB9
7t2B2nweprfpbH8QgLCzJYaAMrpcaUaJqm+J3C9eaepRXTXGtst1zaLbooG2b3QH
fDzI2CEYMxO5ynmmSBOe06VKw/PagBzK5ur/eOycl0ZPFSXdlDj30BQPvRdJvLS4
OTMdoKoGpsZDY4hOYj67oHo3TFtrLJCvZruPARkI/pXiOX9FqH4wquNNaYW1qwk/
Wq3k/gOMwp0xjvc01MbadaiiVquJk6jjPrd2wP4FYxIADAllzMpwFAJSWvgCfmqV
bukYOnaCp3QRQXQkc78TdqGXbD5uwJzkxxiEsMmiGT+7RDLIKwXheKmmGXSwgi8m
+EndUiqMTvOdjyUBABEBAAGJAR8EGAECAAkFAlV4PbECGwwACgkQqUEdF2/wDpeQ
VQgArnfQ7uvG0po/CPepbrdytI2n63U5dm/MFMsvXpZYVYLO/mROc+akZCPwS0yx
tSMKK+tYM9leQx58r89c+K1GeZoko7xziwmZbt5zEITiJp5L6gg7k6CczskPMx07
gY8ooscBC3cFJhz1A0o73BKPR7J0iupaNmI3sTd1/RNQm6573kGGwc4m2bcQttvN
5ox8yimn2QnK3D+6A+Mmzi3Rd11tF+tAWJIsfaEgDJZn9mOdUkV2ckoSk1K5Pptp
XSsKLOL+e2WuxSMIr8AVeRqkbYYK6UzX6qIgQIrMOuaXqtRaNxNccnzIS1YtdtYE
RSnTaBotNp/FF2wfI7BNFP6r0A==
=wSWl
-----END PGP PUBLIC KEY BLOCK-----

+ 0
- 30
test/0x70DCF575.asc View File

@ -1,30 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFV4PvYBCADR7kaFLsLFDuGE11u3q2K6eTspAkczU1ahPnSXaVGOIbCQGuL6
MiDET4vXAY/y1picqJ8OuIe2k0S8eDRIYIHF8arhgTkZQny6Cfy7nheWNnxSZBIo
K/8Zqa9dbNBWwHp2l7LOqM3hS8a0O1mQQrrMlV55qnXWJQFaI3P/nlaGUfe+5DuD
tDom8xJicE8an5nhbsyKyNxlYVePVsQVFiLHMVoNZ6eyfyb/nTBdAdQ0KLZM0vDC
8df/VTevytf/PgunziqD67HuDx8Uxyeht5REIrcBEyrgtnvTkVjZJ2MpbXcY2kam
36OH8T4JoBkxlqjU6UiiqV+k04QzAvmp2/anABEBAAG0Q3BFcCBUZXN0IEpvaG4g
KHRlc3Qga2V5LCBkb24ndCB1c2UpIDxwZXAudGVzdC5qb2huQHBlcC1wcm9qZWN0
Lm9yZz6JATgEEwECACIFAlV4PvYCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheA
AAoJEBNc1tFw3PV1rQsIAIGxmMHjAQqsZB7CQAdEdWxM+YkGZPAOqMYZrVaf+wiI
kMP25B9JaSYRccYbI+k+Vg19l5vqVv/ixgDLntZWJFt3LakKkTY3R8ghhKImlVVo
gj6ASho0rUoHLpCLuo0t+N+DGTjBOi1tu90U9L3poPsgYOij6pw226M6zXsvsk4h
Uuljq9ZysKbjGEoqahOLf7p7gjrtCceOQfqnXKNE9QlpQtw/pnwTa97gVR4l7DaK
UEXzASobjEywfCoMH9SaoVL5M/FsIkMSasg6H+J4U8YdxE5x2BRbTQe+90/RlVg5
bNCK9nMKBMBr0KeeJn9JZRykwKOgV5vZl0lQ5BEKEia5AQ0EVXg+9gEIAMEvDo98
6hv9pk4YKLLRhZVyp3KiDQ2ymjdl8v/kh2f3s2roNhF5o2pTfq51oTCIex0Wiyri
7o/1V21e3wYS14uRzF86a5cvmOdR/w1+NuW7hoW9RWBEaC7O4N/TtU7AAQmav8mA
CJBHwdoE98BKmJNAG3SOh/kSdh5HZrL5Yrx4tX7dkJOXI2Jql0IS4R37dmAX5K+9
MqIFDJf0I73iiBGr0v6mbOCEonBznF/6H905Ci2uPZ38DHixN2cyToZg7CkTfC7K
8xmHFv1lcRzlTMyNC0xOlirYPPlhnGslyiyTJqHVyrH/Z788x6wV9ifPnDZfGmRk
C2V8HTBRQhdIuREAEQEAAYkBHwQYAQIACQUCVXg+9gIbDAAKCRATXNbRcNz1dUKv
B/46nvjKNTtPJXidArkPP8rY57kEVWg8spkqBWIeV3AGMzh9qVfRRv4Pfl9IgHaO
vXkoKip9D4zvgpB566gIiE3B3Y4vEzToiBxqVo5L5gzmbG6J1cQdHz6rmKSHPf4z
rNQbCxaGXIJ697mlfKIiIBrV67sH3Xm2l6ECp8PiQGImLFaBI2SbuLSHSz1nC910
ln8AhSYAYlxYBdateo3IZwAZSQibCF/xChvnDcDjZa9GWo3iMlSPAoKXacbrdenj
F/X9yyoeTtTNTuNDGr9Sms72wU+SAYErLDcik1pRhNDmLXEjQC7eBT9WFemkfOVj
mDKjonb9yAz6knxC5kRE5ChX
=csku
-----END PGP PUBLIC KEY BLOCK-----

+ 0
- 30
test/0xC9C2EE39.asc View File

@ -1,30 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFV4Pl8BCACuukQLwsHftH5jkVsSL7COFhamNsEE8lZ8MG1f1Rx5ztPuZTna
YXyWODgpj2Bxz0TcP+Q17GbLKse7TWD1k9i1RzLWz8ZSCLYq2TtjLWPleVuGGWeq
Y3tTWHC/nFbivolNPA0mL2038TGdBolPaZiPZ4P8wuQVYNfDqi4utcezGDNS8OHh
EPhfyKKoSM79HLoUPc6xsfimxPMrylI/i8bFvfDYz5vmydefvAxNhqjLH3Gmhj1p
nInsraEiyh7Y2zAxCfr6hD9nky7WixBinKFFhQpcUu1o+Ie6UGwLVbTyRMOcRsob
yahqA/m2HfDRj1Y+n8HHqsQkB2BtmMYXla3jABEBAAG0QXBFcCBUZXN0IEJvYiAo
dGVzdCBrZXksIGRvbid0IHVzZSkgPHBlcC50ZXN0LmJvYkBwZXAtcHJvamVjdC5v
cmc+iQE4BBMBAgAiBQJVeD5fAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAK
CRBZv/SIycLuOaR5CACj3E6ykNqjGS5PzghYfLJso6j954QzLwOozTzU/3/HWH4l
C3Jmfr0pGI51KZ6Xevrp3N9SxRqruJCFRtwNeH3ujIgDh/UHCUEsP/+d74SOenIB
YGUKE1OJmh8/LQdkNSc6JNdzJjDWdKeh6cAMFvWju/Nqtl/l0FGspQU9dmCMtzkK
gmwoKZW56aEVZ2lTxqNEo1aQ+lLrNueBq0/Q5kAVEzUG7Ufm19wXjWenEMeeElX3
UAGudLJuckx7uD8W/yBwqrRAbaCSeZf6RVBLz96ekjWrVfMnmjkPuQPPt5cs98Rx
QTpxk7b6xLaWXymhA6cYU+FAW4DpbjfJjMWIFDcKuQENBFV4Pl8BCADKQ2SV6gjR
5N69xVdiCaefjwobrXR1niuBHBNTXMJwPk2xv+e7fY28RK1BzODYCzBhpltvRoCc
Ji9S7Rqyz81nbxnw/1TaKtn6dDDhZPVHjN3vasDueM6xTEfEihNc0Owf4wz9SBju
redUVkdTxU7FxSgVP10dOxhdtkjWjGW1DF6WlYA8BAIEdbpoheJHz3NFkhPQ8Dlz
o7Ioe2t7vrTztcBX11o2e+FPOq1SmhEr78wbROAyCVAXK+8qDh4zDq8iAMZK/KnZ
rm6pP00+iBRcb+JQgn3Gn+hU0lgE3YB9kBJLeWaHxEPNnnNNvW/BMl53ctf8Ip+p
zpA1K/S23KU7ABEBAAGJAR8EGAECAAkFAlV4Pl8CGwwACgkQWb/0iMnC7jlqbwf/
dP4sXDRiR5uVMh5WhOn1S8MnHZhLWAQ6fI9/KxggCPhgY6zAgszPMutzBsQlV4P6
QX30d99IMJrzGYYxjN7Z6fF7us9u103+GTzGQH7/47JG0eSTSaKQvqEaN1+6M/OB
ZKcwNW6xHa+lhIS5nJGV3Oey/RFQwucBujQbtyjDN3aGshwqzhJXFBlF3RqFzLxu
AJmeOVedaKvdPjRhgFuxhkicUhVp27qXQCpDpkUkj9hb75yCE6pAzopO6s65yHsn
FyehwgyMrfpTPlPM86B1LH4IEwSaOrEJSdHnnFD8nnSIjRyfra3dsI/RVNmYX8Ek
MGICzoR4lWcYFShJQM6QQg==
=ugiE
-----END PGP PUBLIC KEY BLOCK-----

+ 0
- 57
test/6FF00E97_sec.asc View File

@ -1,57 +0,0 @@
-----BEGIN PGP PRIVATE KEY BLOCK-----
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
S1YtdtYERSnTaBotNp/FF2wfI7BNFP6r0A==
=kV7k
-----END PGP PRIVATE KEY BLOCK-----

+ 0
- 57
test/70DCF575_sec.asc View File

@ -1,57 +0,0 @@
-----BEGIN PGP PRIVATE KEY BLOCK-----
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
FemkfOVjmDKjonb9yAz6knxC5kRE5ChX
=7r/5
-----END PGP PRIVATE KEY BLOCK-----

+ 0
- 57
test/C9C2EE39_sec.asc View File

@ -1,57 +0,0 @@
-----BEGIN PGP PRIVATE KEY BLOCK-----
lQOYBFV4Pl8BCACuukQLwsHftH5jkVsSL7COFhamNsEE8lZ8MG1f1Rx5ztPuZTna
YXyWODgpj2Bxz0TcP+Q17GbLKse7TWD1k9i1RzLWz8ZSCLYq2TtjLWPleVuGGWeq
Y3tTWHC/nFbivolNPA0mL2038TGdBolPaZiPZ4P8wuQVYNfDqi4utcezGDNS8OHh
EPhfyKKoSM79HLoUPc6xsfimxPMrylI/i8bFvfDYz5vmydefvAxNhqjLH3Gmhj1p
nInsraEiyh7Y2zAxCfr6hD9nky7WixBinKFFhQpcUu1o+Ie6UGwLVbTyRMOcRsob
yahqA/m2HfDRj1Y+n8HHqsQkB2BtmMYXla3jABEBAAEAB/wKqiU2GVr1zJ5iqGZ7
hS9zDk3imXjAuwpK7GlfAVk9snSRpycK7IrxeX8s3J30qsOxGv5sYvOUcGK35kCs
eV78RyfthmM8WMcs28ATgE7WtkhyUAGmTwnuq9+Ldz9MYEUHUrEaXnTkBocFmd0I
Qx5qZLvHHtDtRx4HfAJZz0/5kj8KyKYB5cYsvRoLYdCWuxeIbJu5FYtHHBywNFnZ
Qt8STaQqZPD0gPh3ahzY8KYJFZbSFpGfaH0AX5dkFpUJdyad4R2c9ZOmnaK3W0Ba
cdQSdi66iiT0UG7f6ECR9HfI+nVfshOVLZA90p+LqLW51S7iBeFAoZyYfKuNrE9b
pV3VBADNf9Ec2CJ3jo2LrTrkN1HkcjmwdosFQWaDaXtRmV/GidWAyTS+JzaxnS1A
Y9klOqJktVNegrrkk+Xo6jHxkneGucDSsxpIVIcqTa2LGrt1E1eHNYwuEPIyHvl3
gPmfLCuetu+qp97+EOJBklSJi4ljPcAo7i+WI4Nsni6Q6eF7XQQA2aqRpIBmDdFY
9x3uAMDO3mSqIiEJWPiFZHs/qKGezJUgl4hrsjuiUWiD1gcPSS0zJRcZZ7GLYb9r
1uJOnzOtTLexEnAa0VJ9Svci+jtRX6HVETAnYqn9AQ/0sYvmTmWKge7q7BJHGnyv
YbyXmCwGyV8/cvSS8Mmh8iMYWg6mej8D/jN0ymPP9jGeuFav6Va/T8j+Fdl0zTVT
MkFPizlxJEev6PA9QKvAWo4iqRA3SIdqjrZpPcpwhalV5cK4KfHlh8/GagjU9kFS
JvUarmLZqoDqKT6cHb2OzcNBeCsuKGthraT1G+8NpXIgNr6a+5upo83pbL4RarPn
3u2JgSX0RPKDP8y0QXBFcCBUZXN0IEJvYiAodGVzdCBrZXksIGRvbid0IHVzZSkg
PHBlcC50ZXN0LmJvYkBwZXAtcHJvamVjdC5vcmc+iQE4BBMBAgAiBQJVeD5fAhsD
BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBZv/SIycLuOaR5CACj3E6ykNqj
GS5PzghYfLJso6j954QzLwOozTzU/3/HWH4lC3Jmfr0pGI51KZ6Xevrp3N9SxRqr
uJCFRtwNeH3ujIgDh/UHCUEsP/+d74SOenIBYGUKE1OJmh8/LQdkNSc6JNdzJjDW
dKeh6cAMFvWju/Nqtl/l0FGspQU9dmCMtzkKgmwoKZW56aEVZ2lTxqNEo1aQ+lLr
NueBq0/Q5kAVEzUG7Ufm19wXjWenEMeeElX3UAGudLJuckx7uD8W/yBwqrRAbaCS
eZf6RVBLz96ekjWrVfMnmjkPuQPPt5cs98RxQTpxk7b6xLaWXymhA6cYU+FAW4Dp
bjfJjMWIFDcKnQOYBFV4Pl8BCADKQ2SV6gjR5N69xVdiCaefjwobrXR1niuBHBNT
XMJwPk2xv+e7fY28RK1BzODYCzBhpltvRoCcJi9S7Rqyz81nbxnw/1TaKtn6dDDh
ZPVHjN3vasDueM6xTEfEihNc0Owf4wz9SBjuredUVkdTxU7FxSgVP10dOxhdtkjW
jGW1DF6WlYA8BAIEdbpoheJHz3NFkhPQ8Dlzo7Ioe2t7vrTztcBX11o2e+FPOq1S
mhEr78wbROAyCVAXK+8qDh4zDq8iAMZK/KnZrm6pP00+iBRcb+JQgn3Gn+hU0lgE
3YB9kBJLeWaHxEPNnnNNvW/BMl53ctf8Ip+pzpA1K/S23KU7ABEBAAEAB/0UO5/y
aSoUXl8zv5ZpWGA8E1x7qU3MPZQfgwtMhwEXplEyVelHSvIkjQAsjridPqf1KhAy
dkHY8kRAo4xMqoHjIMIzu+76hgKDzcoH+gfumOD97qwPDub/kGBg1j5v8KGg4knD
L8pNXKMWlNeSFzDf6BmFipmfb3EVYBiIMceIz97c4BGvs29TC2wIKmJBRbWu9eS7
vqkBj8rEGi+pEnzTFvcZTMkoU6Uj/HifpvQ7BcOzUQ/1tiGQMEPv8oPMWmKudqBw
53e7RoYCZmTzuzI5fNvNcNT1EcUQmAfkgT6zvQuY63DAdECVx2f0p7MlgGA9ncQb
IVVdBtJXfwsAFmthBADXmavPPgiC8nU1q8e2pB0pmS3/uflPdmh+xKs0MxylDgSO
H9Ar7g9duxsrjxxHzlkTb0Am2XeWww3fBO762VH9VCAPH3FRoHGNCnY6Ix0MyikW
g4Gs66QXHMTNweOa9zk+cZS6N0H6dDis6x+9M1FCeJzy3gXaq+vfV5LfGeXMYQQA
8CnyHE7rjoqGNPnTWetuYgo6yhYJudbhO0uDewR5MdP1gwpTUmYl5RD41LSwTSGp
VSbjtct5dQg2ZhjUWxXcx1OC+aMafmDPi6S32mwbgfNtfTCIygM8CPDjdWbFu1ba
KbPA9Lc/SHgpg0vbdiZ4PWOqsqnig834r+3VfLX/dxsEANAWGGJRNTHmIwoC4HsV
+KiyApbBRw2TCHxJjlzFY2OFpe8RuGKE7HpKiSYjarGxP0RlESrbie0nbJ8FooIH
gY2ipO3khgK4MK1Xua405mNVzge9oNJPgWEtLabubimVnTwjU6O7m79Xl+R9BYb1
GVZm7f/WMDL7BsNVvhMVjdgiOOOJAR8EGAECAAkFAlV4Pl8CGwwACgkQWb/0iMnC
7jlqbwf/dP4sXDRiR5uVMh5WhOn1S8MnHZhLWAQ6fI9/KxggCPhgY6zAgszPMutz
BsQlV4P6QX30d99IMJrzGYYxjN7Z6fF7us9u103+GTzGQH7/47JG0eSTSaKQvqEa
N1+6M/OBZKcwNW6xHa+lhIS5nJGV3Oey/RFQwucBujQbtyjDN3aGshwqzhJXFBlF
3RqFzLxuAJmeOVedaKvdPjRhgFuxhkicUhVp27qXQCpDpkUkj9hb75yCE6pAzopO
6s65yHsnFyehwgyMrfpTPlPM86B1LH4IEwSaOrEJSdHnnFD8nnSIjRyfra3dsI/R
VNmYX8EkMGICzoR4lWcYFShJQM6QQg==
=rBox
-----END PGP PRIVATE KEY BLOCK-----

+ 13
- 35
test/Makefile View File

@ -1,4 +1,4 @@
# Copyright 2017, pEp Foundation
# Copyright 2019, pEp Foundation
# This file is part of pEpEngine
# This file may be used under the terms of the GNU General Public License version 3
# see LICENSE.txt
@ -7,28 +7,22 @@ HERE:=$(CURDIR)
include ../Makefile.conf
# User's without python3 will skip the generated parts of the test suite. That's OK.
PY_ENV:=$(shell command -v python3 2> /dev/null)
TEST_HOME=$(HERE)/pEp_test_home
TARGET=TestDriver
GTEST_DIR:=googletest/googletest
SRCS:=$(wildcard src/*.cc) $(wildcard src/*/*.cc)
OBJS:=$(addsuffix .o,$(basename $(SRCS)))
DEPS:=$(OBJS:.o=.d)
LDFLAGS+= -L../asn.1 -L../src $(ETPAN_LIB) $(CPPUNIT_LIB)
TARGET:=EngineTests
ifeq ($(OPENPGP),GPG)
LDFLAGS+= $(GPGME_LIB)
else ifeq ($(OPENPGP),NETPGP)
LDFLAGS+= $(NETGPG_LIB)
endif
LDLIBS+= -letpan -lpEpEngine -lstdc++ -lasn1 -lcpptest
LDLIBS+= -letpan -lpEpEngine -lstdc++ -lasn1
ifeq ($(BUILD_FOR),Linux)
LDLIBS+= -luuid
@ -54,7 +48,6 @@ else ifeq ($(OPENPGP),NETPGP)
endif
endif
CXXFLAGS:=$(filter-out -DNDEBUG,$(CXXFLAGS))
# FIXME Possibly missing incdirs: ASN1C_INC
@ -66,7 +59,6 @@ else ifeq ($(OPENPGP),NETPGP)
CXXFLAGS+= -DUSE_NETPGP $(NETPGP_INC)
endif
EXTRA_LIB_PATHS=.:../src:
ifdef ETPAN_LIB
EXTRA_LIB_PATHS:=$(EXTRA_LIB_PATHS)$(patsubst -L%,%,$(ETPAN_LIB)):
@ -98,40 +90,26 @@ TEST_CMD_PFX=
.PHONY: all clean test
all:
make .suitemaker
make $(TARGET) .scripts
touch .suitemaker
make $(TARGET)
%.d: %.cc
$(CXX) -MM $(CPPFLAGS) $(CXXFLAGS) $< | sed -e 's,\($*\)\.o[ :]*,\1.o $@: ,g' > $@
.suitemaker: src
ifndef PY_ENV
@echo "WARNING: Can't find python3 - this is fine unless you're adding test suites. If so, please install python3."
else
ifndef EXCLUDE
$(PY_ENV) gensuitemaker.py
else
# Comma-separated list, no spaces
$(PY_ENV) gensuitemaker.py --exclude=$(EXCLUDE)
endif
endif
$(TARGET): $(OBJS) gtest-all.o gtest_main.o
# $(LINK.cc) $(OBJS) $(LOADLIBES) $(LDLIBS) -o $@
${CXX} ${LDFLAGS} -L${PREFIX}/lib -o $@ $^ -lpEpEngine $(LDLIBS)
$(TARGET): $(OBJS)
$(LINK.cc) $(OBJS) $(LOADLIBES) $(LDLIBS) -o $@
gtest-all.o: $(GTEST_DIR)/src/gtest-all.cc
${CXX} ${CXXFLAGS} $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -isystem $(GTEST_DIR)/include -o $@ -c $<
.scripts:
ifdef PY_ENV
$(PY_ENV) genscripts.py
touch .scripts
endif
gtest_main.o: $(GTEST_DIR)/src/gtest_main.cc
${CXX} ${CXXFLAGS} $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -isystem $(GTEST_DIR)/include -o $@ -c $<
test: all
$(TEST_CMD_PFX) $(TEST_DEBUGGER) ./$(TARGET)
clean:
$(RM) $(TARGET) $(TARGET).o $(TARGET).d $(OBJS) $(notdir $(basename $(OBJS))) $(DEPS)
$(RM) $(HERE)/*Tests msg_2.0.asc $(HERE)/pEp_test_home .scripts .suitemaker
# If only the goal 'clean' is given, do not generate and include the '%.d' files.¬
ifneq ($(MAKECMDGOALS),clean)


+ 0
- 29
test/genscripts.py View File

@ -1,29 +0,0 @@
#! /usr/bin/env python3
# This file is under GNU General Public License 3.0
# see LICENSE.txt
from os import listdir, getcwd
from os.path import isfile, join
from re import sub
import os
import stat
import datetime
srcpath = join(getcwd(), "src/engine_tests")
ls = listdir(srcpath)
for f in ls:
if isfile(join(srcpath, f)):
if (f.endswith(".cc")):
suite = sub('\.cc$', '', f)
outfile = open(suite, 'w')
output = (
"#!/bin/bash\n"
"# This is a convenience script for launching individual tests and tab completion with TestDriver \n\n" +
"./TestDriver " + suite + "\n\n")
outfile.write(output)
os.chmod(suite,
(stat.S_IRWXU | stat.S_IRGRP | stat.S_IROTH | stat.S_IXGRP | stat.S_IXOTH))
outfile.close()

+ 0
- 112
test/gensuitemaker.py View File

@ -1,112 +0,0 @@
#! /usr/bin/env python3
# This file is under GNU General Public License 3.0
# see LICENSE.txt
import argparse
from os import listdir, getcwd
from os.path import isfile, join
from re import sub
import datetime
srcpath = join(getcwd(), "src/engine_tests")
ls = listdir(srcpath)
suites = []
indent = " "
parser = argparse.ArgumentParser()
parser.add_argument("--exclude", "-x", help="Comma-separated list of tests to exclude from test suite build")
args = parser.parse_args()
exclude_arg = args.exclude
exclude_list = []
if exclude_arg:
exclude_list = exclude_arg.split(",")
for x in exclude_list:
x.replace(" ","")
for f in ls:
if isfile(join(srcpath, f)):
if (f.endswith(".cc")):
suite = sub('\.cc$', '', f)
if not suite in exclude_list:
suites.append(suite)
license = (''
'// This file is under GNU General Public License 3.0\n'
'// see LICENSE.txt\n\n')
header = license + "//\n// src/SuiteMaker.cc generated by gensuitemaker.py - changes may be overwritten. You've been warned!\n//\n\n"
header += (''
'#include <cpptest.h>\n'
'#include <cpptest-suite.h>\n'
'#include <memory>\n'
'#include <vector>\n'
'#include "SuiteMaker.h"\n')
suiteincludes = ""
for s in suites:
suiteincludes += '#include "' + s + '.h"\n'
output = header + "\n// Begin where we generate stuff\n" + suiteincludes + "\n"
output += ("\n"
"const char* SuiteMaker::all_suites[] = {\n")
first = True
for s in suites:
output += indent + '"' + s + '",\n'
output += "};\n\n"
output += (
'// This file is generated, so magic constants are ok.\n'
'int SuiteMaker::num_suites = ')
output += str(len(suites)) + ";\n\n"
output += "void SuiteMaker::suitemaker_build(const char* test_class_name, const char* test_home, Test::Suite** test_suite) {\n"
first = True
for s in suites:
output += indent
if not first:
output += "else "
else:
first = False
output += ('if (strcmp(test_class_name, "' + s + '") == 0)\n' +
indent + indent + '*test_suite = new ' + s + '(test_class_name, test_home);\n')
output += "}\n\n"
output += (
'void SuiteMaker::suitemaker_buildlist(const char** test_class_names, int num_to_run, const char* test_home, std::vector<Test::Suite*>& test_suites) {\n'
' for (int i = 0; i < num_to_run; i++) {\n'
' Test::Suite* suite = NULL;\n'
' SuiteMaker::suitemaker_build(test_class_names[i], test_home, &suite);\n'
' if (!suite)\n'
' throw std::runtime_error("Could not create a test suite instance."); // FIXME, better error, cleanup, obviously\n'
' test_suites.push_back(suite);\n'
' }\n'
'}'
'\n'
'void SuiteMaker::suitemaker_buildall(const char* test_home, std::vector<Test::Suite*>& test_suites) {\n'
' SuiteMaker::suitemaker_buildlist(SuiteMaker::all_suites, SuiteMaker::num_suites, test_home, test_suites);\n'
'}\n\n')
suitemaker = open("src/SuiteMaker.cc", 'w')
suitemaker.write(output)
suitemaker.close()
generated_at = ("src/SuiteMaker.cc" + " generated at " + datetime.datetime.now().strftime('%c'))
print(generated_at)

+ 0
- 124
test/gentestshell.py View File

@ -1,124 +0,0 @@
#! /usr/bin/env python3
import argparse
import os
import subprocess
import re
def decamel(name):
retval = re.sub('([A-Z])', r'_\1', name).lower()
return re.sub('^_', r'', retval)
parser = argparse.ArgumentParser()
parser.add_argument("suite_name", help="(convention is <NameInUpperCamelCase>, e.g. StringpairList - suite created will then be StringpairListTests)")
parser.add_argument("--clobber", "-c", help="Overwrite extant files (must be explicitly indicated)", action='store_true')
gengroup = parser.add_mutually_exclusive_group()
gengroup.add_argument("--no_src", help="Generate header only, no source", action='store_true')
gengroup.add_argument("--no_hdr", help="Generate source only, no header", action='store_true')
typegroup = parser.add_mutually_exclusive_group()
typegroup.add_argument("--test", "-t", help="Just generate a generic test suite (no engine initialisation or db/gpg setup/teardown - default)", action='store_true')
typegroup.add_argument("--indiv", "-i", help="Generate a test suite with engine initialisation/release and gpg/db teardown between each test function", action='store_true')
typegroup.add_argument("--session", "-s", help="Generate a test suite with engine initialisation/release and gpg/db teardown only at the beginning and end of the test suite", action='store_true')
args = parser.parse_args()
suitename = args.suite_name
test_suite = suitename + "Tests"
superclass = "EngineTestSuite"
if args.indiv:
superclass = "EngineTestIndividualSuite"
elif args.session:
superclass = "EngineTestSessionSuite"
print("\nCreating " + test_suite + " as an " + superclass + "\n")
uncamel = decamel(suitename)
print(uncamel)
nspace = "using namespace std;\n\n"
license = ("// This file is under GNU General Public License 3.0\n"
"// see LICENSE.txt\n\n")
default_single_testname = "check_" + re.sub('_tests$', r'', uncamel)
if not args.no_hdr:
header_def = uncamel.upper() + "_H"
deftxt = "#ifndef " + header_def + "\n#define " + header_def + "\n\n"
header_inc = ("#include <string>\n"
"#include \"" + superclass + ".h\"\n\n")
header = license + deftxt + header_inc + nspace
classdef = "class " + test_suite + " : public " + superclass + " {\n" + \
" public:\n" + \
" " + test_suite + "(string test_suite, string test_home_dir);\n" + \
" private:\n" \
" void " + default_single_testname + "();\n" + \
"};\n"
header_file = header + classdef + "\n#endif\n"
#print(header_file)
do_write = True
hfile_name = test_suite + ".h"
hfile_path = os.path.join(os.path.join(os.getcwd(), "include"), hfile_name)
if not args.clobber:
if (os.path.isfile(hfile_path)):
print(hfile_path + " exists. Not writing header file. Use --clobber to overwrite.")
do_write = False
if do_write:
header_out = open(hfile_path, 'w')
header_out.write(header_file)
header_out.close()
if not args.no_src:
src_inc = ('#include <stdlib.h>\n'
'#include <cstring>\n'
'#include <string>\n\n'
'#include <cpptest.h>\n'
'#include "test_util.h"\n\n'
'#include "pEpEngine.h"\n\n'
'#include "' + superclass +'.h"\n'
'#include "' + test_suite + '.h"\n\n')
test_suite_prefix = test_suite + "::"
fname = test_suite_prefix + default_single_testname
constructor = test_suite_prefix + test_suite + "(string suitename, string test_home_dir) :\n" + \
" " + superclass + "::" + superclass + "(suitename, test_home_dir) {\n" + \
" add_test_to_suite(std::pair<std::string, void (Test::Suite::*)()>(string(\"" + fname + "\"),\n" + \
" static_cast<Func>(&" + fname + ")));\n" + \
"}\n\n"
def_funct = "void " + test_suite_prefix + default_single_testname + "() {\n" + \
" TEST_ASSERT(true);\n" + \
"}\n\n"
src_file = license + src_inc + nspace + constructor + def_funct
do_write = True
sfile_name = test_suite + ".cc"
sfile_path = os.path.join(os.path.join(os.getcwd(), "src/engine_tests"), sfile_name)
if not args.clobber:
if (os.path.isfile(sfile_path)):
print(sfile_path + " exists. Not writing source file. Use --clobber to overwrite.")
do_write = False
if do_write:
src_out = open(sfile_path, 'w')
src_out.write(src_file)
src_out.close()

gtest/gtest_firstpass.py → test/gtest_firstpass.py View File


gtest/src/AppleMailTest.cc → test/src/AppleMailTest.cc View File


gtest/src/BCCTest.cc → test/src/BCCTest.cc View File


gtest/src/BlacklistAcceptNewKeyTest.cc → test/src/BlacklistAcceptNewKeyTest.cc View File


gtest/src/BlacklistTest.cc → test/src/BlacklistTest.cc View File


test/src/engine_tests/BloblistTests.cc → test/src/BloblistTests.cc View File


test/src/engine_tests/CaseAndDotAddressTests.cc → test/src/CaseAndDotAddressTests.cc View File


test/src/engine_tests/CheckRenewedExpiredKeyTrustStatusTests.cc → test/src/CheckRenewedExpiredKeyTrustStatusTests.cc View File


test/src/engine_tests/CrashdumpTests.cc → test/src/CrashdumpTests.cc View File


test/src/engine_tests/DecorateTests.cc → test/src/DecorateTests.cc View File


test/src/engine_tests/DecryptAttachPrivateKeyTrustedTests.cc → test/src/DecryptAttachPrivateKeyTrustedTests.cc View File


test/src/engine_tests/DecryptAttachPrivateKeyUntrustedTests.cc → test/src/DecryptAttachPrivateKeyUntrustedTests.cc View File


test/src/engine_tests/DeleteKeyTests.cc → test/src/DeleteKeyTests.cc View File


test/src/engine_tests/EncryptAttachPrivateKeyTests.cc → test/src/EncryptAttachPrivateKeyTests.cc View File


test/src/engine_tests/EncryptForIdentityTests.cc → test/src/EncryptForIdentityTests.cc View File


test/src/engine_tests/EncryptMissingPrivateKeyTests.cc → test/src/EncryptMissingPrivateKeyTests.cc View File


gtest/src/Engine.cc → test/src/Engine.cc View File


gtest/src/Engine.h → test/src/Engine.h View File


test/src/engine_tests/Engine358Tests.cc → test/src/Engine358Tests.cc View File


test/src/engine_tests/Engine463Tests.cc → test/src/Engine463Tests.cc View File


+ 0
- 31
test/src/EngineTestIndividualSuite.cc View File

@ -1,31 +0,0 @@
#include "TestConstants.h"
#include <cpptest.h>
#include <cpptest-suite.h>
#include <cpptest-textoutput.h>
#include <stdlib.h>
#include <unistd.h>
#include <ftw.h>
#include "EngineTestSuite.h"
#include "EngineTestIndividualSuite.h"
using namespace std;
// Constructor
EngineTestIndividualSuite::EngineTestIndividualSuite(string suitename, string test_home_dir)
: EngineTestSuite(suitename, test_home_dir) {
}
EngineTestIndividualSuite::~EngineTestIndividualSuite() {
}
void EngineTestIndividualSuite::setup() {
EngineTestSuite::setup();
set_full_env(); // This will be called by default before every test
}
void EngineTestIndividualSuite::tear_down() {
restore_full_env();
EngineTestSuite::tear_down();
}

+ 0
- 31
test/src/EngineTestSessionSuite.cc View File

@ -1,31 +0,0 @@
#include <cpptest.h>
#include "TestConstants.h"
#include <cpptest-suite.h>
#include <cpptest-textoutput.h>
#include <stdlib.h>
#include <unistd.h>
#include <ftw.h>
#include "EngineTestSuite.h"
#include "EngineTestSessionSuite.h"
using namespace std;
// Constructor
EngineTestSessionSuite::EngineTestSessionSuite(string suitename, string test_home_dir)
: EngineTestSuite(suitename, test_home_dir) {}
EngineTestSessionSuite::~EngineTestSessionSuite() {}
void EngineTestSessionSuite::setup() {
EngineTestSuite::setup();
if (on_test_number == 1)
set_full_env();
}
void EngineTestSessionSuite::tear_down() {
if (on_test_number == number_of_tests)
restore_full_env();
EngineTestSuite::tear_down();
}

+ 0
- 280
test/src/EngineTestSuite.cc View File

@ -1,280 +0,0 @@
#include <stdlib.h>
#include <sys/stat.h>
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <ftw.h>
#include <assert.h>
#include <fstream>
#include <iostream>
#include <sys/types.h>
#include <sys/stat.h>
#include <cpptest.h>
#include <string>
#include <vector>
#include <utility>
#include "platform_unix.h"
#include "test_util.h"
#include "EngineTestSuite.h"
#include "pEpTestStatic.h"
#include <algorithm>
#include "TestConstants.h"
using namespace std;
// Constructor
EngineTestSuite::EngineTestSuite(string suitename, string test_home_dir) {
// FIXME: deal with base
test_home = test_home_dir;
number_of_tests = 0;
on_test_number = 0;
real_home = getenv("HOME");
cached_messageToSend = NULL;
cached_inject_sync_event = NULL;
}
EngineTestSuite::~EngineTestSuite() {}
void EngineTestSuite::add_test_to_suite(std::pair<std::string, void (Test::Suite::*)()> test_func) {
test_map.insert(test_func);
register_test(test_func.second, test_func.first);
number_of_tests++;
}
void EngineTestSuite::copy_conf_file_to_test_dir(const char* dest_path, const char* conf_orig_path, const char* conf_dest_name) {
string conf_dest_path = dest_path;
struct stat pathinfo;
if(stat(conf_dest_path.c_str(), &pathinfo) != 0) {
int errchk = mkdir(conf_dest_path.c_str(), S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH);
if (errchk != 0)
throw std::runtime_error("Error accessing conf file directory.");
}
conf_dest_path += "/";
conf_dest_path += conf_dest_name;
ifstream src(conf_orig_path);
ofstream dst(conf_dest_path.c_str(), ios::trunc);
assert(src);
assert(dst);
dst << src.rdbuf();
src.close();
dst.close();
}
void EngineTestSuite::add_file_to_gpg_dir_queue(string copy_from, string dst_fname) {
gpgdir_fileadd_queue.push_back(make_pair(copy_from, dst_fname));
}
void EngineTestSuite::add_file_to_home_dir_queue(string copy_from, string dst_fname) {
homedir_fileadd_queue.push_back(make_pair(copy_from, dst_fname));
}
void EngineTestSuite::process_file_queue(string dirname, vector<pair<string, string>> file_queue) {
if (file_queue.empty())
return;
vector<pair<string, string>>::iterator it;
for (it = file_queue.begin(); it != file_queue.end(); it++) {
copy_conf_file_to_test_dir(dirname.c_str(), it->first.c_str(), it->second.c_str());
}
file_queue.clear();
}
void EngineTestSuite::set_full_env() {
set_full_env(NULL, NULL, NULL);
}
void EngineTestSuite::set_full_env(const char* gpg_conf_copy_path, const char* gpg_agent_conf_file_copy_path, const char* db_conf_file_copy_path) {
int success = 0;
struct stat dirchk;
set_my_name();
// FIXME
#ifndef USE_NETPGP
#ifndef USE_SEQUOIA
success = system("gpgconf --kill all");
if (success != 0)
throw std::runtime_error("SETUP: Error when executing 'gpgconf --kill all'.");
#endif
#endif
if (stat(test_home.c_str(), &dirchk) == 0) {
if (!S_ISDIR(dirchk.st_mode))
throw std::runtime_error(("The test directory, " + test_home + "exists, but is not a directory.").c_str());
struct stat buf;
if (stat(test_home.c_str(), &buf) == 0) {
int success = nftw((test_home + "/.").c_str(), util_delete_filepath, 100, FTW_DEPTH);
}
}
else {
int errchk = mkdir(test_home.c_str(), S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH);
cout << errchk << endl;
if (errchk != 0)
throw std::runtime_error("Error creating a test directory.");
}
if (my_name.size() > pEpTestStatic::classname_chars)
my_name.resize(pEpTestStatic::classname_chars);
if (on_test_number > pEpTestStatic::max_test_num) {
cerr << "Warning - there are at least " << pEpTestStatic::max_test_num << " tests in this suite. While this probably won't cause "
<< endl << "problems, there is an obscure possibility that if your test path is REALLY REALLY LONG, tests will fail because gpg-agent "
<< endl << "won't start with huge paths. In general, however, we stop well before these limits, and pEpTestStatic::testnum_path_chars "
<< endl << "is overly conservative, so you probably don't need to worry." << endl;
}
temp_test_home = test_home + "/" + my_name;
int errchk = mkdir(temp_test_home.c_str(), S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH);
if (errchk != 0 && errno != EEXIST)
throw std::runtime_error("Error creating a test directory.");
temp_test_home += "/" + to_string(on_test_number);
errchk = mkdir(temp_test_home.c_str(), S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH);
if (errchk != 0)
throw std::runtime_error("Error creating a test directory.");
// TODO: This is *nix specific, which the current testing env is anyway,
// but it needn't remain so forever and always
string home = getenv("HOME");
char* tmp = NULL;
tmp = getenv("GNUPGHOME");
prev_pgp_home.clear();
if (tmp)
prev_pgp_home = tmp;
if (temp_test_home.empty())
throw std::runtime_error("SETUP: BAD INITIALISATION. No test home.");
assert(temp_test_home.compare(home) != 0);
assert(temp_test_home.compare(home + "/") != 0);
assert(temp_test_home.compare(home + "/.gnupg") != 0); // This is an EXCLUSION test, so we leave this.
assert(temp_test_home.compare(home + ".gnupg") != 0);
assert(temp_test_home.compare(home + "/gnupg") != 0);
assert(temp_test_home.compare(home + "gnupg") != 0);
assert(temp_test_home.compare(prev_pgp_home) != 0);
assert(temp_test_home.compare(prev_pgp_home + "/gnupg") != 0);
assert(temp_test_home.compare(prev_pgp_home + "gnupg") != 0);
assert(temp_test_home.compare(prev_pgp_home + "/.gnupg") != 0);
assert(temp_test_home.compare(prev_pgp_home + ".gnupg") != 0);
if (temp_test_home.compare(home) == 0 || temp_test_home.compare(home + "/") == 0 ||
temp_test_home.compare(home + "/gnupg") == 0 || temp_test_home.compare(home + "gnupg") == 0 ||
temp_test_home.compare(home + "/.gnupg") == 0 || temp_test_home.compare(home + ".gnupg") == 0 ||
temp_test_home.compare(prev_pgp_home) == 0 || temp_test_home.compare(prev_pgp_home + "/gnupg") == 0 ||
temp_test_home.compare(prev_pgp_home + "gnupg") == 0 || temp_test_home.compare(prev_pgp_home + "/.gnupg") == 0 ||
temp_test_home.compare(prev_pgp_home + ".gnupg") == 0)
throw std::runtime_error("SETUP: new pgp homedir threatens to mess up user pgp homedir (and delete all their keys). NO DICE.");
// cout << "Ok - checked if new test home will be safe. We'll try and make the directory, deleting it if it has already exists." << endl;
cout << "Test home directory is " << temp_test_home << endl;
struct stat buf;
success = setenv("GNUPGHOME", (temp_test_home + "/gnupg").c_str(), 1);
if (success != 0)
throw std::runtime_error("SETUP: Error when setting GNUPGHOME.");
cout << "New GNUPGHOME is " << getenv("GNUPGHOME") << endl << endl;
success = setenv("HOME", temp_test_home.c_str(), 1);
if (success != 0)
throw std::runtime_error("SETUP: Cannot set test_home for init.");
string tmp_gpg_dir = temp_test_home + "/.gnupg";
process_file_queue(tmp_gpg_dir, gpgdir_fileadd_queue);
process_file_queue(temp_test_home, homedir_fileadd_queue);
if (gpg_conf_copy_path)
copy_conf_file_to_test_dir((temp_test_home + "/gnupg").c_str(), gpg_conf_copy_path, "gpg.conf");
if (gpg_agent_conf_file_copy_path)
copy_conf_file_to_test_dir((temp_test_home + "/gnupg").c_str(), gpg_agent_conf_file_copy_path, "gpg-agent.conf");
if (db_conf_file_copy_path)
copy_conf_file_to_test_dir(temp_test_home.c_str(), db_conf_file_copy_path, ".pEp_management.db");
unix_local_db(true);
gpg_conf(true);
gpg_agent_conf(true);
// cout << "calling init()\n";
PEP_STATUS status = init(&session, cached_messageToSend, cached_inject_sync_event);
#ifndef USE_NETPGP
#ifndef USE_SEQUOIA
success = system("gpgconf --create-socketdir");
if (success != 0)
throw std::runtime_error("RESTORE: Error when executing 'gpgconf --create-socketdir'.");
system("gpg-connect-agent /bye 2>/dev/null"); // Just in case - otherwise, we die on MacOS sometimes. Is this enough??
#endif
#endif
assert(status == PEP_STATUS_OK);
assert(session);
// cout << "init() completed.\n";
}
void EngineTestSuite::restore_full_env() {
release(session);
session = NULL;
int success = 0;
#ifndef USE_NETPGP
#ifndef USE_SEQUOIA
success = system("gpgconf --kill all");
if (success != 0)
throw std::runtime_error("RESTORE: Error when executing 'gpgconf --kill all'.");
success = system("gpgconf --remove-socketdir");
if (success != 0)
throw std::runtime_error("RESTORE: Error when executing 'gpgconf --remove-socketdir'.");
#endif
#endif
success = setenv("GNUPGHOME", prev_pgp_home.c_str(), 1);
if (success != 0)
throw std::runtime_error("RESTORE: Warning - cannot restore GNUPGHOME. Either set environment variable manually back to your home, or quit this session!");
success = nftw((test_home + "/.").c_str(), util_delete_filepath, 100, FTW_DEPTH);
success = setenv("HOME", real_home.c_str(), 1);
if (success != 0)
throw std::runtime_error("RESTORE: Cannot reset home directory! Either set environment variable manually back to your home, or quit this session!");
// else
// cout << "RESTORE: HOME is now " << getenv("HOME") << endl;
unix_local_db(true);
gpg_conf(true);
gpg_agent_conf(true);
}
void EngineTestSuite::setup() {
on_test_number++;
}
void EngineTestSuite::tear_down() {}
void EngineTestSuite::set_my_name() {
my_name = typeid(*this).name();
}

test/src/engine_tests/EnterLeaveDeviceGroupTests.cc → test/src/EnterLeaveDeviceGroupTests.cc View File


test/src/engine_tests/ExpiredSubkeyTests.cc → test/src/ExpiredSubkeyTests.cc View File


gtest/src/ExportKeyTest.cc → test/src/ExportKeyTest.cc View File


test/src/engine_tests/ExternalRevokeTests.cc → test/src/ExternalRevokeTests.cc View File


test/src/engine_tests/GetKeyRatingForUserTests.cc → test/src/GetKeyRatingForUserTests.cc View File


test/src/engine_tests/HeaderKeyImportTests.cc → test/src/HeaderKeyImportTests.cc View File


test/src/engine_tests/I18nTests.cc → test/src/I18nTests.cc View File


test/src/engine_tests/IOS1664Tests.cc → test/src/IOS1664Tests.cc View File


test/src/engine_tests/IdentityListTests.cc → test/src/IdentityListTests.cc View File


test/src/engine_tests/KeyAttachmentTests.cc → test/src/KeyAttachmentTests.cc View File


test/src/engine_tests/KeyResetMessageTests.cc → test/src/KeyResetMessageTests.cc View File


test/src/engine_tests/KeyeditTests.cc → test/src/KeyeditTests.cc View File


test/src/engine_tests/KeyringImportTests.cc → test/src/KeyringImportTests.cc View File


test/src/engine_tests/LeastColorGroupTests.cc → test/src/LeastColorGroupTests.cc View File


test/src/engine_tests/LeastCommonDenomColorTests.cc → test/src/LeastCommonDenomColorTests.cc View File


test/src/engine_tests/LiteralFilenameTests.cc → test/src/LiteralFilenameTests.cc View File


test/src/engine_tests/LookupTests.cc → test/src/LookupTests.cc View File


test/src/engine_tests/LotsOfKeysTests.cc → test/src/LotsOfKeysTests.cc View File


test/src/engine_tests/MapAsn1Tests.cc → test/src/MapAsn1Tests.cc View File


test/src/engine_tests/Message2_1Tests.cc → test/src/Message2_1Tests.cc View File


test/src/engine_tests/MessageApiTests.cc → test/src/MessageApiTests.cc View File


test/src/engine_tests/MessageNullFromTests.cc → test/src/MessageNullFromTests.cc View File


test/src/engine_tests/MessageTwoPointOhTests.cc → test/src/MessageTwoPointOhTests.cc View File


test/src/engine_tests/MimeTests.cc → test/src/MimeTests.cc View File


test/src/engine_tests/NewUpdateIdAndMyselfTests.cc → test/src/NewUpdateIdAndMyselfTests.cc View File


test/src/engine_tests/NoOwnIdentWritesOnDecryptTests.cc → test/src/NoOwnIdentWritesOnDecryptTests.cc View File


test/src/engine_tests/OwnIdentitiesRetrieveTests.cc → test/src/OwnIdentitiesRetrieveTests.cc View File


test/src/engine_tests/OwnKeysRetrieveTests.cc → test/src/OwnKeysRetrieveTests.cc View File


test/src/engine_tests/PepSubjectReceivedTests.cc → test/src/PepSubjectReceivedTests.cc View File


test/src/engine_tests/PgpBinaryTests.cc → test/src/PgpBinaryTests.cc View File


test/src/engine_tests/PgpListKeysTests.cc → test/src/PgpListKeysTests.cc View File


test/src/engine_tests/ReencryptPlusExtraKeysTests.cc → test/src/ReencryptPlusExtraKeysTests.cc View File


test/src/engine_tests/RevocationTests.cc → test/src/RevocationTests.cc View File


test/src/engine_tests/RevokeRegenAttachTests.cc → test/src/RevokeRegenAttachTests.cc View File


test/src/engine_tests/SenderFPRTests.cc → test/src/SenderFPRTests.cc View File


test/src/engine_tests/SequenceTests.cc → test/src/SequenceTests.cc View File


test/src/engine_tests/SignOnlyTests.cc → test/src/SignOnlyTests.cc View File


test/src/engine_tests/SimpleBodyNotAltTests.cc → test/src/SimpleBodyNotAltTests.cc View File


test/src/engine_tests/StringlistTests.cc → test/src/StringlistTests.cc View File


test/src/engine_tests/StringpairListTests.cc → test/src/StringpairListTests.cc View File


test/src/engine_tests/StrnstrTests.cc → test/src/StrnstrTests.cc View File


test/src/engine_tests/SubkeyRatingEvalTests.cc → test/src/SubkeyRatingEvalTests.cc View File


+ 0
- 302
test/src/SuiteMaker.cc View File

@ -1,302 +0,0 @@
// This file is under GNU General Public License 3.0
// see LICENSE.txt
//
// src/SuiteMaker.cc generated by gensuitemaker.py - changes may be overwritten. You've been warned!
//
#include <cpptest.h>
#include <cpptest-suite.h>
#include <memory>
#include <vector>
#include "SuiteMaker.h"
// Begin where we generate stuff
#include "URIAddressTests.h"
#include "MimeTests.h"
#include "OwnIdentitiesRetrieveTests.h"
#include "ExpiredSubkeyTests.h"
#include "VerifyTests.h"
#include "UserIdCollisionTests.h"
#include "Engine463Tests.h"
#include "IOS1664Tests.h"
#include "BloblistTests.h"
#include "NewUpdateIdAndMyselfTests.h"
#include "NoOwnIdentWritesOnDecryptTests.h"
#include "LiteralFilenameTests.h"
#include "I18nTests.h"
#include "Message2_1Tests.h"
#include "IdentityListTests.h"
#include "PgpBinaryTests.h"
#include "SubkeyRatingEvalTests.h"
#include "MessageNullFromTests.h"
#include "ExportKeyTests.h"
#include "LeastCommonDenomColorTests.h"
#include "StringlistTests.h"
#include "PgpListKeysTests.h"
#include "MessageApiTests.h"
#include "EncryptMissingPrivateKeyTests.h"
#include "CaseAndDotAddressTests.h"
#include "UserIDAliasTests.h"
#include "KeyringImportTests.h"
#include "EnterLeaveDeviceGroupTests.h"
#include "SignOnlyTests.h"
#include "LotsOfKeysTests.h"
#include "BCCTests.h"
#include "Engine358Tests.h"
#include "BlacklistAcceptNewKeyTests.h"
#include "DecryptAttachPrivateKeyUntrustedTests.h"
#include "BlacklistTests.h"
#include "GetKeyRatingForUserTests.h"
#include "RevokeRegenAttachTests.h"
#include "PepSubjectReceivedTests.h"
#include "SequenceTests.h"
#include "HeaderKeyImportTests.h"
#include "EncryptAttachPrivateKeyTests.h"
#include "ExternalRevokeTests.h"
#include "LookupTests.h"
#include "KeyeditTests.h"
#include "LeastColorGroupTests.h"
#include "DecryptAttachPrivateKeyTrustedTests.h"
#include "CheckRenewedExpiredKeyTrustStatusTests.h"
#include "TrustwordsTests.h"
#include "SimpleBodyNotAltTests.h"
#include "ReencryptPlusExtraKeysTests.h"
#include "MapAsn1Tests.h"
#include "DecorateTests.h"
#include "MessageTwoPointOhTests.h"
#include "CrashdumpTests.h"
#include "StringpairListTests.h"
#include "EncryptForIdentityTests.h"
#include "KeyResetMessageTests.h"
#include "DeleteKeyTests.h"
#include "KeyAttachmentTests.h"
#include "OwnKeysRetrieveTests.h"
#include "TrustManipulationTests.h"
#include "StrnstrTests.h"
#include "SyncTests.h"
#include "SenderFPRTests.h"
#include "RevocationTests.h"
#include "AppleMailTests.h"
const char* SuiteMaker::all_suites[] = {
"URIAddressTests",
"MimeTests",
"OwnIdentitiesRetrieveTests",
"ExpiredSubkeyTests",
"VerifyTests",
"UserIdCollisionTests",
"Engine463Tests",
"IOS1664Tests",
"BloblistTests",
"NewUpdateIdAndMyselfTests",
"NoOwnIdentWritesOnDecryptTests",
"LiteralFilenameTests",
"I18nTests",
"Message2_1Tests",
"IdentityListTests",
"PgpBinaryTests",
"SubkeyRatingEvalTests",
"MessageNullFromTests",
"ExportKeyTests",
"LeastCommonDenomColorTests",
"StringlistTests",
"PgpListKeysTests",
"MessageApiTests",
"EncryptMissingPrivateKeyTests",
"CaseAndDotAddressTests",
"UserIDAliasTests",
"KeyringImportTests",
"EnterLeaveDeviceGroupTests",
"SignOnlyTests",
"LotsOfKeysTests",
"BCCTests",
"Engine358Tests",
"BlacklistAcceptNewKeyTests",
"DecryptAttachPrivateKeyUntrustedTests",
"BlacklistTests",
"GetKeyRatingForUserTests",
"RevokeRegenAttachTests",
"PepSubjectReceivedTests",
"SequenceTests",
"HeaderKeyImportTests",
"EncryptAttachPrivateKeyTests",
"ExternalRevokeTests",
"LookupTests",
"KeyeditTests",
"LeastColorGroupTests",
"DecryptAttachPrivateKeyTrustedTests",
"CheckRenewedExpiredKeyTrustStatusTests",
"TrustwordsTests",
"SimpleBodyNotAltTests",
"ReencryptPlusExtraKeysTests",
"MapAsn1Tests",
"DecorateTests",
"MessageTwoPointOhTests",
"CrashdumpTests",
"StringpairListTests",
"EncryptForIdentityTests",
"KeyResetMessageTests",
"DeleteKeyTests",
"KeyAttachmentTests",
"OwnKeysRetrieveTests",
"TrustManipulationTests",
"StrnstrTests",
"SyncTests",
"SenderFPRTests",
"RevocationTests",
"AppleMailTests",
};
// This file is generated, so magic constants are ok.
int SuiteMaker::num_suites = 66;
void SuiteMaker::suitemaker_build(const char* test_class_name, const char* test_home, Test::Suite** test_suite) {
if (strcmp(test_class_name, "URIAddressTests") == 0)
*test_suite = new URIAddressTests(test_class_name, test_home);
else if (strcmp(test_class_name, "MimeTests") == 0)
*test_suite = new MimeTests(test_class_name, test_home);
else if (strcmp(test_class_name, "OwnIdentitiesRetrieveTests") == 0)
*test_suite = new OwnIdentitiesRetrieveTests(test_class_name, test_home);
else if (strcmp(test_class_name, "ExpiredSubkeyTests") == 0)
*test_suite = new ExpiredSubkeyTests(test_class_name, test_home);
else if (strcmp(test_class_name, "VerifyTests") == 0)
*test_suite = new VerifyTests(test_class_name, test_home);
else if (strcmp(test_class_name, "UserIdCollisionTests") == 0)
*test_suite = new UserIdCollisionTests(test_class_name, test_home);
else if (strcmp(test_class_name, "Engine463Tests") == 0)
*test_suite = new Engine463Tests(test_class_name, test_home);
else if (strcmp(test_class_name, "IOS1664Tests") == 0)
*test_suite = new IOS1664Tests(test_class_name, test_home);
else if (strcmp(test_class_name, "BloblistTests") == 0)
*test_suite = new BloblistTests(test_class_name, test_home);
else if (strcmp(test_class_name, "NewUpdateIdAndMyselfTests") == 0)
*test_suite = new NewUpdateIdAndMyselfTests(test_class_name, test_home);
else if (strcmp(test_class_name, "NoOwnIdentWritesOnDecryptTests") == 0)
*test_suite = new NoOwnIdentWritesOnDecryptTests(test_class_name, test_home);
else if (strcmp(test_class_name, "LiteralFilenameTests") == 0)
*test_suite = new LiteralFilenameTests(test_class_name, test_home);
else if (strcmp(test_class_name, "I18nTests") == 0)
*test_suite = new I18nTests(test_class_name, test_home);
else if (strcmp(test_class_name, "Message2_1Tests") == 0)
*test_suite = new Message2_1Tests(test_class_name, test_home);
else if (strcmp(test_class_name, "IdentityListTests") == 0)
*test_suite = new IdentityListTests(test_class_name, test_home);
else if (strcmp(test_class_name, "PgpBinaryTests") == 0)
*test_suite = new PgpBinaryTests(test_class_name, test_home);
else if (strcmp(test_class_name, "SubkeyRatingEvalTests") == 0)
*test_suite = new SubkeyRatingEvalTests(test_class_name, test_home);
else if (strcmp(test_class_name, "MessageNullFromTests") == 0)
*test_suite = new MessageNullFromTests(test_class_name, test_home);
else if (strcmp(test_class_name, "ExportKeyTests") == 0)
*test_suite = new ExportKeyTests(test_class_name, test_home);
else if (strcmp(test_class_name, "LeastCommonDenomColorTests") == 0)
*test_suite = new LeastCommonDenomColorTests(test_class_name, test_home);
else if (strcmp(test_class_name, "StringlistTests") == 0)
*test_suite = new StringlistTests(test_class_name, test_home);
else if (strcmp(test_class_name, "PgpListKeysTests") == 0)
*test_suite = new PgpListKeysTests(test_class_name, test_home);
else if (strcmp(test_class_name, "MessageApiTests") == 0)
*test_suite = new MessageApiTests(test_class_name, test_home);
else if (strcmp(test_class_name, "EncryptMissingPrivateKeyTests") == 0)
*test_suite = new EncryptMissingPrivateKeyTests(test_class_name, test_home);
else if (strcmp(test_class_name, "CaseAndDotAddressTests") == 0)
*test_suite = new CaseAndDotAddressTests(test_class_name, test_home);
else if (strcmp(test_class_name, "UserIDAliasTests") == 0)
*test_suite = new UserIDAliasTests(test_class_name, test_home);
else if (strcmp(test_class_name, "KeyringImportTests") == 0)
*test_suite = new KeyringImportTests(test_class_name, test_home);
else if (strcmp(test_class_name, "EnterLeaveDeviceGroupTests") == 0)
*test_suite = new EnterLeaveDeviceGroupTests(test_class_name, test_home);
else if (strcmp(test_class_name, "SignOnlyTests") == 0)
*test_suite = new SignOnlyTests(test_class_name, test_home);
else if (strcmp(test_class_name, "LotsOfKeysTests") == 0)
*test_suite = new LotsOfKeysTests(test_class_name, test_home);
else if (strcmp(test_class_name, "BCCTests") == 0)
*test_suite = new BCCTests(test_class_name, test_home);
else if (strcmp(test_class_name, "Engine358Tests") == 0)
*test_suite = new Engine358Tests(test_class_name, test_home);
else if (strcmp(test_class_name, "BlacklistAcceptNewKeyTests") == 0)
*test_suite = new BlacklistAcceptNewKeyTests(test_class_name, test_home);
else if (strcmp(test_class_name, "DecryptAttachPrivateKeyUntrustedTests") == 0)
*test_suite = new DecryptAttachPrivateKeyUntrustedTests(test_class_name, test_home);
else if (strcmp(test_class_name, "BlacklistTests") == 0)
*test_suite = new BlacklistTests(test_class_name, test_home);
else if (strcmp(test_class_name, "GetKeyRatingForUserTests") == 0)
*test_suite = new GetKeyRatingForUserTests(test_class_name, test_home);
else if (strcmp(test_class_name, "RevokeRegenAttachTests") == 0)
*test_suite = new RevokeRegenAttachTests(test_class_name, test_home);
else if (strcmp(test_class_name, "PepSubjectReceivedTests") == 0)
*test_suite = new PepSubjectReceivedTests(test_class_name, test_home);
else if (strcmp(test_class_name, "SequenceTests") == 0)
*test_suite = new SequenceTests(test_class_name, test_home);
else if (strcmp(test_class_name, "HeaderKeyImportTests") == 0)
*test_suite = new HeaderKeyImportTests(test_class_name, test_home);
else if (strcmp(test_class_name, "EncryptAttachPrivateKeyTests") == 0)
*test_suite = new EncryptAttachPrivateKeyTests(test_class_name, test_home);
else if (strcmp(test_class_name, "ExternalRevokeTests") == 0)
*test_suite = new ExternalRevokeTests(test_class_name, test_home);
else if (strcmp(test_class_name, "LookupTests") == 0)
*test_suite = new LookupTests(test_class_name, test_home);
else if (strcmp(test_class_name, "KeyeditTests") == 0)
*test_suite = new KeyeditTests(test_class_name, test_home);
else if (strcmp(test_class_name, "LeastColorGroupTests") == 0)
*test_suite = new LeastColorGroupTests(test_class_name, test_home);
else if (strcmp(test_class_name, "DecryptAttachPrivateKeyTrustedTests") == 0)
*test_suite = new DecryptAttachPrivateKeyTrustedTests(test_class_name, test_home);
else if (strcmp(test_class_name, "CheckRenewedExpiredKeyTrustStatusTests") == 0)
*test_suite = new CheckRenewedExpiredKeyTrustStatusTests(test_class_name, test_home);
else if (strcmp(test_class_name, "TrustwordsTests") == 0)
*test_suite = new TrustwordsTests(test_class_name, test_home);
else if (strcmp(test_class_name, "SimpleBodyNotAltTests") == 0)
*test_suite = new SimpleBodyNotAltTests(test_class_name, test_home);
else if (strcmp(test_class_name, "ReencryptPlusExtraKeysTests") == 0)
*test_suite = new ReencryptPlusExtraKeysTests(test_class_name, test_home);
else if (strcmp(test_class_name, "MapAsn1Tests") == 0)
*test_suite = new MapAsn1Tests(test_class_name, test_home);
else if (strcmp(test_class_name, "DecorateTests") == 0)
*test_suite = new DecorateTests(test_class_name, test_home);
else if (strcmp(test_class_name, "MessageTwoPointOhTests") == 0)
*test_suite = new MessageTwoPointOhTests(test_class_name, test_home);
else if (strcmp(test_class_name, "CrashdumpTests") == 0)
*test_suite = new CrashdumpTests(test_class_name, test_home);
else if (strcmp(test_class_name, "StringpairListTests") == 0)
*test_suite = new StringpairListTests(test_class_name, test_home);
else if (strcmp(test_class_name, "EncryptForIdentityTests") == 0)
*test_suite = new EncryptForIdentityTests(test_class_name, test_home);
else if (strcmp(test_class_name, "KeyResetMessageTests") == 0)
*test_suite = new KeyResetMessageTests(test_class_name, test_home);
else if (strcmp(test_class_name, "DeleteKeyTests") == 0)
*test_suite = new DeleteKeyTests(test_class_name, test_home);
else if (strcmp(test_class_name, "KeyAttachmentTests") == 0)
*test_suite = new KeyAttachmentTests(test_class_name, test_home);
else if (strcmp(test_class_name, "OwnKeysRetrieveTests") == 0)
*test_suite = new OwnKeysRetrieveTests(test_class_name, test_home);
else if (strcmp(test_class_name, "TrustManipulationTests") == 0)
*test_suite = new TrustManipulationTests(test_class_name, test_home);
else if (strcmp(test_class_name, "StrnstrTests") == 0)
*test_suite = new StrnstrTests(test_class_name, test_home);
else if (strcmp(test_class_name, "SyncTests") == 0)
*test_suite = new SyncTests(test_class_name, test_home);
else if (strcmp(test_class_name, "SenderFPRTests") == 0)
*test_suite = new SenderFPRTests(test_class_name, test_home);
else if (strcmp(test_class_name, "RevocationTests") =