summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2016-09-23 12:04:01 +0100
committerMartin Klozik <martinx.klozik@intel.com>2016-09-23 14:06:57 +0100
commit48ec9750583c47dadf0f3fd931dc2cf12f738b67 (patch)
treeb38dfdbe772fb474b63bc280b46f8d1c6922a932
parent6dfabefd6cac3cd4b8fd29abf5a5b6ab9e6ae956 (diff)
bugfix: Qemu shared dir failure
In case of testpmd or l2fwd loopback app, VSPERF copies sources if these tools into qemu shared folder. Maximum size of folder content is limited to approx. 500MB. This limit is exceeded in case that DPDK is built for multiple RTE_TARGETs. Unnecessary files are excluded from the copy to spare size inside shared folder. JIRA: VSPERF-398 Change-Id: Iab31a6ff2397f7031eae6a95d424317c3343d4d9 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Bill Michalowski <bmichalo@redhat.com> Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com>
-rw-r--r--testcases/testcase.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/testcases/testcase.py b/testcases/testcase.py
index 06e9cd24..ccd65785 100644
--- a/testcases/testcase.py
+++ b/testcases/testcase.py
@@ -380,8 +380,20 @@ class TestCase(object):
guest_loopback = set(S.getValue('GUEST_LOOPBACK'))
if 'testpmd' in guest_loopback:
try:
- tasks.run_task(['rsync', '-a', '-r', '-l', r'--exclude="\.git"',
- os.path.join(S.getValue('TOOLS')['dpdk_src'], ''),
+ # exclude whole .git/ subdirectory and all o-files;
+ # It is assumed, that the same RTE_TARGET is used in both host
+ # and VMs; This simplification significantly speeds up testpmd
+ # build. If we will need a different RTE_TARGET in VM,
+ # then we have to build whole DPDK from the scratch in VM.
+ # In that case we can copy just DPDK sources (e.g. by excluding
+ # all items obtained by git status -unormal --porcelain).
+ # NOTE: Excluding RTE_TARGET directory won't help on systems,
+ # where DPDK is built for multiple targets (e.g. for gcc & icc)
+ exclude = []
+ exclude.append(r'--exclude=.git/')
+ exclude.append(r'--exclude=*.o')
+ tasks.run_task(['rsync', '-a', '-r', '-l'] + exclude +
+ [os.path.join(S.getValue('TOOLS')['dpdk_src'], ''),
os.path.join(guest_dir, 'DPDK')],
self._logger,
'Copying DPDK to shared directory...',