Skip to content

Commit

Permalink
Accelate testsuite (increase speed from 100 to 150 m/s)
Browse files Browse the repository at this point in the history
  • Loading branch information
mrequena committed May 8, 2013
1 parent 96df08a commit e34dbfd
Showing 1 changed file with 37 additions and 56 deletions.
93 changes: 37 additions & 56 deletions src/lte/test/test-lte-x2-handover-measures.cc
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ LteX2HandoverMeasuresTestCase::DoRun ()


double distance = 1000.0; // m
double speed = 200; // m/s
double speed = 150; // m/s

NodeContainer enbNodes;
enbNodes.Create (m_nEnbs);
Expand Down Expand Up @@ -600,84 +600,65 @@ LteX2HandoverMeasuresTestSuite::LteX2HandoverMeasuresTestSuite ()
: TestSuite ("lte-x2-handover-measures", SYSTEM)
{
Time checkInterval = Seconds (1);

std::string cel0name ("no ho");
std::list<CheckPointEvent> cel0;
cel0.push_back (CheckPointEvent (Seconds (1), Seconds (50), Seconds (1), 0, 0));

std::string cel1name ("ho: 0 -> 1");
std::list<CheckPointEvent> cel1;
// cel1.push_back (CheckPointEvent (Seconds (1), Seconds (15.1), checkInterval, 0, 0));
cel1.push_back (CheckPointEvent (Seconds (1), Seconds (8.1), checkInterval, 0, 0));
// HO is performed between seconds 15 and 16
// cel1.push_back (CheckPointEvent (Seconds (16), Seconds (50), checkInterval, 0, 1));
cel1.push_back (CheckPointEvent (Seconds (9), Seconds (25), checkInterval, 0, 1));
cel1.push_back (CheckPointEvent (Seconds (1), Seconds (10.1), checkInterval, 0, 0));
cel1.push_back (CheckPointEvent (Seconds (11), Seconds (37), checkInterval, 0, 1));

std::string cel2name ("ho: 0 -> 1 -> 2");
std::list<CheckPointEvent> cel2;
cel2.push_back (CheckPointEvent (Seconds (1), Seconds (16.1), Seconds (1), 0, 0));
// First HO is performed between seconds 16 and 17
cel2.push_back (CheckPointEvent (Seconds (17), Seconds (25.1), Seconds (1), 0, 1));
// Second HO is performed between seconds 25 and 26
cel2.push_back (CheckPointEvent (Seconds (26), Seconds (50), Seconds (1), 0, 2));
cel2.push_back (CheckPointEvent (Seconds (1), Seconds (10.1), Seconds (1), 0, 0));
cel2.push_back (CheckPointEvent (Seconds (11), Seconds (17.1), Seconds (1), 0, 1));
cel2.push_back (CheckPointEvent (Seconds (18), Seconds (37), Seconds (1), 0, 2));

std::string cel3name ("ho: 0 -> 1 -> 2 -> 3 (var 1)");
std::string cel3name ("ho: 0 -> 1 -> 2 -> 3");
std::list<CheckPointEvent> cel3;
cel3.push_back (CheckPointEvent (Seconds (1), Seconds (16.1), Seconds (1), 0, 0));
// First HO is performed between seconds 16 and 17
cel3.push_back (CheckPointEvent (Seconds (17), Seconds (25.1), Seconds (1), 0, 1));
// Second HO is performed between seconds 25 and 26
cel3.push_back (CheckPointEvent (Seconds (26), Seconds (35.1), Seconds (1), 0, 2));
// Third HO is performed between seconds 35 and 36
cel3.push_back (CheckPointEvent (Seconds (36), Seconds (50), Seconds (1), 0, 3));

std::string cel4name ("ho: 0 -> 1 -> 2 -> 3 (var 2)");
std::list<CheckPointEvent> cel4;
cel4.push_back (CheckPointEvent (Seconds (1), Seconds (16.1), Seconds (1), 0, 0));
// First HO is performed between seconds 16 and 17
cel4.push_back (CheckPointEvent (Seconds (17), Seconds (26.1), Seconds (1), 0, 1));
// Second HO is performed between seconds 26 and 27
cel4.push_back (CheckPointEvent (Seconds (27), Seconds (36.1), Seconds (1), 0, 2));
// Third HO is performed between seconds 36 and 37
cel4.push_back (CheckPointEvent (Seconds (37), Seconds (50), Seconds (1), 0, 3));
cel3.push_back (CheckPointEvent (Seconds (1), Seconds (10.1), Seconds (1), 0, 0));
cel3.push_back (CheckPointEvent (Seconds (11), Seconds (17.1), Seconds (1), 0, 1));
cel3.push_back (CheckPointEvent (Seconds (18), Seconds (24.1), Seconds (1), 0, 2));
cel3.push_back (CheckPointEvent (Seconds (25), Seconds (37), Seconds (1), 0, 3));


int32_t useIdealRrc;
std::vector<std::string> schedulers;
schedulers.push_back ("ns3::PfFfMacScheduler");
for (std::vector<std::string>::iterator schedIt = schedulers.begin (); schedIt != schedulers.end (); ++schedIt)
{
for (useIdealRrc = 1; useIdealRrc >= 0; --useIdealRrc)
{
// nEnbs, nUes, nDBearers, celist, name, useUdp, sched, admitHo, idealRrc
AddTestCase (new LteX2HandoverMeasuresTestCase ( 2, 1, 0, cel1, cel1name, true, *schedIt, true, useIdealRrc));
AddTestCase (new LteX2HandoverMeasuresTestCase ( 2, 1, 1, cel1, cel1name, true, *schedIt, true, useIdealRrc));
AddTestCase (new LteX2HandoverMeasuresTestCase ( 2, 1, 2, cel1, cel1name, true, *schedIt, true, useIdealRrc));
AddTestCase (new LteX2HandoverMeasuresTestCase ( 3, 1, 0, cel2, cel2name, true, *schedIt, true, useIdealRrc));
AddTestCase (new LteX2HandoverMeasuresTestCase ( 3, 1, 1, cel2, cel2name, true, *schedIt, true, useIdealRrc));
AddTestCase (new LteX2HandoverMeasuresTestCase ( 3, 1, 2, cel2, cel2name, true, *schedIt, true, useIdealRrc));
AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 0, cel3, cel3name, true, *schedIt, true, useIdealRrc));
AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 1, cel3, cel3name, true, *schedIt, true, useIdealRrc));
AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 2, cel3, cel3name, true, *schedIt, true, useIdealRrc));
}
}

