PRESUBMIT_test.py revision 5821806d5e7f356e8fa4b058a389a808ea183019
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#!/usr/bin/env python
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved.
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# found in the LICENSE file.
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import os
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import unittest
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import PRESUBMIT
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EXTENSIONS_PATH = os.path.join('chrome', 'common', 'extensions')
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)DOCS_PATH = os.path.join(EXTENSIONS_PATH, 'docs')
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SERVER2_PATH = os.path.join(DOCS_PATH, 'server2')
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PUBLIC_PATH = os.path.join(DOCS_PATH, 'templates', 'public')
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PRIVATE_PATH = os.path.join(DOCS_PATH, 'templates', 'private')
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)INTROS_PATH = os.path.join(DOCS_PATH, 'templates', 'intros')
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ARTICLES_PATH = os.path.join(DOCS_PATH, 'templates', 'articles')
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class PRESUBMITTest(unittest.TestCase):
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  def testCreateIntegrationTestArgs(self):
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files = [
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      os.path.join(EXTENSIONS_PATH, 'test.cc'),
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      os.path.join(EXTENSIONS_PATH, 'test2.cc'),
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      os.path.join('test', 'test.py')
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ]
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    expected_files = []
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertEqual(expected_files,
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     PRESUBMIT._CreateIntegrationTestArgs(input_files))
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    expected_files.append(os.path.join('apps', 'fileSystem.html'))
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files.append(os.path.join(EXTENSIONS_PATH, 'api', 'file_system.idl'))
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertEqual(expected_files,
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     PRESUBMIT._CreateIntegrationTestArgs(input_files))
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    expected_files.append(os.path.join('extensions', 'alarms.html'))
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    expected_files.append(os.path.join('apps', 'alarms.html'))
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files.append(os.path.join(EXTENSIONS_PATH, 'api', 'alarms.json'))
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertEqual(expected_files,
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     PRESUBMIT._CreateIntegrationTestArgs(input_files))
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    expected_files.append('extensions/devtools_network.html')
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files.append(os.path.join(EXTENSIONS_PATH,
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                    'api',
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                    'devtools',
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                    'network.json'))
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertEqual(expected_files,
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     PRESUBMIT._CreateIntegrationTestArgs(input_files))
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    expected_files.append(os.path.join('extensions', 'docs.html'))
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    expected_files.append(os.path.join('apps', 'docs.html'))
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files.append(os.path.join(PUBLIC_PATH, 'extensions', 'docs.html'))
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertEqual(expected_files,
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     PRESUBMIT._CreateIntegrationTestArgs(input_files))
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    expected_files.append(os.path.join('extensions', 'bookmarks.html'))
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files.append(os.path.join(INTROS_PATH, 'bookmarks.html'))
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertEqual(expected_files,
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     PRESUBMIT._CreateIntegrationTestArgs(input_files))
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    expected_files.append(os.path.join('extensions', 'i18n.html'))
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    expected_files.append(os.path.join('apps', 'i18n.html'))
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files.append(os.path.join(INTROS_PATH, 'i18n.html'))
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertEqual(expected_files,
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     PRESUBMIT._CreateIntegrationTestArgs(input_files))
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    expected_files.append(os.path.join('apps', 'about_apps.html'))
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files.append(os.path.join(ARTICLES_PATH, 'about_apps.html'))
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertEqual(expected_files,
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     PRESUBMIT._CreateIntegrationTestArgs(input_files))
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files.append(os.path.join(PRIVATE_PATH, 'type.html'))
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertEqual([ '-a' ],
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     PRESUBMIT._CreateIntegrationTestArgs(input_files))
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files.pop()
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files.append(os.path.join(SERVER2_PATH, 'test.txt'))
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertEqual(expected_files,
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     PRESUBMIT._CreateIntegrationTestArgs(input_files))
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    input_files.append(os.path.join(SERVER2_PATH, 'handler.py'))
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertEqual([ '-a' ],
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     PRESUBMIT._CreateIntegrationTestArgs(input_files))
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if __name__ == '__main__':
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  unittest.main()
76