History log of /external/autotest/client/cros/chameleon/chameleon.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a320675d6aadeb74b17f708b31af2873f63a001e 01-Sep-2015 Selina Liu <hsuying@google.com> chameleon: Add USBController object and getter method to ChameleonBoard

BUG=chromium:514541
TEST=not used yet.

Change-Id: If17baaa8ec3d9f9400bbe2536127796bfa1e4213
Reviewed-on: https://chromium-review.googlesource.com/296249
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
c44fcd702aa712d0b8f3016930710973219e5af8 09-Sep-2015 Chin-Huang Lin <chinlin@google.com> Chameleon: Add waiting after WaitVideoInputStable().

After plugging Chameleon, the DUT needs some time
to stabilize before opening a tab and navigating
to chrome://settings-frame/display. Without this
waiting, it will fail to navigate to the url,
which will make autotest-extension fail to work.

This patch DOES NOT fix the bug directly, but adds
waiting time after video input of Chameleon becomes
stable to avoid triggering this bug. The relation
between failure of navigation and autotest-extension
needs more research.

BUG=chromium:528617, chromium:528621
TEST=Ran display_ResolutionList.extended on nyan_blaze
for ten times, and all passed.

Change-Id: I43a1170a672b17e2c19e09c619497efa677ddcd7
Reviewed-on: https://chromium-review.googlesource.com/298470
Commit-Ready: Ting-Yuan Cheng <tingyuan@chromium.org>
Tested-by: Chin-Huang Lin <chinlin@google.com>
Reviewed-by: Yuli Huang <yuli@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
08f2fc155347bffe84bf1e125fbcb82ec612e705 25-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Add get_mac_address to ChameleonBoard

Use this method to identify Chameleon boards.
This method will be useful when querying MAC address of bluetooth module
on audio board.

BUG=chromium:476860
TEST=not used yet

Change-Id: I1b798dfe5b1a3d7ebb1663b7f318825d13698b31
Reviewed-on: https://chromium-review.googlesource.com/273151
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
b2f7b7dd0b6df2f88bcb8a333793cdc2e9b33cb7 22-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Refactor ChameleonAudioInput and widget handler

Refactor ChameleonAudioInput to use new StopCapturingAudio API provided
by chameleond.
Refactor stop_recording method in ChameleonInputWidgetHandler so user
can call stop_recording method to stops recording, and this call does
not block for a while. User then calls get_recorded_binary to actually
retrieves the recorded data when user finishes time-sensitivite
sequences.

BUG=chromium:491058
TEST=not used yet

Change-Id: If4301c555e7736427513d75f1897bde711cf7759
Reviewed-on: https://chromium-review.googlesource.com/273125
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
24a9b64a364a434167ceff8544bf188aa0c897e0 22-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Refactor ChameleonAudioOutput and widget handler

Refactor ChameleonAudioOutput to use new StartPlayingAudio API provided
by chameleond.
Refactor start_playback in ChameleonOutputWidgetHandler so user can
call set_playback_data to send the data to be played to Chameleon. This
step is time-consuming and should be called before time-sensitive
sequence happens. Then user calls start_playback to actually play the
data, which should return right away so user can keep doing other
actions.

BUG=chromium:491508
TEST=not used yet

Change-Id: I67a5a9ed535b1f1a563152f8b38f46fe3046b734
Reviewed-on: https://chromium-review.googlesource.com/273124
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
6517831bcd04801ae5ce8124d045e1c3365d8525 22-May-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Add chameleon_host to ChameleonBoard

User can use chameleon_host property to use method provided by
ssh_host.SSHHost to copy/send files from/to Chameleon board.
This will be used in the future CL in ChameleonOutputWidgetHandler and
ChameleonInputWidgetHandler for audio data transfering.

BUG=chromium:491058
TEST=not used yet

Change-Id: I0b97d233db28068c084bf58d2a472bcc686a5a95
Reviewed-on: https://chromium-review.googlesource.com/273123
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
92cce6c062e48b1adf173a6fd0a519d9f920b5dd 22-Apr-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Fix the configuration where there is no audio board

Only construct an AudioBoard when there is an audio board on Chameleon.

BUG=chromium:479376
TEST=run display_ClientChameleonConnection test without audio board

