Browse Source

Tests: add test_templates using PitySwarm

LIB-11
heck 4 years ago
parent
commit
046665be80
  1. 65
      test/test_template_swarm_multi.cc
  2. 55
      test/test_template_swarm_single.cc

65
test/test_template_swarm_multi.cc

@ -0,0 +1,65 @@
#include "pitytest11/src/PityUnit.hh"
#include "pitytest11/src/PityModel.hh"
#include "pitytest11/src/PitySwarm.hh"
#include "pitytest11/src/PityPerspective.hh"
#include "../src/utils.hh"
#include "framework/framework.hh"
#include "framework/utils.hh"
#include <pEp/pEpEngine.h>
#include <pEp/message_api.h>
#include <pEp/keymanagement.h>
#include <pEp/identity_list.h>
#include <pEp/Adapter.hh>
#include <pEp/status_to_string.hh>
#include <pEp/mime.h>
using namespace pEp;
using namespace pEp::Adapter;
using namespace pEp::Test::Utils;
using namespace pEp::PityTest11;
// Test template for 3 nodes (processes) running the same 2 tests each in their own environment in parallel
// This is the 1st test unit
void test_func1(PityUnit<PityPerspective> &pity, PityPerspective *ctx)
{
pity.log(ctx->name);
pity.log("getName: " + pity.getName());
pity.log("getPath: " +pity.getPath());
pity.log("getPathShort: " +pity.getPathShort());
pity.log("transportDir: " +pity.transportDir());
pity.log("processDir: " +pity.processDir());
pity.log("getGlobalRootDir: " +pity.getGlobalRootDir());
pity.log("to_string: " +pity.to_string());
PTASSERT(true);
}
// This is the 2nd test unit
void test_func2(PityUnit<PityPerspective> &pity, PityPerspective *ctx)
{
pity.log(ctx->name);
PTASSERT(false);
}
int main(int argc, char *argv[])
{
int nodecount = 3;
PityModel model{ "templ_swarm_multi", nodecount };
PitySwarm swarm{ model };
// 1. Create the swarm process TestUnit
// 2. Append a PityUnit to process 1 unit
auto unit1 = swarm.addTestUnit(0, "unit1", test_func1);
auto unit1_1 = PityUnit<PityPerspective>(unit1,"unit1_1", test_func2);
auto unit2 = swarm.addTestUnit(1, "unit2", test_func1);
auto unit2_1 = PityUnit<PityPerspective>(unit2,"unit2_1", test_func2);
auto unit3 = swarm.addTestUnit(2, "unit3", test_func1);
auto unit3_1 = PityUnit<PityPerspective>(unit3,"unit3_1", test_func2);
swarm.run();
}

55
test/test_template_swarm_single.cc

@ -0,0 +1,55 @@
#include "pitytest11/src/PityUnit.hh"
#include "pitytest11/src/PityModel.hh"
#include "pitytest11/src/PitySwarm.hh"
#include "pitytest11/src/PityPerspective.hh"
#include "../src/utils.hh"
#include "framework/framework.hh"
#include "framework/utils.hh"
#include <pEp/pEpEngine.h>
#include <pEp/message_api.h>
#include <pEp/keymanagement.h>
#include <pEp/identity_list.h>
#include <pEp/Adapter.hh>
#include <pEp/status_to_string.hh>
#include <pEp/mime.h>
using namespace pEp;
using namespace pEp::Adapter;
using namespace pEp::Test::Utils;
using namespace pEp::PityTest11;
// Test template for a single process with 2 test units that run in sequence
// This is the 1st test unit
void test_func1(PityUnit<PityPerspective> &pity, PityPerspective *ctx)
{
// here some example values from the PityUnit
pity.log("getName: " + pity.getName());
pity.log("getPath: " + pity.getPath());
pity.log("getPathShort: " + pity.getPathShort());
pity.log("transportDir: " + pity.transportDir());
pity.log("processDir: " + pity.processDir());
pity.log("getGlobalRootDir: " + pity.getGlobalRootDir());
pity.log("to_string: " + pity.to_string(false));
PTASSERT(true);
}
// This is the 2nd test unit
void test_func2(PityUnit<PityPerspective> &pity, PityPerspective *ctx)
{
pity.log(ctx->name);
PTASSERT(false);
}
int main(int argc, char *argv[])
{
PityModel model{ "templ_swarm_single", 1 };
PitySwarm swarm{ model };
auto unit1 = swarm.addTestUnit(0, "unit1", test_func1);
auto unit1_1 = PityUnit<PityPerspective>(unit1, "unit1_1", test_func2);
swarm.run();
}
Loading…
Cancel
Save