schedulers.resize (0);
schedulers.push_back ("ns3::RrFfMacScheduler");
// schedulers.push_back ("ns3::PfFfMacScheduler");
for (std::vector<std::string>::iterator schedIt = schedulers.begin (); schedIt != schedulers.end (); ++schedIt)
{
// for (useIdealRrc = 1; useIdealRrc >= 0; --useIdealRrc)
useIdealRrc = 0;
for (useIdealRrc = 1; useIdealRrc >= 0; --useIdealRrc)
{
// nEnbs, nUes, nDBearers, celist, name, useUdp, sched, admitHo, idealRrc
AddTestCase (new LteX2HandoverMeasuresTestCase ( 2, 1, 0, cel1, cel1name, true, *schedIt, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 2, 1, 1, cel1, cel1name, true, *schedIt, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 2, 1, 1, cel1b, cel1bname, true, *schedIt, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 2, 1, 2, cel1, cel1name, true, *schedIt, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 3, 1, 0, cel2, cel2name, true, *schedIt, true, useIdealRrc));
AddTestCase (new LteX2HandoverMeasuresTestCase ( 3, 1, 0, cel2, cel2name, true, *schedIt, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 3, 1, 1, cel2, cel2name, true, *schedIt, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 3, 1, 2, cel2, cel2name, true, *schedIt, true, useIdealRrc));
AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 0, cel3, cel3name, true, *schedIt, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 1, cel3, cel3name, true, *schedIt, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 2, cel3, cel3name, true, *schedIt, true, useIdealRrc));
}

// useIdealRrc = 1;
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 0, cel3, cel3name, true, *schedIt, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 1, cel3, cel3name, true, *schedIt, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 2, cel3, cel3name, true, *schedIt, true, useIdealRrc));

}

// useIdealRrc = 0;
// std::string scheduler = "ns3::RrFfMacScheduler";
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 0, cel3, cel3name, true, scheduler, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 1, cel4, cel4name, true, scheduler, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 2, cel3, cel3name, true, scheduler, true, useIdealRrc));
//
// useIdealRrc = 0;
// scheduler = "ns3::PfFfMacScheduler";
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 0, cel3, cel3name, true, scheduler, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 1, cel3, cel3name, true, scheduler, true, useIdealRrc));
// AddTestCase (new LteX2HandoverMeasuresTestCase ( 4, 1, 2, cel3, cel3name, true, scheduler, true, useIdealRrc));

}

static LteX2HandoverMeasuresTestSuite g_lteX2HandoverMeasuresTestSuiteInstance;
Expand Down

0 comments on commit e34dbfd

Please sign in to comment.