Change-Id: I20c8d1c52b537422852e5f372acc3914e9ea4b28
Reviewed-on: https://chromium-review.googlesource.com/266792
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
32a15dd607c55ed227b47591facd637b86fcb801 24-Mar-2015 Mussa <mussa@chromium.org> Use Chameleon to capture video frames for image comp tests.

Chameleon helps us capture video frames during a video playback.

Generating golden images will be done as a next step before
enabling the test.

BUG=chromium:418217
TEST=Locally tested.

Change-Id: I9995d6d795cc2fade0f0d20813120d955d131bc6
Reviewed-on: https://chromium-review.googlesource.com/262202
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Commit-Queue: Mussa Kiroga <mussa@chromium.org>
Tested-by: Mussa Kiroga <mussa@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
2e9446a948550c9c504e60826b5118180a39a0c8 22-Feb-2015 Cheng-Yi Chiang <cychiang@chromium.org> chameleon: Use audio bus in audio widget link

Let ChameleonBoard provide an AudioBoard. Let AudioBoard provide an
AudioBus to AudioWidgetLink.
Then AudioWidgetLink can actually switch the route using audio_bus on
audio board in plug/unplug input/output methods.

BUG=chromium:453323
TEST=run audio_AudioBasicMicrophone and audio_AudioBasicHeadphone test
using audio board.

Change-Id: Ia1c77bac07a54327ac3ef74fa5220d11615f4bb6
Reviewed-on: https://chromium-review.googlesource.com/255365
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
d3fad2c8a0ba1508f5fc3efb90592687ec219d5c 12-Jan-2015 Cheng-Yi Chiang <cychiang@chromium.org> Chameleon: audio: Implement _find_port in ChameleonOutputWidgetHandler

Add ChameleonAudioOutput and ChameleonAudioOutputFinder so
ChameleonOutputWidgetHandler can find the audio output port on Chameleon.

BUG=chromium:437678
TEST=not used yet

Change-Id: I1a8ee40c1ea74025b216ced046fbec87e201b38c
Reviewed-on: https://chromium-review.googlesource.com/240109
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
4e241012e91ba74f1e85d5e6a630290e18a15aa9 23-Dec-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Add more test cases for display without HDCP

By requesting Chameleon to emualte a display with or without HDCP,
the test tries several combinations to enable or disable HDCP.

BUG=chromium:418253
TEST=Ran display_HDCPScreen on Pi and Pit.
CQ-DEPEND=CL:237461

Change-Id: I7ca1695cec2440de33b1109e81a9511e01ec95d2
Reviewed-on: https://chromium-review.googlesource.com/237453
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
5b43d6ab4e30473d0935e7ffc3a59767cdfbd34e 18-Dec-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Add support of no EDID

Add a new edid, NO_EDID. When applying it to a port, the port does
not response any EDID response. Make the APIs support it.

BUG=chromium:443418
TEST=The test display_NoEdid following this change will test it.
CQ-DEPEND=CL:236454

Change-Id: I527b26778bc4db3b063eac61809f27e4375988e9
Reviewed-on: https://chromium-review.googlesource.com/236464
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
2876774869edc2ca66476e471c409773ee0ab06d 16-Dec-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Fix ChameleonPort use_edid method on failure cases

On the failure cases, the logic of restoring the original EDID has
to be executed.

BUG=chromium:429862
TEST=Ran the display_Resolution.mirrored test passed on Pit

Change-Id: I89fc39b1344026ea61e51eca5e9631da3f3166f7
Reviewed-on: https://chromium-review.googlesource.com/236170
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Kalin Stoyanov <kalin@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
b4fd848987c6ac62a9e65ff4bb91ef281ab6894e 16-Dec-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Use a fast method to test the chameleond server

The ProbeInputs method becomes slow as it checks the VGA availability
by detecting the H-Sync/V-Sync signal. If no VGA plugged, have to
wait it timed out. Should use a fast method to test the chameleond
server.

BUG=chromium:429931
TEST=Ran the display_ServerChameleonConnection test.

Change-Id: I25a620275a6f48423918d420c1070727c7ecc787
Reviewed-on: https://chromium-review.googlesource.com/235871
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Kalin Stoyanov <kalin@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
e6e901f00651bdd4796942b66d492b2de3d803f0 06-Dec-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Simplify and refine the logic of applying an EDID

