summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchenjiankun <chenjiankun1@huawei.com>2017-03-09 02:54:47 +0000
committerchenjiankun <chenjiankun1@huawei.com>2017-03-09 06:44:31 +0000
commit381c91651ef414052abdc748cb9b4d8cac93a76a (patch)
treedb5f71de851876869347a65d5eea37172fa2605e
parent270d6092c809e8de039a08efd8c108f865cf860e (diff)
Bugfix: Failed executing command: 'free -s 1 -c 10'
JIRA: YARDSTICK-585 In CI when run tc070, there is a error: Failed executing command: 'free -s 1 -c 10' Here it is the log: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/yardstick/benchmark/runners/duration.py", line 69, in _worker_process method(data) File "/usr/local/lib/python2.7/dist-packages/yardstick/benchmark/scenarios/compute/memload.py", line 126, in run result.update(self._get_mem_usage()) File "/usr/local/lib/python2.7/dist-packages/yardstick/benchmark/scenarios/compute/memload.py", line 116, in _get_mem_usage result = self._execute_command(cmd) File "/usr/local/lib/python2.7/dist-packages/yardstick/benchmark/scenarios/compute/memload.py", line 70, in _execute_command cmd, stderr) RuntimeError: ('Failed executing command: ', 'free -s 1 -c 10',u"free: seconds argument `1' failed\n") And it is a bug of free. the -c option should in front of -s, so change the position will solve this problem. Also it has another bug: 'KeyError', there no 'cached' keyword, so I change it to 'buff/cache'. Change-Id: I0ca16e8d8cc11c6a3b2f364cadbdb3ea367eee53 Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
-rw-r--r--tests/unit/benchmark/scenarios/compute/memload_sample_output.txt4
-rw-r--r--tests/unit/benchmark/scenarios/compute/test_memload.py47
-rw-r--r--yardstick/benchmark/scenarios/compute/memload.py10
3 files changed, 41 insertions, 20 deletions
diff --git a/tests/unit/benchmark/scenarios/compute/memload_sample_output.txt b/tests/unit/benchmark/scenarios/compute/memload_sample_output.txt
index c23917ff7..1793e2f10 100644
--- a/tests/unit/benchmark/scenarios/compute/memload_sample_output.txt
+++ b/tests/unit/benchmark/scenarios/compute/memload_sample_output.txt
@@ -1,5 +1,3 @@
- total used free shared buffers cached
+ total used free shared buff/cache available
Mem: 263753976 76737332 187016644 2844 853528 67252400
--/+ buffers/cache: 8631404 255122572
Swap: 268029948 0 268029948
-
diff --git a/tests/unit/benchmark/scenarios/compute/test_memload.py b/tests/unit/benchmark/scenarios/compute/test_memload.py
index 76625ef11..ede3309c2 100644
--- a/tests/unit/benchmark/scenarios/compute/test_memload.py
+++ b/tests/unit/benchmark/scenarios/compute/test_memload.py
@@ -74,18 +74,33 @@ class MEMLoadTestCase(unittest.TestCase):
output = self._read_file("memload_sample_output.txt")
mock_ssh.SSH().execute.return_value = (0, output, '')
result = m._get_mem_usage()
- expected_result = {"max": {"used": 76737332, "cached": 67252400,
- "free": 187016644, "shared": 2844,
- "total": 263753976, "buffers": 853528},
- "average": {"used": 76737332, "cached": 67252400,
- "free": 187016644, "shared": 2844,
- "total": 263753976, "buffers": 853528},
- "free": {"memory0": {"used": "76737332",
- "cached": "67252400",
- "free": "187016644",
- "shared": "2844",
- "total": "263753976",
- "buffers": "853528"}}}
+ expected_result = {
+ "max": {
+ 'shared': 2844,
+ 'buff/cache': 853528,
+ 'total': 263753976,
+ 'free': 187016644,
+ 'used': 76737332
+ },
+ "average": {
+ 'shared': 2844,
+ 'buff/cache': 853528,
+ 'total': 263753976,
+ 'free': 187016644,
+ 'used': 76737332
+ },
+ "free": {
+ "memory0": {
+ "used": "76737332",
+ "buff/cache": "853528",
+ "free": "187016644",
+ "shared": "2844",
+ "total": "263753976",
+ "available": "67252400"
+ }
+ }
+ }
+
self.assertEqual(result, expected_result)
def _read_file(self, filename):
@@ -94,3 +109,11 @@ class MEMLoadTestCase(unittest.TestCase):
with open(output) as f:
sample_output = f.read()
return sample_output
+
+
+def main():
+ unittest.main()
+
+
+if __name__ == '__main__':
+ main()
diff --git a/yardstick/benchmark/scenarios/compute/memload.py b/yardstick/benchmark/scenarios/compute/memload.py
index 35528d4ef..2ef5a6302 100644
--- a/yardstick/benchmark/scenarios/compute/memload.py
+++ b/yardstick/benchmark/scenarios/compute/memload.py
@@ -74,10 +74,10 @@ class MEMLoad(base.Scenario):
fields = []
free = {}
ite = 0
- average = {'total': 0, 'used': 0, 'free': 0, 'cached': 0, 'shared': 0,
- 'buffers': 0}
- maximum = {'total': 0, 'used': 0, 'free': 0, 'cached': 0, 'shared': 0,
- 'buffers': 0}
+ average = {'total': 0, 'used': 0, 'free': 0, 'buff/cache': 0,
+ 'shared': 0}
+ maximum = {'total': 0, 'used': 0, 'free': 0, 'buff/cache': 0,
+ 'shared': 0}
for row in result.split('\n'):
line = row.split()
@@ -111,7 +111,7 @@ class MEMLoad(base.Scenario):
interval = options.get("interval", 1)
count = options.get("count", 1)
- cmd = "free -s %s -c %s" % (interval, count)
+ cmd = "free -c '%s' -s '%s'" % (count, interval)
result = self._execute_command(cmd)
filtrated_result = self._filtrate_result(result)