Enable logs for video autotests
Make verbose video logs enable before each video autotest and make them
diable after the test.
The function to enable verbose printk log for elm/oak is not implemented yet.
BUG=chromium:697733
TEST=video autotests on exynos and an intel device.
Change-Id: I2a89076b66c541467699cbdad56e19cac41ad07d
Reviewed-on: https://chromium-review.googlesource.com/499827
Commit-Ready: Hirokazu Honda <hiroh@chromium.org>
Tested-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Kuang-che Wu <kcwu@chromium.org>
diff --git a/client/cros/video/helper_logger.py b/client/cros/video/helper_logger.py
new file mode 100644
index 0000000..3fd320d
--- /dev/null
+++ b/client/cros/video/helper_logger.py
@@ -0,0 +1,112 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import glob
+import os
+import logging
+import subprocess
+
+def chrome_vmodule_flag():
+ """Return vmodule flag for chrome to enable VDAs/VEAs/JDAs/V4L2IP logs"""
+ logging_patterns = ['*/media/gpu/*video_decode_accelerator.cc=2',
+ '*/media/gpu/*video_encode_accelerator.cc=2',
+ '*/media/gpu/*jpeg_decode_accelerator.cc=2',
+ '*/media/gpu/v4l2_image_processor.cc=2']
+ chrome_video_vmodule_flag = '--vmodule=' + ','.join(logging_patterns)
+ logging.info('chrome video vmodule flag: %s', chrome_video_vmodule_flag)
+ return chrome_video_vmodule_flag
+
+
+def video_log_wrapper(func):
+ """
+ Return decorator that make verbose video logs enable
+ before test and make them disable after completing test.
+
+ @param func: function, the test function, e.g., run_once
+ @returns decorator function
+ """
+ #TODO(hiroh): test kernel log on elm/oak (see crbug.com/697733)
+ vlog = VideoLog()
+
+ #videobuf2 log
+ files = glob.glob('/sys/module/videobuf2_*/parameters/debug')
+ vlog.add_log(files,
+ ['1'] * len(files),
+ ['0'] * len(files),
+ 'videobuf2 log')
+
+ #s5p_mfc log
+ fpath = '/sys/module/s5p_mfc/parameters/debug'
+ if os.path.exists(fpath):
+ vlog.add_log([fpath],
+ ['2'],
+ ['0'],
+ 's5p_mfc log')
+
+ def call(*args, **kwargs):
+ """
+ Enable logs before the test, execute the test and disable logs
+ after the test.
+
+ In any case, it is guranteed to disable logs.
+ """
+ with vlog:
+ return func(*args, **kwargs)
+
+ return call
+
+
+def cmdexec_with_log(cmd, info_message):
+ """
+ Execute command, logging infomation message.
+
+ @param cmd: string, command to be executed
+ @param info_message: string, the messages to be shown in log message
+ """
+ try:
+ logging.info('%s : %s', info_message, cmd)
+ subprocess.check_call(cmd, shell=True)
+ except subprocess.CalledProcessError:
+ logging.warning('Fail to execute command [%s] : %s',
+ info_message, cmd)
+
+
+class VideoLog:
+ """
+ Enable/Disable video logs.
+ """
+ def __init__(self):
+ self.logs = []
+
+ def add_log(self, files, enable_values, disable_values, log_name):
+ """
+ Add new log
+
+ @param files: list of string, file paths
+ @param enable_values: list of string, the list of value
+ to write to each file path for enabling
+ @param disable_values: list of string, the list of value
+ to write to each file path for disabling
+ @param log_name: string, name to be shown in log message
+ """
+ self.logs.append({'files': files,
+ 'enable values': enable_values,
+ 'disable values': disable_values,
+ 'log name': log_name})
+
+ def __enter__(self):
+ """Enable logs"""
+ for log in self.logs:
+ log_name = log['log name']
+ for f, ev in zip(log['files'], log['enable values']):
+ cmdexec_with_log('echo %s > %s' % (ev, f),
+ '%s enable' % log_name)
+
+ def __exit__(self, exception_type, exception_value, traceback):
+ """Disable logs"""
+ for log in self.logs:
+ log_name = log['log name']
+ for f, dv in zip(log['files'], log['disable values']):
+ cmdexec_with_log('echo %s > %s' % (dv, f),
+ '%s disable' % log_name)
diff --git a/client/site_tests/video_ChromeHWDecodeUsed/video_ChromeHWDecodeUsed.py b/client/site_tests/video_ChromeHWDecodeUsed/video_ChromeHWDecodeUsed.py
index e97c284..ea84db3 100755
--- a/client/site_tests/video_ChromeHWDecodeUsed/video_ChromeHWDecodeUsed.py
+++ b/client/site_tests/video_ChromeHWDecodeUsed/video_ChromeHWDecodeUsed.py
@@ -13,6 +13,7 @@
from autotest_lib.client.cros.video import histogram_verifier
from autotest_lib.client.cros.video import constants
from autotest_lib.client.cros.video import native_html5_player
+from autotest_lib.client.cros.video import helper_logger
class video_ChromeHWDecodeUsed(test.test):
@@ -41,7 +42,7 @@
return False
-
+ @helper_logger.video_log_wrapper
def run_once(self, codec, is_mse, video_file, arc_mode=None):
"""
Tests whether VDA works by verifying histogram for the loaded video.
@@ -53,8 +54,10 @@
if self.is_skipping_test(codec):
raise error.TestNAError('Skipping test run on this board.')
- with chrome.Chrome(arc_mode=arc_mode,
- init_network_controller=True) as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
+ arc_mode=arc_mode,
+ init_network_controller=True) as cr:
# This will execute for MSE video by accesing shaka player
if is_mse:
tab1 = cr.browser.tabs.New()
diff --git a/client/site_tests/video_ChromeRTCHWDecodeUsed/video_ChromeRTCHWDecodeUsed.py b/client/site_tests/video_ChromeRTCHWDecodeUsed/video_ChromeRTCHWDecodeUsed.py
index 03d9f0e..79fa165 100755
--- a/client/site_tests/video_ChromeRTCHWDecodeUsed/video_ChromeRTCHWDecodeUsed.py
+++ b/client/site_tests/video_ChromeRTCHWDecodeUsed/video_ChromeRTCHWDecodeUsed.py
@@ -8,6 +8,7 @@
from autotest_lib.client.common_lib import error, file_utils, utils
from autotest_lib.client.common_lib.cros import chrome
from autotest_lib.client.cros.video import histogram_verifier
+from autotest_lib.client.cros.video import helper_logger
# Chrome flags to use fake camera and skip camera permission.
@@ -57,7 +58,7 @@
os.path.join(self.bindir, 'loopback.html')))
tab.WaitForDocumentReadyStateToBeComplete()
-
+ @helper_logger.video_log_wrapper
def run_once(self, video_name, histogram_name, histogram_bucket_val):
if self.is_skipping_test():
raise error.TestNAError('Skipping test run on this board.')
@@ -69,6 +70,7 @@
# Start chrome with test flags.
EXTRA_BROWSER_ARGS.append(FAKE_FILE_ARG % local_path)
+ EXTRA_BROWSER_ARGS.append(helper_logger.chrome_vmodule_flag())
with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS,
init_network_controller=True) as cr:
# Open WebRTC loopback page.
diff --git a/client/site_tests/video_ChromeRTCHWEncodeUsed/video_ChromeRTCHWEncodeUsed.py b/client/site_tests/video_ChromeRTCHWEncodeUsed/video_ChromeRTCHWEncodeUsed.py
index e7d4e51..bee1e60 100755
--- a/client/site_tests/video_ChromeRTCHWEncodeUsed/video_ChromeRTCHWEncodeUsed.py
+++ b/client/site_tests/video_ChromeRTCHWEncodeUsed/video_ChromeRTCHWEncodeUsed.py
@@ -10,6 +10,7 @@
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib import file_utils
from autotest_lib.client.common_lib.cros import chrome
+from autotest_lib.client.cros.video import helper_logger
# Chrome flags to use fake camera and skip camera permission.
@@ -86,7 +87,7 @@
sleep_interval=1)
_histogram_success(histogram, bucket)
-
+ @helper_logger.video_log_wrapper
def run_once(self, arc_mode=None):
# Download test video.
url = DOWNLOAD_BASE + VIDEO_NAME
@@ -95,6 +96,7 @@
# Start chrome with test flags.
EXTRA_BROWSER_ARGS.append(FAKE_FILE_ARG % local_path)
+ EXTRA_BROWSER_ARGS.append(helper_logger.chrome_vmodule_flag())
with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS,
arc_mode=arc_mode,
init_network_controller=True) as cr:
diff --git a/client/site_tests/video_ChromeVidResChangeHWDecode/video_ChromeVidResChangeHWDecode.py b/client/site_tests/video_ChromeVidResChangeHWDecode/video_ChromeVidResChangeHWDecode.py
index 6497e0d..73347bd 100755
--- a/client/site_tests/video_ChromeVidResChangeHWDecode/video_ChromeVidResChangeHWDecode.py
+++ b/client/site_tests/video_ChromeVidResChangeHWDecode/video_ChromeVidResChangeHWDecode.py
@@ -11,13 +11,14 @@
from autotest_lib.client.cros.video import histogram_verifier
from autotest_lib.client.cros.video import constants
from autotest_lib.client.cros.video import native_html5_player
+from autotest_lib.client.cros.video import helper_logger
class video_ChromeVidResChangeHWDecode(test.test):
"""Verify that VDA works in Chrome for video with resolution changes."""
version = 1
-
+ @helper_logger.video_log_wrapper
def run_once(self, video_file, video_len):
"""Verify VDA and playback for the video_file.
@@ -25,7 +26,9 @@
@param video_len : test video file length.
"""
- with chrome.Chrome(init_network_controller=True) as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
+ init_network_controller=True) as cr:
shutil.copy2(constants.VIDEO_HTML_FILEPATH, self.bindir)
cr.browser.platform.SetHTTPServerDirectories(self.bindir)
tab1 = cr.browser.tabs[0]
diff --git a/client/site_tests/video_GlitchDetection/video_GlitchDetection.py b/client/site_tests/video_GlitchDetection/video_GlitchDetection.py
index 840c932..d9779c8 100755
--- a/client/site_tests/video_GlitchDetection/video_GlitchDetection.py
+++ b/client/site_tests/video_GlitchDetection/video_GlitchDetection.py
@@ -17,6 +17,7 @@
from autotest_lib.client.cros.video import constants
from autotest_lib.client.cros.video import frame_checksum_utils
from autotest_lib.client.cros.video import native_html5_player
+from autotest_lib.client.cros.video import helper_logger
from autotest_lib.client.cros.multimedia import local_facade_factory
@@ -31,7 +32,7 @@
"""
version = 2
-
+ @helper_logger.video_log_wrapper
def run_once(self, source_path, codec, resolution, host, args,
collect_only = False):
@@ -42,6 +43,7 @@
file_utils.make_leaf_dir(constants.TEST_DIR)
with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
extension_paths = [cros_constants.MULTIMEDIA_TEST_EXTENSION],
autotest_ext=True,
init_network_controller=True) as cr:
diff --git a/client/site_tests/video_HangoutHardwarePerf/video_HangoutHardwarePerf.py b/client/site_tests/video_HangoutHardwarePerf/video_HangoutHardwarePerf.py
index 011e416..d7d9d7e 100644
--- a/client/site_tests/video_HangoutHardwarePerf/video_HangoutHardwarePerf.py
+++ b/client/site_tests/video_HangoutHardwarePerf/video_HangoutHardwarePerf.py
@@ -11,6 +11,7 @@
from autotest_lib.client.cros import power_status, power_utils
from autotest_lib.client.cros import service_stopper
from autotest_lib.client.cros.audio import cmd_utils
+from autotest_lib.client.cros.video import helper_logger
# The download base for test assets.
DOWNLOAD_BASE = ('http://commondatastorage.googleapis.com'
@@ -209,7 +210,9 @@
'--test_video_data=%s' % ';'.join(test_video_data),
'--rendering_warm_up=%d' % RENDERING_WARM_UP,
'--rendering_fps=%f' % RENDERING_FPS,
- '--num_play_throughs=%d' % MAX_INT]
+ '--num_play_throughs=%d' % MAX_INT,
+ helper_logger.chrome_vmodule_flag(),
+ ]
cmd_line.append('--ozone-platform=gbm')
return cmd_line
@@ -231,7 +234,9 @@
'--gtest_filter=SimpleEncode/*/0',
'--test_stream_data=%s' % ';'.join(test_stream_data),
'--run_at_fps',
- '--num_frames_to_encode=%d' % MAX_INT]
+ '--num_frames_to_encode=%d' % MAX_INT,
+ helper_logger.chrome_vmodule_flag(),
+ ]
cmd_line.append('--ozone-platform=gbm')
return cmd_line
@@ -260,6 +265,7 @@
finally:
cmd_utils.kill_or_log_returncode(*popens)
+ @helper_logger.video_log_wrapper
@chrome_binary_test.nuke_chrome
def run_once(self, resources, decode_videos, encode_videos, measurement):
self._downloads = DownloadManager(tmpdir = self.tmpdir)
diff --git a/client/site_tests/video_JpegDecodeAccelerator/video_JpegDecodeAccelerator.py b/client/site_tests/video_JpegDecodeAccelerator/video_JpegDecodeAccelerator.py
index acf8055..20e6bce 100644
--- a/client/site_tests/video_JpegDecodeAccelerator/video_JpegDecodeAccelerator.py
+++ b/client/site_tests/video_JpegDecodeAccelerator/video_JpegDecodeAccelerator.py
@@ -6,6 +6,7 @@
import logging
from autotest_lib.client.cros import chrome_binary_test
+from autotest_lib.client.cros.video import helper_logger
class video_JpegDecodeAccelerator(chrome_binary_test.ChromeBinaryTest):
"""
@@ -22,6 +23,7 @@
binary = 'jpeg_decode_accelerator_unittest'
+ @helper_logger.video_log_wrapper
@chrome_binary_test.nuke_chrome
def run_once(self, gtest_filter=None):
"""
@@ -32,7 +34,7 @@
@raises: error.TestFail for jpeg_decode_accelerator_unittest failures.
"""
logging.debug('Starting video_JpegDecodeAccelerator')
- cmd_line_list = []
+ cmd_line_list = [helper_logger.chrome_vmodule_flag()]
if gtest_filter:
cmd_line_list.append('--gtest_filter="%s"' % gtest_filter)
diff --git a/client/site_tests/video_MultiplePlayback/video_MultiplePlayback.py b/client/site_tests/video_MultiplePlayback/video_MultiplePlayback.py
index 903c557..952ea2f 100755
--- a/client/site_tests/video_MultiplePlayback/video_MultiplePlayback.py
+++ b/client/site_tests/video_MultiplePlayback/video_MultiplePlayback.py
@@ -9,6 +9,7 @@
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib.cros import chrome
from autotest_lib.client.cros.video import youtube_helper
+from autotest_lib.client.cros.video import helper_logger
FLASH_PROCESS_NAME = 'chrome/chrome --type=ppapi'
@@ -77,11 +78,14 @@
yh.verify_video_playback()
+ @helper_logger.video_log_wrapper
def run_once(self):
# TODO(scottz): Remove this when crbug.com/220147 is fixed.
dut_board = utils.get_current_board()
if dut_board == 'x86-mario':
raise error.TestNAError('This test is not available on %s' %
dut_board)
- with chrome.Chrome(init_network_controller=True) as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
+ init_network_controller=True) as cr:
self.run_video_tests(cr.browser)
diff --git a/client/site_tests/video_PlaybackPerf/video_PlaybackPerf.py b/client/site_tests/video_PlaybackPerf/video_PlaybackPerf.py
index 1743ddb..71d3288 100644
--- a/client/site_tests/video_PlaybackPerf/video_PlaybackPerf.py
+++ b/client/site_tests/video_PlaybackPerf/video_PlaybackPerf.py
@@ -14,6 +14,7 @@
from autotest_lib.client.cros import service_stopper
from autotest_lib.client.cros.video import histogram_verifier
from autotest_lib.client.cros.video import constants
+from autotest_lib.client.cros.video import helper_logger
DISABLE_ACCELERATED_VIDEO_DECODE_BROWSER_ARGS = [
@@ -78,6 +79,7 @@
"loop=true")
+ @helper_logger.video_log_wrapper
def run_once(self, video_name, video_description, power_test=False,
arc_mode=None):
"""
@@ -233,8 +235,10 @@
"""
keyvals = {}
- with chrome.Chrome(arc_mode=self.arc_mode,
- init_network_controller=True) as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
+ arc_mode=self.arc_mode,
+ init_network_controller=True) as cr:
# Open the video playback page and start playing.
self.start_playback(cr, local_path)
result = gather_result(cr)
diff --git a/client/site_tests/video_VDAPerf/video_VDAPerf.py b/client/site_tests/video_VDAPerf/video_VDAPerf.py
index 25320e5..3601b7c 100644
--- a/client/site_tests/video_VDAPerf/video_VDAPerf.py
+++ b/client/site_tests/video_VDAPerf/video_VDAPerf.py
@@ -12,6 +12,7 @@
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib import file_utils
from autotest_lib.client.cros import chrome_binary_test
+from autotest_lib.client.cros.video import helper_logger
from contextlib import closing
from math import ceil, floor
@@ -230,14 +231,15 @@
# Get frame delivery time, decode as fast as possible.
test_log_file = self._results_file(name, 'no_rendering', OUTPUT_LOG)
- cmd_line = (
- '--test_video_data="%s" ' % test_video_data +
- '--gtest_filter=DecodeVariations/*/0 ' +
- '--disable_rendering ' +
- '--output_log="%s" ' % test_log_file +
- '--ozone-platform=gbm'
- )
-
+ cmd_line_list = [
+ '--test_video_data="%s"' % test_video_data,
+ '--gtest_filter=DecodeVariations/*/0',
+ '--disable_rendering',
+ '--output_log="%s"' % test_log_file,
+ '--ozone-platform=gbm',
+ helper_logger.chrome_vmodule_flag(),
+ ]
+ cmd_line = ' '.join(cmd_line_list)
self.run_chrome_test_binary(BINARY, cmd_line)
frame_delivery_times = self._load_frame_delivery_times(test_log_file)
@@ -250,14 +252,16 @@
# Get frame drop rate & CPU usage, decode at the specified fps
test_log_file = self._results_file(name, 'with_rendering', OUTPUT_LOG)
time_log_file = self._results_file(name, 'with_rendering', TIME_LOG)
- cmd_line = (
- '--test_video_data="%s" ' % test_video_data +
- '--gtest_filter=DecodeVariations/*/0 ' +
- '--rendering_warm_up=%d ' % RENDERING_WARM_UP_ITERS +
- '--rendering_fps=%s ' % rendering_fps +
- '--output_log="%s" ' % test_log_file +
- '--ozone-platform=gbm'
- )
+ cmd_line_list = [
+ '--test_video_data="%s"' % test_video_data,
+ '--gtest_filter=DecodeVariations/*/0',
+ '--rendering_warm_up=%d' % RENDERING_WARM_UP_ITERS,
+ '--rendering_fps=%s' % rendering_fps,
+ '--output_log="%s"' % test_log_file,
+ '--ozone-platform=gbm',
+ helper_logger.chrome_vmodule_flag(),
+ ]
+ cmd_line = ' '.jon(cmd_line_list)
time_cmd = ('%s -f "%s" -o "%s" ' %
(TIME_BINARY, TIME_OUTPUT_FORMAT, time_log_file))
self.run_chrome_test_binary(BINARY, cmd_line, prefix=time_cmd)
@@ -268,12 +272,14 @@
# Get decode time median.
test_log_file = self._results_file(name, 'decode_time', OUTPUT_LOG)
- cmd_line = (
- '--test_video_data="%s" ' % test_video_data +
- '--gtest_filter=*TestDecodeTimeMedian ' +
- '--output_log="%s" ' % test_log_file +
- '--ozone-platform=gbm'
- )
+ cmd_line_list = [
+ '--test_video_data="%s"' % test_video_data,
+ '--gtest_filter=*TestDecodeTimeMedian',
+ '--output_log="%s"' % test_log_file,
+ '--ozone-platform=gbm',
+ helper_logger.chrome_vmodule_flag(),
+ ]
+ cmd_line = ' '.join(cmd_line_list)
self.run_chrome_test_binary(BINARY, cmd_line)
line = open(test_log_file, 'r').read()
m = RE_DECODE_TIME_MEDIAN.match(line)
@@ -281,7 +287,7 @@
decode_time = int(m.group(1))
self._logperf(name, KEY_DECODE_TIME_50, decode_time, UNIT_MICROSECOND)
-
+ @helper_logger.video_log_wrapper
@chrome_binary_test.nuke_chrome
def run_once(self, test_cases):
self._perf_keyvals = {}
diff --git a/client/site_tests/video_VDASanity/video_VDASanity.py b/client/site_tests/video_VDASanity/video_VDASanity.py
index a1112f0..b875469 100644
--- a/client/site_tests/video_VDASanity/video_VDASanity.py
+++ b/client/site_tests/video_VDASanity/video_VDASanity.py
@@ -8,6 +8,7 @@
from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib import file_utils
from autotest_lib.client.cros import chrome_binary_test
+from autotest_lib.client.cros.video import helper_logger
DOWNLOAD_BASE = ('http://commondatastorage.googleapis.com'
@@ -21,6 +22,7 @@
"""
version = 1
+ @helper_logger.video_log_wrapper
@chrome_binary_test.nuke_chrome
def run_once(self, test_cases):
for (path, width, height, frame_num, frag_num, profile) in test_cases:
@@ -42,8 +44,9 @@
cmd_line_list = [
'--test_video_data="%s"' % test_video_data,
'--gtest_filter=VideoDecodeAcceleratorTest.NoCrash',
- '--ozone-platform=gbm'
- ]
+ helper_logger.chrome_vmodule_flag(),
+ '--ozone-platform=gbm',
+ ]
cmd_line = ' '.join(cmd_line_list)
self.run_chrome_test_binary(BINARY, cmd_line)
@@ -52,4 +55,3 @@
os.remove(filepath)
except OSError:
pass
-
diff --git a/client/site_tests/video_VEAPerf/video_VEAPerf.py b/client/site_tests/video_VEAPerf/video_VEAPerf.py
index c05d56e..e746070 100644
--- a/client/site_tests/video_VEAPerf/video_VEAPerf.py
+++ b/client/site_tests/video_VEAPerf/video_VEAPerf.py
@@ -16,6 +16,7 @@
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib import file_utils
from autotest_lib.client.cros import chrome_binary_test
+from autotest_lib.client.cros.video import helper_logger
DOWNLOAD_BASE = ('http://commondatastorage.googleapis.com'
@@ -201,6 +202,7 @@
'--gtest_filter=EncoderPerf/*/0',
'--test_stream_data=%s' % test_stream_data,
'--output_log="%s"' % test_log_file,
+ helper_logger.chrome_vmodule_flag(),
'--ozone-platform=gbm']
self.run_chrome_test_binary(VEA_BINARY, ' '.join(vea_args))
self._analyze_fps(test_name, test_log_file)
@@ -215,6 +217,7 @@
'--test_stream_data=%s' % test_stream_data,
'--run_at_fps', '--measure_latency',
'--output_log="%s"' % test_log_file,
+ helper_logger.chrome_vmodule_flag(),
'--ozone-platform=gbm']
time_cmd = ('%s -f "%s" -o "%s" ' %
(TIME_BINARY, TIME_OUTPUT_FORMAT, time_log_file))
@@ -223,7 +226,7 @@
self._analyze_encode_latency(test_name, test_log_file)
self._analyze_cpu_usage(test_name, time_log_file)
-
+ @helper_logger.video_log_wrapper
@chrome_binary_test.nuke_chrome
def run_once(self, test_cases):
last_error = None
@@ -253,4 +256,3 @@
if last_error:
raise last_error
-
diff --git a/client/site_tests/video_VideoCorruption/video_VideoCorruption.py b/client/site_tests/video_VideoCorruption/video_VideoCorruption.py
index b1af0ac..9b66589 100755
--- a/client/site_tests/video_VideoCorruption/video_VideoCorruption.py
+++ b/client/site_tests/video_VideoCorruption/video_VideoCorruption.py
@@ -9,18 +9,22 @@
from autotest_lib.client.common_lib.cros import chrome
from autotest_lib.client.cros.video import constants
from autotest_lib.client.cros.video import native_html5_player
+from autotest_lib.client.cros.video import helper_logger
class video_VideoCorruption(test.test):
"""This test verifies playing corrupted video in Chrome."""
version = 1
+ @helper_logger.video_log_wrapper
def run_once(self, video):
"""Tests whether Chrome handles corrupted videos gracefully.
@param video: Sample corrupted video file to be played in Chrome.
"""
- with chrome.Chrome(init_network_controller=True) as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
+ init_network_controller=True) as cr:
shutil.copy2(constants.VIDEO_HTML_FILEPATH, self.bindir)
cr.browser.platform.SetHTTPServerDirectories(self.bindir)
tab = cr.browser.tabs[0]
diff --git a/client/site_tests/video_VideoDecodeAccelerator/video_VideoDecodeAccelerator.py b/client/site_tests/video_VideoDecodeAccelerator/video_VideoDecodeAccelerator.py
index b98548c..543ce15 100644
--- a/client/site_tests/video_VideoDecodeAccelerator/video_VideoDecodeAccelerator.py
+++ b/client/site_tests/video_VideoDecodeAccelerator/video_VideoDecodeAccelerator.py
@@ -7,6 +7,7 @@
from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib import error
from autotest_lib.client.cros import chrome_binary_test
+from autotest_lib.client.cros.video import helper_logger
class video_VideoDecodeAccelerator(chrome_binary_test.ChromeBinaryTest):
"""
@@ -17,7 +18,7 @@
version = 1
binary = 'video_decode_accelerator_unittest'
-
+ @helper_logger.video_log_wrapper
@chrome_binary_test.nuke_chrome
def run_once(self, videos, use_cr_source_dir=True, gtest_filter=None):
"""
@@ -45,6 +46,7 @@
# along with test logs.
cmd_line_list.append(
'--thumbnail_output_dir="%s"' % self.resultsdir)
+ cmd_line_list.append(helper_logger.chrome_vmodule_flag())
cmd_line_list.append('--ozone-platform=gbm')
if gtest_filter:
diff --git a/client/site_tests/video_VideoDecodeMemoryUsage/video_VideoDecodeMemoryUsage.py b/client/site_tests/video_VideoDecodeMemoryUsage/video_VideoDecodeMemoryUsage.py
index 9124bc0..de9397f 100644
--- a/client/site_tests/video_VideoDecodeMemoryUsage/video_VideoDecodeMemoryUsage.py
+++ b/client/site_tests/video_VideoDecodeMemoryUsage/video_VideoDecodeMemoryUsage.py
@@ -13,6 +13,7 @@
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib.cros import chrome
from autotest_lib.client.cros.graphics import graphics_utils
+from autotest_lib.client.cros.video import helper_logger
TEST_PAGE = 'content.html'
@@ -359,11 +360,14 @@
"""This is a memory usage test for video playback."""
version = 1
+ @helper_logger.video_log_wrapper
def run_once(self, testcases):
last_error = None
logging.getLogger().addFilter(TelemetryFilter())
- with chrome.Chrome(init_network_controller=True) as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
+ init_network_controller=True) as cr:
cr.browser.platform.SetHTTPServerDirectories(self.bindir)
for class_name, videos in testcases:
name = _get_testcase_name(class_name, videos)
diff --git a/client/site_tests/video_VideoEncodeAccelerator/video_VideoEncodeAccelerator.py b/client/site_tests/video_VideoEncodeAccelerator/video_VideoEncodeAccelerator.py
index 805c8c6..1662b71 100644
--- a/client/site_tests/video_VideoEncodeAccelerator/video_VideoEncodeAccelerator.py
+++ b/client/site_tests/video_VideoEncodeAccelerator/video_VideoEncodeAccelerator.py
@@ -12,6 +12,7 @@
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib import file_utils
from autotest_lib.client.cros import chrome_binary_test
+from autotest_lib.client.cros.video import helper_logger
DOWNLOAD_BASE = 'http://commondatastorage.googleapis.com/chromiumos-test-assets-public/'
BINARY = 'video_encode_accelerator_unittest'
@@ -87,6 +88,7 @@
return ''
+ @helper_logger.video_log_wrapper
@chrome_binary_test.nuke_chrome
def run_once(self, in_cloud, streams, profile, gtest_filter=None):
"""Runs video_encode_accelerator_unittest on the streams.
@@ -113,6 +115,7 @@
cmd_line_list = []
cmd_line_list.append('--test_stream_data="%s:%s:%s:%s:%s:%s"' % (
input_path, width, height, profile, output_path, bit_rate))
+ cmd_line_list.append(helper_logger.chrome_vmodule_flag())
cmd_line_list.append('--ozone-platform=gbm')
# Command line |gtest_filter| can override get_filter_option().
diff --git a/client/site_tests/video_VideoReload/video_VideoReload.py b/client/site_tests/video_VideoReload/video_VideoReload.py
index 4b0e3cc..9981fe0 100755
--- a/client/site_tests/video_VideoReload/video_VideoReload.py
+++ b/client/site_tests/video_VideoReload/video_VideoReload.py
@@ -9,6 +9,7 @@
from autotest_lib.client.common_lib.cros import chrome
from autotest_lib.client.cros.video import constants
from autotest_lib.client.cros.video import native_html5_player
+from autotest_lib.client.cros.video import helper_logger
WAIT_TIMEOUT_S = 30
@@ -16,12 +17,15 @@
"""This test verifies reloading video works in Chrome."""
version = 1
+ @helper_logger.video_log_wrapper
def run_once(self, video_file):
"""Tests whether Chrome reloads video after reloading the tab.
@param video_file: fullpath to video to play.
"""
- with chrome.Chrome(init_network_controller=True) as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
+ init_network_controller=True) as cr:
shutil.copy2(constants.VIDEO_HTML_FILEPATH, self.bindir)
cr.browser.platform.SetHTTPServerDirectories(self.bindir)
tab = cr.browser.tabs[0]
diff --git a/client/site_tests/video_VideoSanity/video_VideoSanity.py b/client/site_tests/video_VideoSanity/video_VideoSanity.py
index eeeb57d..885de9f 100755
--- a/client/site_tests/video_VideoSanity/video_VideoSanity.py
+++ b/client/site_tests/video_VideoSanity/video_VideoSanity.py
@@ -10,6 +10,7 @@
from autotest_lib.client.common_lib.cros import chrome, arc_common
from autotest_lib.client.cros.video import constants
from autotest_lib.client.cros.video import native_html5_player
+from autotest_lib.client.cros.video import helper_logger
class video_VideoSanity(test.test):
"""This test verify the media elements and video sanity.
@@ -21,6 +22,7 @@
version = 2
+ @helper_logger.video_log_wrapper
def run_once(self, video_file, arc_mode=False):
"""
Tests whether the requested video is playable
@@ -49,8 +51,10 @@
arc_mode_str = arc_common.ARC_MODE_ENABLED
else:
arc_mode_str = arc_common.ARC_MODE_DISABLED
- with chrome.Chrome(arc_mode=arc_mode_str,
- init_network_controller=True) as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
+ arc_mode=arc_mode_str,
+ init_network_controller=True) as cr:
shutil.copy2(constants.VIDEO_HTML_FILEPATH, self.bindir)
video_path = os.path.join(constants.CROS_VIDEO_DIR,
'files', video_file)
diff --git a/client/site_tests/video_VideoSeek/video_VideoSeek.py b/client/site_tests/video_VideoSeek/video_VideoSeek.py
index 1344c2a..1470304 100755
--- a/client/site_tests/video_VideoSeek/video_VideoSeek.py
+++ b/client/site_tests/video_VideoSeek/video_VideoSeek.py
@@ -9,6 +9,7 @@
from autotest_lib.client.bin import test, utils
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib.cros import chrome
+from autotest_lib.client.cros.video import helper_logger
WAIT_TIMEOUT_S = 180
@@ -42,6 +43,8 @@
return False
+
+ @helper_logger.video_log_wrapper
def run_once(self, codec, is_switchres, video):
"""Tests whether video seek works by random seeks forward and backward.
@@ -52,7 +55,9 @@
if self.is_skipping_test(codec, is_switchres):
raise error.TestNAError('Skipping test run on this board.')
- with chrome.Chrome(init_network_controller=True) as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
+ init_network_controller=True) as cr:
cr.browser.platform.SetHTTPServerDirectories(self.bindir)
tab = cr.browser.tabs[0]
tab.Navigate(cr.browser.platform.http_server.UrlOf(
diff --git a/client/site_tests/video_VimeoVideo/video_VimeoVideo.py b/client/site_tests/video_VimeoVideo/video_VimeoVideo.py
index 3928221..bab3669 100755
--- a/client/site_tests/video_VimeoVideo/video_VimeoVideo.py
+++ b/client/site_tests/video_VimeoVideo/video_VimeoVideo.py
@@ -10,6 +10,7 @@
from autotest_lib.client.bin import test, utils
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib.cros import chrome
+from autotest_lib.client.cros.video import helper_logger
class video_VimeoVideo(test.test):
@@ -107,7 +108,10 @@
playback = playback + 1
+ @helper_logger.video_log_wrapper
def run_once(self):
- with chrome.Chrome(init_network_controller=True) as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
+ init_network_controller=True) as cr:
cr.browser.platform.SetHTTPServerDirectories(self.bindir)
self.run_vimeo_tests(cr.browser)
diff --git a/client/site_tests/video_WebRtcCamera/video_WebRtcCamera.py b/client/site_tests/video_WebRtcCamera/video_WebRtcCamera.py
index be1b2e5..ae3967f 100644
--- a/client/site_tests/video_WebRtcCamera/video_WebRtcCamera.py
+++ b/client/site_tests/video_WebRtcCamera/video_WebRtcCamera.py
@@ -10,6 +10,7 @@
from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib.cros import chrome
+from autotest_lib.client.cros.video import helper_logger
EXTRA_BROWSER_ARGS = ['--use-fake-ui-for-media-stream']
@@ -77,10 +78,12 @@
desc=('getusermedia.html:reportTestDone did not run. Test did not '
'complete successfully.'))
+ @helper_logger.video_log_wrapper
def run_once(self):
"""Runs the test."""
self.board = utils.get_current_board()
- with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS,
+ with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS +\
+ [helper_logger.chrome_vmodule_flag()],
init_network_controller=True) as cr:
self.start_getusermedia(cr)
self.print_perf_results()
diff --git a/client/site_tests/video_WebRtcMediaRecorder/video_WebRtcMediaRecorder.py b/client/site_tests/video_WebRtcMediaRecorder/video_WebRtcMediaRecorder.py
index 6ce536d..b011e07 100644
--- a/client/site_tests/video_WebRtcMediaRecorder/video_WebRtcMediaRecorder.py
+++ b/client/site_tests/video_WebRtcMediaRecorder/video_WebRtcMediaRecorder.py
@@ -9,6 +9,7 @@
from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib.cros import chrome
+from autotest_lib.client.cros.video import helper_logger
EXTRA_BROWSER_ARGS = ['--use-fake-ui-for-media-stream',
'--use-fake-device-for-media-stream',
@@ -31,7 +32,8 @@
@param test_name: Name of test to run.
"""
- with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS,
+ with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS +\
+ [helper_logger.chrome_vmodule_flag()],
init_network_controller=True) as cr:
cr.browser.platform.SetHTTPServerDirectories(self.bindir)
self.tab = cr.browser.tabs[0]
@@ -76,6 +78,7 @@
return True
+ @helper_logger.video_log_wrapper
def run_once(self):
"""Runs the video_WebRtcMediaRecorder test."""
self.launch_recorder_test('testStartAndRecorderState')
@@ -100,4 +103,3 @@
self.launch_recorder_test('testAddingTrackToMediaStreamFiresErrorEvent')
self.launch_recorder_test(
'testRemovingTrackFromMediaStreamFiresErrorEvent')
-
diff --git a/client/site_tests/video_WebRtcPeerConnectionWithCamera/video_WebRtcPeerConnectionWithCamera.py b/client/site_tests/video_WebRtcPeerConnectionWithCamera/video_WebRtcPeerConnectionWithCamera.py
index d7cb903..fcdf50e 100644
--- a/client/site_tests/video_WebRtcPeerConnectionWithCamera/video_WebRtcPeerConnectionWithCamera.py
+++ b/client/site_tests/video_WebRtcPeerConnectionWithCamera/video_WebRtcPeerConnectionWithCamera.py
@@ -9,6 +9,7 @@
from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib.cros import chrome
+from autotest_lib.client.cros.video import helper_logger
EXTRA_BROWSER_ARGS = ['--use-fake-ui-for-media-stream']
@@ -51,12 +52,14 @@
_test_done, timeout=timeout_secs, sleep_interval=1,
desc='loopback.html reports itself as finished')
+ @helper_logger.video_log_wrapper
def run_once(self, video_codec):
"""Runs the video_WebRtcPeerConnectionWithCamera test.
@param video_codec: video codec to use.
"""
- with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS,
+ with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS +\
+ [helper_logger.chrome_vmodule_flag()],
init_network_controller=True) as cr:
self.start_loopback(cr, video_codec)
self.wait_test_completed(TIMEOUT)
diff --git a/client/site_tests/video_WebRtcPerf/video_WebRtcPerf.py b/client/site_tests/video_WebRtcPerf/video_WebRtcPerf.py
index 23e61da..4d66999 100644
--- a/client/site_tests/video_WebRtcPerf/video_WebRtcPerf.py
+++ b/client/site_tests/video_WebRtcPerf/video_WebRtcPerf.py
@@ -14,6 +14,7 @@
from autotest_lib.client.cros import service_stopper
from autotest_lib.client.cros.video import histogram_verifier
from autotest_lib.client.cros.video import constants
+from autotest_lib.client.cros.video import helper_logger
EXTRA_BROWSER_ARGS = ['--use-fake-device-for-media-stream',
@@ -125,6 +126,7 @@
return tab
+ @helper_logger.video_log_wrapper
def run_once(self, decode_time_test=False, cpu_test=False,
power_test=False, arc_mode=None):
"""
@@ -178,7 +180,8 @@
keyvals = {}
EXTRA_BROWSER_ARGS.append(FAKE_FILE_ARG % local_path)
- with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS,
+ with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS +\
+ [helper_logger.chrome_vmodule_flag()],
arc_mode=self.arc_mode,
init_network_controller=True) as cr:
# On daisy, Chrome freezes about 30 seconds after login because of
diff --git a/client/site_tests/video_WebRtcSanity/video_WebRtcSanity.py b/client/site_tests/video_WebRtcSanity/video_WebRtcSanity.py
index e607d77..24f53b0 100644
--- a/client/site_tests/video_WebRtcSanity/video_WebRtcSanity.py
+++ b/client/site_tests/video_WebRtcSanity/video_WebRtcSanity.py
@@ -9,6 +9,7 @@
from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib.cros import chrome
+from autotest_lib.client.cros.video import helper_logger
EXTRA_BROWSER_ARGS = ['--use-fake-ui-for-media-stream',
'--use-fake-device-for-media-stream']
@@ -50,9 +51,11 @@
_test_done, timeout=timeout_secs, sleep_interval=1,
desc = 'getusermedia.html reports itself as finished')
+ @helper_logger.video_log_wrapper
def run_once(self):
"""Runs the test."""
- with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS,
+ with chrome.Chrome(extra_browser_args=EXTRA_BROWSER_ARGS +\
+ [helper_logger.chrome_vmodule_flag()],
init_network_controller=True) as cr:
self.start_getusermedia(cr)
self.wait_test_completed(SHORT_TIMEOUT_IN_SECS)
diff --git a/client/site_tests/video_YouTubeHTML5/video_YouTubeHTML5.py b/client/site_tests/video_YouTubeHTML5/video_YouTubeHTML5.py
index e08b5c6..216f175 100755
--- a/client/site_tests/video_YouTubeHTML5/video_YouTubeHTML5.py
+++ b/client/site_tests/video_YouTubeHTML5/video_YouTubeHTML5.py
@@ -8,6 +8,7 @@
from autotest_lib.client.common_lib.cros import chrome
from autotest_lib.client.cros import httpd
from autotest_lib.client.cros.video import youtube_helper
+from autotest_lib.client.cros.video import helper_logger
FLASH_PROCESS_NAME = 'chrome/chrome --type=ppapi'
@@ -64,6 +65,8 @@
yh.verify_player_states()
+ @helper_logger.video_log_wrapper
def run_once(self):
- with chrome.Chrome() as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag()) as cr:
self.run_youtube_tests(cr.browser)
diff --git a/client/site_tests/video_YouTubeMseEme/video_YouTubeMseEme.py b/client/site_tests/video_YouTubeMseEme/video_YouTubeMseEme.py
index b8a0a78..e3e2294 100644
--- a/client/site_tests/video_YouTubeMseEme/video_YouTubeMseEme.py
+++ b/client/site_tests/video_YouTubeMseEme/video_YouTubeMseEme.py
@@ -8,6 +8,7 @@
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib.cros import chrome
from autotest_lib.client.cros import httpd
+from autotest_lib.client.cros.video import helper_logger
class video_YouTubeMseEme(test.test):
@@ -277,8 +278,10 @@
msg='test_can_play_widevine failed.')
+ @helper_logger.video_log_wrapper
def run_once(self, subtest_name):
- with chrome.Chrome() as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag()) as cr:
self.init(cr, self.PLAYER_PAGE)
try:
diff --git a/client/site_tests/video_YouTubePage/video_YouTubePage.py b/client/site_tests/video_YouTubePage/video_YouTubePage.py
index e720e13..ef8d499 100644
--- a/client/site_tests/video_YouTubePage/video_YouTubePage.py
+++ b/client/site_tests/video_YouTubePage/video_YouTubePage.py
@@ -10,6 +10,7 @@
from autotest_lib.client.bin import test
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib.cros import chrome
+from autotest_lib.client.cros.video import helper_logger
class video_YouTubePage(test.test):
@@ -310,6 +311,7 @@
self.verify_last_second_playback()
+ @helper_logger.video_log_wrapper
def run_once(self, subtest_name):
"""Main runner for the test.
@@ -326,7 +328,9 @@
extension_paths.append(extension_path)
- with chrome.Chrome(extension_paths=extension_paths) as cr:
+ with chrome.Chrome(
+ extra_browser_args=helper_logger.chrome_vmodule_flag(),
+ extension_paths=extension_paths) as cr:
self.initialize_test(cr, self.TEST_PAGE)
if subtest_name is 'playing':