It is hard to apply an EDID in a correct way. To emulate a real
scenario of switching monitor, it should:
- unplug the monitor,
- apply the EDID,
- plug the monitor, and
- wait the source signal stable.
And also restores to the original EDID after a test.

To simplify these steps, a test can apply an EDID like the following:
with chameleon_port.use_edid_file(filename):
do_some_test_on(chameleon_port)

BUG=chromium:429862
TEST=Ran the affected tests passed on nyan_big.

Change-Id: Id22ff52341ecdc138879b5c8178d808fe15ebadd
Reviewed-on: https://chromium-review.googlesource.com/233760
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
5720ba9ff5bad07ce8f808b14fa9cf669152f0aa 26-Nov-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Remove the is_healthy and repair logic from chameleon tests

Remove these legacy calls.

BUG=chromium:437059
TEST=Ran a Chameleon test passed.

Change-Id: I7e1029462d8f8f285714e67635113711309b3357
Reviewed-on: https://chromium-review.googlesource.com/232143
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
Tested-by: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
72e354c97eb4890f4ce770ea27caa62cf620b4c1 22-Nov-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Move the set_plug to ChameleonPort

Remove this call from the ChameleonTest layer. Should call it via the
ChameleonPort layer.

BUG=chromium:429862
TEST=Ran affected test passed in peach_pit.

Change-Id: I10cb2866b43bef121e603e99af868f02f026bd69
Reviewed-on: https://chromium-review.googlesource.com/231565
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
8578eeb003a7db21e0a4d85f0192fa45faf8ec80 04-Nov-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Separate some ChameleonPort logic to the audio and video classes

This change only keeps the common logic to ChameleonPort, as a general
port. The audio specific logic goes to ChameleonAudioInput class while
the video specific logic goes to ChameleonVideoInput class.

BUG=chromium:398806
TEST=Ran display_ClientChameleonConnection and display_Resolution passed.

Change-Id: Ia30a8110665b51b34f322607218fc8f1ff7bf430
Reviewed-on: https://chromium-review.googlesource.com/227217
Reviewed-by: Mussa Kiroga <mussa@chromium.org>
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
19c95d740e9b6194d94e30c4bfce9ce449b34da5 04-Nov-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Add support of Chameleon output ports

This change
renames the original input_id to the general port_id,
adds the RPC calls to probe the inputs and outputs, and
enables the chameleon port finder to find input and output ports.

BUG=chromium:398806
TEST=Ran display_ClientChameleonConnection and display_Resolution passed.

Change-Id: I1761ee16b539703e43cefba3709ed614fbcd0386
Reviewed-on: https://chromium-review.googlesource.com/227216
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
200a00c77422f92a28811c8174a364e1a716e9af 15-Oct-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Use RGB as the pixel format

We now all switch to the new 3-to-1 Chameleon board. Its pixel format
is RGB. So make it fixed.

BUG=chromium:423588
TEST=Ran display_Resolution test passed.

Change-Id: I3e2cc56720ce02e19dd478d26d3148e5a47e54d5
Reviewed-on: https://chromium-review.googlesource.com/223167
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
6bd2f1998baf5e9d53680f52511e2694ccc5d6d6 14-Oct-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: ChameleonPortFinder only finds video ports

The Chameleon ports now include audio ports, like Mic and LineIn.
Two new APIs (HasAudioSupport and HasVideoSupport) are added to check
if the port supports audio/video. The logic should be changed to
only find the video ports.

BUG=chromium:417167, chromium:423173
TEST=Ran the test display_ClientChameleonConnection passed.

Change-Id: Id6e989fbe7a028cae9f2270f019dbcaf60cb9d58
Reviewed-on: https://chromium-review.googlesource.com/223162
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Mussa Kiroga <mussa@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
d7a45223ad35e98496bf3d0f8eeefa7a1eb2d731 14-Oct-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Only use video connector types as label

The Chameleon connector types now include audio interfaces. So limit
the label to video interfaces only.

BUG=chromium:423173
TEST=Tested by the following Python code:
>>> import common
>>> from autotest_lib.server import hosts
>>> hostname = 'DUT_IP'
>>> chameleon_hostname = 'CHAMELEON_IP'
>>> host = hosts.create_host(hostname,
chameleon_args={'chameleon_host': chameleon_hostname})
>>> labels = host.get_labels()
Checked the Chameleon label does not include any audio interface.

