CHERRY-PICK: Auto detect ethernet and hide FA utility
BUG=chrome-os-partner:18533
TEST=Manual test run AudioQuality
Change-Id: I92e9ad02b07b1224edf5dd5db806c0933fbd10cf
Original:Change-Id: I51b839e8f617637b9023ac15b790eb0e87e6f823
Original:Reviewed-on: https://gerrit.chromium.org/gerrit/50027
Original:Reviewed-by: Hsinyu Chao <hychao@chromium.org>
Original:Commit-Queue: Heng-ruey Hsu <henryhsu@chromium.org>
Original:Tested-by: Heng-ruey Hsu <henryhsu@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/56770
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Heng-ruey Hsu <henryhsu@chromium.org>
Tested-by: Heng-ruey Hsu <henryhsu@chromium.org>
diff --git a/client/site_tests/factory_AudioQuality/factory_AudioQuality.py b/client/site_tests/factory_AudioQuality/factory_AudioQuality.py
index 60d3cc6..2e8835a 100644
--- a/client/site_tests/factory_AudioQuality/factory_AudioQuality.py
+++ b/client/site_tests/factory_AudioQuality/factory_AudioQuality.py
@@ -78,6 +78,9 @@
# Logs
_LABEL_FAIL_LOGS = 'Test fail, find more detail in log.'
+# Setting
+_INIT_COUNTDOWN = 3
+
class factory_AudioQuality(test.test):
version = 2
preserve_srcdir = True
@@ -310,16 +313,21 @@
def init_audio_server(self, event):
self._eth = net_utils.FindUsableEthDevice()
- if not self._eth:
- raise error.TestError('No Ethernet interface available')
- factory.console.info('Got %s for connection' % self._eth)
+ if self._eth:
+ factory.console.info('Got %s for connection' % self._eth)
- # Configure local network environment to accept command from test host.
- utils.system('ifconfig %s %s netmask 255.255.255.0 up' %
- (self._eth, _LOCAL_IP))
- utils.system('iptables -A INPUT -p tcp --dport %s -j ACCEPT' % _PORT)
+ # Configure local network environment to accept command
+ # from test host.
+ utils.system('ifconfig %s %s netmask 255.255.255.0 up' %
+ (self._eth, _LOCAL_IP))
+ utils.system('iptables -A INPUT -p tcp --dport %s -j ACCEPT' %
+ _PORT)
- self.start_server()
+ self.start_server()
+ else:
+ self.ui.CallJSFunction('start_countdown',
+ 'Auto detect ethernet, countdown | 自动侦测网路,倒数\n',
+ self._countdown)
def run_once(self, input_dev='hw:0,0', output_dev='hw:0,0', eth='eth0',
dmic_switch_mixer_settings=_DMIC_SWITCH_MIXER_SETTINGS,
@@ -327,7 +335,8 @@
unmute_speaker_mixer_settings=_UNMUTE_SPEAKER_MIXER_SETTINGS,
mute_right_mixer_settings=_MUTE_RIGHT_MIXER_SETTINGS,
mute_left_mixer_settings=_MUTE_LEFT_MIXER_SETTINGS,
- use_sox_loop=False, use_multitone=False, loop_buffer_count=10):
+ use_sox_loop=False, use_multitone=False, loop_buffer_count=10,
+ countdown=_INIT_COUNTDOWN):
factory.console.info('%s run_once' % self.__class__)
self._ah = audio_helper.AudioHelper(self)
@@ -346,6 +355,7 @@
self._sweep_job = None
self._tone_job = None
self._loop_process = None
+ self._countdown = countdown
# Mixer settings for different configurations.
self._init_mixer_settings = init_mixer_settings
diff --git a/client/site_tests/factory_AudioQuality/static/factory_AudioQuality.html b/client/site_tests/factory_AudioQuality/static/factory_AudioQuality.html
index 3ab5b14..ce4b68f 100644
--- a/client/site_tests/factory_AudioQuality/static/factory_AudioQuality.html
+++ b/client/site_tests/factory_AudioQuality/static/factory_AudioQuality.html
@@ -1,6 +1,7 @@
-<h1 id="message" style="position: absolute; top:45%">
- Plug in ethernet and hit S to start
- | 插上网路线后按下S键开始测试
+<h1 id="default_message" style="position: absolute; top:45%">
+ Plug in ethernet | 插上网路线开始测试
+</h1>
+<h1 id="message" style="position: absolute; top:55%">
</h1>
<br>
<div onClick="toggleFAUtility()">Click to toggle FA utility:</div>
diff --git a/client/site_tests/factory_AudioQuality/static/factory_AudioQuality.js b/client/site_tests/factory_AudioQuality/static/factory_AudioQuality.js
index 669cb23..e42ca36 100644
--- a/client/site_tests/factory_AudioQuality/static/factory_AudioQuality.js
+++ b/client/site_tests/factory_AudioQuality/static/factory_AudioQuality.js
@@ -1,12 +1,18 @@
+/*
window.onkeydown = function(event) {
if (event.keyCode == 83) {
test.sendTestEvent("init_audio_server",{});
- window.onkeydown = null;
}
}
+*/
+
+window.onload = function(event) {
+ test.sendTestEvent("init_audio_server",{});
+}
var active = 'loop_0';
var display_fa_utility = false;
+var count = 3, count_timer = null, count_msg = '';
function setMessage(msg) {
document.getElementById("message").innerHTML = msg;
@@ -30,8 +36,26 @@
if (display_fa_utility) {
document.getElementById('fa-utility').style.display = 'none';
display_fa_utility = false;
+ test.sendTestEvent("init_audio_server",{});
} else {
document.getElementById('fa-utility').style.display = 'block';
display_fa_utility = true;
+ setMessage('');
+ clearInterval(count_timer);
}
}
+
+function countdown() {
+ setMessage(count_msg + ' ' + count);
+ count = count - 1;
+ if (count <= 0) {
+ clearInterval(count_timer);
+ test.sendTestEvent("init_audio_server",{});
+ }
+}
+
+function start_countdown(msg, num) {
+ count = num;
+ count_msg = msg;
+ count_timer = setInterval(countdown, 1000);
+}