aboutsummaryrefslogtreecommitdiffstats
path: root/functest/api
diff options
context:
space:
mode:
authorLinda Wang <wangwulin@huawei.com>2017-09-13 06:26:26 +0000
committerLinda Wang <wangwulin@huawei.com>2017-09-13 07:15:56 +0000
commit0d95b22ced9b46d8ec828bee2079644987fc3e0a (patch)
tree9a9b0e8e1d1f2f1cb8793dac18b9bf61922808fa /functest/api
parent6c5c75973588e757f9bd4ee8f88fabfd1dc29b02 (diff)
Allow reading log file with byte offset
Change-Id: I8cd6acef66d798fa43e20ca9d885dcbaa99a5b42 Signed-off-by: Linda Wang <wangwulin@huawei.com>
Diffstat (limited to 'functest/api')
-rw-r--r--functest/api/resources/v1/tasks.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/functest/api/resources/v1/tasks.py b/functest/api/resources/v1/tasks.py
index f099918f..49214124 100644
--- a/functest/api/resources/v1/tasks.py
+++ b/functest/api/resources/v1/tasks.py
@@ -80,11 +80,15 @@ class V1TaskLog(ApiResource):
return api_utils.result_handler(status=1, data='No such task id')
task_log_dir = CONST.__getattribute__('dir_results')
+ # pylint: disable=maybe-no-member
+ index = int(self._get_args().get('index', 0))
try:
with open(os.path.join(task_log_dir,
'{}.log'.format(task_id)), 'r') as log_file:
+ log_file.seek(index)
data = log_file.readlines()
+ index = log_file.tell()
except OSError as err:
if err.errno == errno.ENOENT:
return api_utils.result_handler(
@@ -93,7 +97,7 @@ class V1TaskLog(ApiResource):
return api_utils.result_handler(
status=1, data='Error with log file')
- return_data = {'data': data}
+ return_data = {'data': data, 'index': index}
switcher = {'IN PROGRESS': 0, 'FAIL': 1, 'FINISHED': 2}