| Index: chrome/test/functional/chromeos_crosh.py
|
| ===================================================================
|
| --- chrome/test/functional/chromeos_crosh.py (revision 261231)
|
| +++ chrome/test/functional/chromeos_crosh.py (working copy)
|
| @@ -1,174 +0,0 @@
|
| -#!/usr/bin/env python
|
| -# Copyright (c) 2012 The Chromium 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 os
|
| -
|
| -import pyauto_functional # must be imported before pyauto
|
| -import pyauto
|
| -import test_utils
|
| -
|
| -
|
| -class CroshTest(pyauto.PyUITest):
|
| - """Tests for crosh."""
|
| -
|
| - def setUp(self):
|
| - """Close all windows at startup."""
|
| - pyauto.PyUITest.setUp(self)
|
| - for _ in range(self.GetBrowserWindowCount()):
|
| - self.CloseBrowserWindow(0)
|
| -
|
| - def testBasic(self):
|
| - """Verify crosh basic flow."""
|
| - test_utils.OpenCroshVerification(self)
|
| -
|
| - # Verify crosh prompt.
|
| - self.WaitForHtermText(text='crosh> ',
|
| - msg='Could not find "crosh> " prompt')
|
| - self.assertTrue(
|
| - self.GetHtermRowsText(start=0, end=2).endswith('crosh> '),
|
| - msg='Could not find "crosh> " prompt')
|
| -
|
| - # Run a crosh command.
|
| - self.SendKeysToHterm('help\\n')
|
| - self.WaitForHtermText(text='help_advanced',
|
| - msg='Could not find "help_advanced" in help output.')
|
| -
|
| - # Exit crosh and close tab.
|
| - self.SendKeysToHterm('exit\\n')
|
| - self.WaitForHtermText(text='command crosh completed with exit code 0',
|
| - msg='Could not exit crosh.')
|
| -
|
| - def testAddBookmark(self):
|
| - """Test crosh URL can be bookmarked"""
|
| - test_utils.OpenCroshVerification(self)
|
| -
|
| - # Add bookmark.
|
| - bookmarks = self.GetBookmarkModel()
|
| - bar_id = bookmarks.BookmarkBar()['id']
|
| - name = 'crosh'
|
| - url = self.GetActiveTabURL()
|
| - count = bookmarks.NodeCount()
|
| - self.AddBookmarkURL(bar_id, 0, name, url.spec())
|
| - bookmarks = self.GetBookmarkModel()
|
| - node = bookmarks.BookmarkBar()['children'][0]
|
| - self.assertEqual(count + 1, bookmarks.NodeCount())
|
| - self.assertEqual(node['type'], 'url')
|
| - self.assertEqual(node['name'], name)
|
| - self.assertEqual(url.spec(), node['url'])
|
| -
|
| - def testMultipleWindowCrosh(self):
|
| - """Test that crosh can be opened in multiple windows."""
|
| - test_utils.OpenCroshVerification(self)
|
| -
|
| - for windex in range (1, 4): # 3 new windows
|
| - self.OpenNewBrowserWindow(True)
|
| - self.OpenCrosh()
|
| - self.assertEqual('crosh', self.GetActiveTabTitle())
|
| -
|
| - # Verify crosh prompt.
|
| - self.WaitForHtermText(text='crosh> ', tab_index=1, windex=windex,
|
| - msg='Could not find "crosh> " prompt')
|
| - self.assertTrue(
|
| - self.GetHtermRowsText(start=0, end=2, tab_index=1,
|
| - windex=windex).endswith('crosh> '),
|
| - msg='Could not find "crosh> " prompt')
|
| -
|
| - # Exit crosh.
|
| - self.SendKeysToHterm('exit\\n', tab_index=1, windex=windex)
|
| - self.WaitForHtermText(text='command crosh completed with exit code 0',
|
| - tab_index=1, windex=windex,
|
| - msg='Could not exit crosh.')
|
| -
|
| - def testShell(self):
|
| - """Test shell can be opened in crosh."""
|
| - test_utils.OpenCroshVerification(self)
|
| -
|
| - # Verify crosh prompt.
|
| - self.WaitForHtermText(text='crosh> ',
|
| - msg='Could not find "crosh> " prompt')
|
| - self.assertTrue(
|
| - self.GetHtermRowsText(start=0, end=2).endswith('crosh> '),
|
| - msg='Could not find "crosh> " prompt')
|
| -
|
| - # Run a shell command.
|
| - self.SendKeysToHterm(r'shell\n')
|
| - self.WaitForHtermText(text='chronos@localhost',
|
| - msg='Could not find "chronos@localhost" in shell output.')
|
| -
|
| - def testConnectToAnotherhost(self):
|
| - """Test ssh to another host."""
|
| - test_utils.OpenCroshVerification(self)
|
| -
|
| - # Verify crosh prompt.
|
| - self.WaitForHtermText(text='crosh> ',
|
| - msg='Could not find "crosh> " prompt')
|
| - self.assertTrue(
|
| - self.GetHtermRowsText(start=0, end=2).endswith('crosh> '),
|
| - msg='Could not find "crosh> " prompt')
|
| -
|
| - # Ssh to another host: chronos@localhost.
|
| - self.SendKeysToHterm(r'ssh chronos@localhost\n')
|
| - self.WaitForHtermText(text='Password',
|
| - msg='Could not find "Password" in shell output.')
|
| - self.SendKeysToHterm(r'test0000\n')
|
| - self.WaitForHtermText(text='chronos@localhost',
|
| - msg='Could not find "chronos@localhost" in shell output.')
|
| -
|
| - def testTabSwitching(self):
|
| - """Test tab can be switched in crosh."""
|
| - test_utils.OpenCroshVerification(self)
|
| -
|
| - # Open 6 tabs
|
| - for x in xrange(3):
|
| - self.AppendTab(self.GetHttpURLForDataPath('title2.html'))
|
| - self.assertEqual('Title Of Awesomeness', self.GetActiveTabTitle(),
|
| - msg='Unable to navigate to title2.html and '
|
| - 'verify tab title.')
|
| - self.OpenCrosh()
|
| - self.assertEqual(7, len(self.GetBrowserInfo()['windows'][0]['tabs']))
|
| -
|
| - # Select tab 5
|
| - self.ApplyAccelerator(pyauto.IDC_SELECT_TAB_4)
|
| - self.assertEqual('crosh', self.GetActiveTabTitle(),
|
| - msg='Unable to naviage to crosh.')
|
| -
|
| - # Run a crosh command.
|
| - self.SendKeysToHterm('help\\n', tab_index=4, windex=0)
|
| - self.WaitForHtermText(text='help_advanced', tab_index=4, windex=0,
|
| - msg='Could not find "help_advanced" in help output.')
|
| -
|
| - def testLargefileCrosh(self):
|
| - """Test large file is displayed in crosh."""
|
| - test_utils.OpenCroshVerification(self)
|
| -
|
| - # Verify crosh prompt.
|
| - self.WaitForHtermText(text='crosh> ',
|
| - msg='Could not find "crosh> " prompt')
|
| - self.assertTrue(
|
| - self.GetHtermRowsText(start=0, end=2).endswith('crosh> '),
|
| - msg='Could not find "crosh> " prompt')
|
| -
|
| - # Login to localhost.
|
| - self.SendKeysToHterm(r'ssh chronos@localhost\n')
|
| - self.WaitForHtermText(text='Password',
|
| - msg='Could not find "Password" in shell output.')
|
| - self.SendKeysToHterm(r'test0000\n')
|
| - self.WaitForHtermText(text='chronos@localhost',
|
| - msg='Could not find "chronos@localhost" in shell output.')
|
| -
|
| - # Create a file with 140 characters per line, 50000 lines.
|
| - bigfn = '/tmp/bigfile.txt'
|
| - with open(bigfn, 'w') as file:
|
| - file.write(('0' * 140 + '\n') * 50000 + 'complete\n')
|
| -
|
| - # Cat a large file.
|
| - self.SendKeysToHterm(r'cat %s\n' % bigfn)
|
| - self.WaitForHtermText(text='complete',
|
| - msg='Could not find "complete" in shell output.')
|
| - os.remove(bigfn)
|
| -
|
| -
|
| -if __name__ == '__main__':
|
| - pyauto_functional.Main()
|
|
|