1d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org#!/usr/bin/python
2d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
3d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org"""
4d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgCopyright 2014 Google Inc.
5d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
6d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgUse of this source code is governed by a BSD-style license that can be
7d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgfound in the LICENSE file.
8d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
9d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgTest download.py
10d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
11d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgTODO(epoger): Create a command to update the expected results (in
12f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.orgself._output_dir_expected) when appropriate.  For now, you should:
13f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org1. examine the results in self._output_dir_actual and make sure they are ok
14f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org2. rm -rf self._output_dir_expected
15f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org3. mv self._output_dir_actual self._output_dir_expected
16d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgAlthough, if you're using an SVN checkout, this will blow away .svn directories
17f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.orgwithin self._output_dir_expected, which wouldn't be good...
18d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
19d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org"""
20d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
21d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org# System-level imports
22d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgimport os
23d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgimport shutil
24d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgimport tempfile
25d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgimport urllib
26d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
27d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org# Imports from within Skia
28b144271179aaf82cb1151e9dfd8e866747402594epogerimport fix_pythonpath  # must do this first
29b144271179aaf82cb1151e9dfd8e866747402594epogerfrom pyutils import url_utils
30f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.orgimport base_unittest
31d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgimport download_actuals
32d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
33f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org
34f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.orgclass DownloadTest(base_unittest.TestCase):
35d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
36d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org  def test_fetch(self):
37d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org    """Tests fetch() of GM results from actual-results.json ."""
38d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org    downloader = download_actuals.Download(
39b144271179aaf82cb1151e9dfd8e866747402594epoger        actuals_base_url=url_utils.create_filepath_url(
40f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org            os.path.join(self._input_dir, 'gm-actuals')),
41b144271179aaf82cb1151e9dfd8e866747402594epoger        gm_actuals_root_url=url_utils.create_filepath_url(
42f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org            os.path.join(self._input_dir, 'fake-gm-imagefiles')))
43d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org    downloader.fetch(
44d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org        builder_name='Test-Android-GalaxyNexus-SGX540-Arm7-Release',
45d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org        dest_dir=self._output_dir_actual)
46d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
47d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
48d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgdef main():
49f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org  base_unittest.main(DownloadTest)
50d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
51d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org
52d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.orgif __name__ == '__main__':
53d1630e8fc0eb27dbe75ed0fed6d2b1c7b359bf76commit-bot@chromium.org  main()
54