Change-Id: I1186517e23821bba697257db476c9c6c20da97c5
Reviewed-on: https://chromium-review.googlesource.com/223161
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
dab3815cdcea63b68bb18318442fb759fc8cb6eb 11-Sep-2014 Hung-ying Tyan <tyanh@chromium.org> Fix display_HotPlugNoisy

Originally, the test generates a pulse train of width 100us. It causes interrupt
storm on squawks (with Intel i915).

Now we generate less pulses with mixed widths from 1us to ~1s. Also add a short
time sleep between sub tests to better separate them.

BUG=chromium:408376
TEST=manually run both extended and mirrored tests on squawks and peach pi and
see them passed.

Change-Id: Ic7ba3760f478f3db549c54d748774955b4960934
Reviewed-on: https://chromium-review.googlesource.com/217465
Tested-by: Hung-ying Tyan <tyanh@chromium.org>
Reviewed-by: Ting-Yuan Cheng <tingyuan@chromium.org>
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Hung-ying Tyan <tyanh@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
c95277635c90ee616898d1f547440eff2dafc9cb 26-Sep-2014 Mussa <mussa@chromium.org> Integrate Chameleon capturing into video tests.

Video tests have been using native linux 'import' command to capture
screenshots. We are now using chameleon to capture the screenshots.
This serves as a first step to integrate chameleon into our video test
suite. We will do so only with peach_pit and roll out to other devices.

With this change we are also putting the logic to find chameleon ports
into a seperate class that can then be reused.

BUG=chromium:418217
TEST=Ran test on peach_pi.

Change-Id: I38b9ea3311b53eda937f9eb685c0dd24a24af059
Reviewed-on: https://chromium-review.googlesource.com/220202
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Tested-by: Mussa Kiroga <mussa@chromium.org>
Commit-Queue: Mussa Kiroga <mussa@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
e3bbd6188e6354b55bea1cad39004d587dbe7631 01-Sep-2014 Cheng-Yi Chiang <cychiang@chromium.org> Chameleon: Add HDMI audio support

1. On client side, AudioUtility is added to provide API to control audio
function on DUT through xmlrpc server.
2. On server side, AudioClient is added to control audio function on DUT
through xmlrpc proxy.
3. Audio method is added to ChameleonPort and ChameleonTest to control
audio function on Chameleon through chameleond proxy.

BUG=chromium:398806
TEST=This patch will be used in the upcoming audiovideo_AudioBasicHDMI
test.

Change-Id: If69a4505a384ae9e2d6a0fb8b15f39338bca4be7
Reviewed-on: https://chromium-review.googlesource.com/215872
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
c3fb2f6ce00d4dad5c5f6478a6fb650dfd89f42c 21-Aug-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Enable Chameleon client-side support

This change introduces a ChameleonConnection abstraction which unifies the
Chameleon connection from both client-side and server-side. A client test
sets this connection up by given either a lab-DUT hostname or specified in
the command line arguments.

The example test case display_ClientChameleonConnection is added. It verifies
the basic hardware setup of Chameleon from a client-side test.

BUG=chromium:405143
TEST=Ran the old server test display_Resolution.mirrored passed.
TEST=Ran the new client test display_ClientChameleonConnection passed, using:
$ test_that --board peppy --args "chameleon_host=$CHAMELEON_IP" $DUT_IP \
display_ClientChameleonConnection
TEST=Disconnected the HDMI cable, ran the same test failed.

Change-Id: Iac4c247ddbf9f8dac462f9c1ecb8cda4df74f4a3
Reviewed-on: https://chromium-review.googlesource.com/213709
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py
2588ce1c77ed94ffd9cf53540bb5c2cc351558c7 21-Aug-2014 Tom Wai-Hong Tam <waihong@chromium.org> Chameleon: Move chameleon.py and edid.py to the client directory

This prepares the client-side Chameleon test support. Client tests
can use the Chameleon libraries to control the Chameleon hardware.

BUG=chromium:405143
TEST=Ran the suite:chameleon passed on a machine at a desk.

Change-Id: Iad6061c815ff1fb48d15cda6b921f810759d07a3
Reviewed-on: https://chromium-review.googlesource.com/213708
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/client/cros/chameleon/chameleon.py