ci: Fix VPP back2back TCs 89/35789/1
authorMartin Klozik <martinx.klozik@intel.com>
Mon, 5 Jun 2017 14:49:54 +0000 (15:49 +0100)
committerMartin Klozik <martinx.klozik@intel.com>
Mon, 5 Jun 2017 15:03:05 +0000 (16:03 +0100)
commit102555d5887bcd21b0b9a9ca40f33736e396ab98
treea18a95c82061f5c362519adaac7189031311744e
parent0975aa2ec9baf2e852be7991f62ba40865997456
ci: Fix VPP back2back TCs

There was a generic issue with restoration of original environment
after execution of testcase. Thus in case that multiple tests were
executed, their settings could be corrupted. This issue was detected
after VPP testcases were added into VSPERF DAILY CI job.

There were two issues:

* setttings.load_from_dict() method was used to restore original
  configuration values; However this method updates dict content
  with supplied values. If TC has introduced new dict item,
  then it was not removed from settings after TC execution
  and modified settings was applied also for next test(s).
* test configuration passed to testcase constructor is used
  for initialization of TC members, which are later updated;
  As python does shallow copy on dict members by default,
  modification of such testcase members led to corruption
  of configuration of other testcases. Thus deepcopy of testcase
  configuration was introduced into vsperf constructor to
  avoid TC configuration corruption.

JIRA: VSPERF-511

Change-Id: I45fb49d48743015353652de12db4692333043733
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
testcases/testcase.py