summaryrefslogtreecommitdiffstats
path: root/chrome/browser/process_singleton_linux_uitest.cc
Commit message (Collapse)AuthorAgeFilesLines
* GTTF: Detect browser crashes on shutdown in UI tests. phajdan.jr@chromium.org2011-04-061-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously the automation framework could miss a browser crash during shutdown on POSIX (on Windows there is crash_service.exe that should catch all crashes). This change makes the automation framework avoid losing information about the browser process' exit status (CrashAwareSleep), and fixes a bug in base::WaitForExitCodeWithTimeout (which on POSIX never reported the process has been signaled). Finally, it makes the automation framework use WaitForExitCodeWithTimeout instead of WaitForSingleProcess. This way we can get the exit status information in an accurate and cross-platform way. To avoid trying to close the same process handle twice (it's only an issue on Windows) I've changed WaitForExitCodeWithTimeout not to close the passed handle. It's only used in few places and I think this CL fixes all of them. I've tested this change locally on Mac with a UI test that SIGKILLs the browser. Before this change the test passed (it shouldn't), and after this change the test failed with an information that the browser has not exited cleanly. BUG=56644 Review URL: http://codereview.chromium.org/6689014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80608 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 80472 - GTTF: Detect browser crashes on shutdown in UI ↵phajdan.jr@chromium.org2011-04-051-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tests.Previously the automation framework could miss a browsercrash during shutdown on POSIX (on Windows there iscrash_service.exe that should catch all crashes).This change makes the automation framework avoid losinginformation about the browser process' exit status(CrashAwareSleep), and fixes a bug in base::WaitForExitCodeWithTimeout(which on POSIX never reported the process has been signaled).Finally, it makes the automation framework use WaitForExitCodeWithTimeoutinstead of WaitForSingleProcess. This way we can get the exit statusinformation in an accurate and cross-platform way.To avoid trying to close the same process handle twice (it's only an issue on Windows) I've changed WaitForExitCodeWithTimeout not to close the passed handle. It's only used in few places and I think this CL fixes all of them.I've tested this change locally on Mac with a UI test that SIGKILLs the browser.Before this change the test passed (it shouldn't), and after this changethe test failed with an information that the browser has not exited cleanly.BUG=56644Review URL: http://codereview.chromium.org/6689014 TBR=phajdan.jr@chromium.org [----------] 1 test from MultipartResponseUITest [ RUN ] MultipartResponseUITest.SingleVisit [3538:3538:0405/104633:11326126024137:ERROR:process_util_posix.cc(108)] Received signal 11 base::debug::StackTrace::StackTrace() [0xcd194a] base::(anonymous namespace)::StackDumpSignalHandler() [0xcb0e5a] 0x2b835e391100 AutomationProxy::GetBrowserWindowCount() [0x2055e86] ProxyLauncher::IsBrowserRunning() [0xc3f1a2] ProxyLauncher::QuitBrowser() [0xc454b3] ProxyLauncher::CloseBrowserAndServer() [0xc472d6] UITestBase::TearDown() [0xc50d54] UITest::TearDown() [0xc51260] testing::TestInfo::Run() [0xe8de78] testing::TestCase::Run() [0xe8df35] testing::internal::UnitTestImpl::RunAllTests() [0xe8f6e7] testing::internal::HandleSehExceptionsInMethodIfSupported<>() [0xe804d5] testing::internal::HandleExceptionsInMethodIfSupported<>() [0xe8ba92] testing::UnitTest::Run() [0xe8badb] base::TestSuite::Run() [0x212c26d] main [0xc48e41] 0x2b835e37d1c4 0x42fec9 Review URL: http://codereview.chromium.org/6794056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80488 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: Detect browser crashes on shutdown in UI tests.phajdan.jr@chromium.org2011-04-051-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously the automation framework could miss a browser crash during shutdown on POSIX (on Windows there is crash_service.exe that should catch all crashes). This change makes the automation framework avoid losing information about the browser process' exit status (CrashAwareSleep), and fixes a bug in base::WaitForExitCodeWithTimeout (which on POSIX never reported the process has been signaled). Finally, it makes the automation framework use WaitForExitCodeWithTimeout instead of WaitForSingleProcess. This way we can get the exit status information in an accurate and cross-platform way. To avoid trying to close the same process handle twice (it's only an issue on Windows) I've changed WaitForExitCodeWithTimeout not to close the passed handle. It's only used in few places and I think this CL fixes all of them. I've tested this change locally on Mac with a UI test that SIGKILLs the browser. Before this change the test passed (it shouldn't), and after this change the test failed with an information that the browser has not exited cleanly. BUG=56644 Review URL: http://codereview.chromium.org/6689014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80472 0039d316-1c4b-4281-b951-d872f2087c98
* Marked several tests flaky.rdsmith@chromium.org2011-03-011-1/+2
| | | | | | | | | | | | BUG=74548 BUG=74549 BUG=74554 BUG=74557 TEST=None Review URL: http://codereview.chromium.org/6594079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76393 0039d316-1c4b-4281-b951-d872f2087c98
* Remove action_timeout_ms and fix all the callers.tfarina@chromium.org2011-01-151-7/+7
| | | | | | | | | | | (This was a TODO for phajdan.jr). BUG=None TEST=trybots Review URL: http://codereview.chromium.org/6282002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71558 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded chrome/browser/ui/browser.h usage.thestig@chromium.org2011-01-131-1/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/6260001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71368 0039d316-1c4b-4281-b951-d872f2087c98
* Remove sleep_timeout_ms and fix all the callers.tfarina@chromium.org2011-01-111-4/+5
| | | | | | | | | | | (This was a TODO for phajdan.jr). BUG=None TEST=trybots Review URL: http://codereview.chromium.org/6187002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71038 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/thread.h to base/threading, fix up callers to use the new location.brettw@chromium.org2011-01-011-1/+1
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6028009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70345 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unneeded browser_process.h includes.thestig@chromium.org2010-12-051-1/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5512009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68323 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Include browser.h -> ui/browser.h [Part 4].jhawkins@chromium.org2010-11-171-2/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5104002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66401 0039d316-1c4b-4281-b951-d872f2087c98
* Handle return value from HANDLE_EINTR in process_singleton_linux_uitest.cc.hans@chromium.org2010-09-141-1/+1
| | | | | | | | | | | Clang complains about this unused return value. BUG=none TEST=none Review URL: http://codereview.chromium.org/3334016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59352 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 8)thestig@chromium.org2010-09-081-1/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3232003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58794 0039d316-1c4b-4281-b951-d872f2087c98
* Move the SingletonSocket to a temporary directorydavidben@chromium.org2010-08-271-2/+54
| | | | | | | | | | | | | | | | This is to workaround problems on certain network filesystems (notably AFS) which do not support Unix domain sockets. We move the sockets into a temporary folder and symlink. To avoid the possibility of a dangling link to a missing (and later intercepted) remote directory, we create and check cookie files and rely on the stickiness of /tmp/ to avoid a race condition in the check. R=mattm BUG=44606 TEST=ProcessSingletonLinuxTest.* Review URL: http://codereview.chromium.org/2838034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57623 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: eliminate wstring-accepting AppendLooseValueevan@chromium.org2010-08-131-1/+1
| | | | | | | | Instead use AppendArg variants which accept a FilePath or an ASCII string. Review URL: http://codereview.chromium.org/3134008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56100 0039d316-1c4b-4281-b951-d872f2087c98
* Add #include utf_string_conversions.h to all files that use ASCIIToWide andbrettw@chromium.org2010-08-031-0/+1
| | | | | | | | | | | | | | | ASCIIToUTF16. I removed string_util includes from a few places where it obviously wasn't needed. In a separate pass, I'm going to remove ASCIITo* from string_util, then I'm going to do an even later pass to find the unnecessary string_util.h includes and remove them. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3058027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54746 0039d316-1c4b-4281-b951-d872f2087c98
* Unlink SingletonLock and SingletonSocket to allow for reusing profile ↵pathorn@chromium.org2010-08-021-27/+41
| | | | | | | | | | | directory between tests. BUG=50454 TEST=Run ui_tests --user-data-dir=/tmp/foo Review URL: http://codereview.chromium.org/3053020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54575 0039d316-1c4b-4281-b951-d872f2087c98
* ProcessSingleton(all): create the lock immediately after failing to connect ↵mattm@chromium.org2010-05-281-8/+52
| | | | | | | | | | | | | to an existing process. ProcessSingletonLinux: if creating the lock fails, try to notify again. BUG=44417 TEST=manual Review URL: http://codereview.chromium.org/2066014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48533 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 47875 - ProcessSingleton(all): create the lock immediately after ↵thestig@chromium.org2010-05-211-52/+8
| | | | | | | | | | | | | | | | failing to connect to an existing process. ProcessSingletonLinux: if creating the lock fails, try to notify again. BUG=44417 TEST=manual Review URL: http://codereview.chromium.org/2066014 TBR=mattm@chromium.org Review URL: http://codereview.chromium.org/2125015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47893 0039d316-1c4b-4281-b951-d872f2087c98
* ProcessSingleton(all): create the lock immediately after failing to connect ↵mattm@chromium.org2010-05-211-8/+52
| | | | | | | | | | | | | to an existing process. ProcessSingletonLinux: if creating the lock fails, try to notify again. BUG=44417 TEST=manual Review URL: http://codereview.chromium.org/2066014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47875 0039d316-1c4b-4281-b951-d872f2087c98
* [GTTF] [TTF] Test marks maintenance CL:phajdan.jr@chromium.org2010-05-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The following tests are no longer flaky: BrowserTest.PageLanguageDetection (bug 42095) AppApiTest.AppProcess (bug 42497) ExtensionApiTest.Infobars (bug 40141) FindInPageControllerTest.FindMovesWhenObscuring (bug 41124) SessionRestoreUITest.TwoWindowsCloseOneRestoreOnlyOne (bug 39905) RenderViewTest.OnHandleKeyboardEvent (no bug) RenderViewTest.DidFailProvisionalLoadWithErrorForError (no bug) AutomatedUITestBase.CloseTab (bug 14774) AutomatedUITestBase.CloseBrowserWindow (bug 14774) PluginTest.FlashLayoutWhilePainting (bug 21538) HistoryTester.VerifyHistoryLength1 (bug 39785) HistoryTester.ConsiderRedirectAfterGestureAsUserInitiated (bug 39785) HistoryTester.ConsiderSlowRedirectAsUserInitiated (bug 39785) * The following tests are not flaky, but disabled due to hangs: BrowserAppRefocusTest.OpenTab (bug 44026) * The following tests are not flaky, but seem to fail consistently: ProcessSingletonLinuxTest.NotifyOtherProcessSuccess (bug 30953) ProcessSingletonLinuxTest.NotifyOtherProcessHostChanged (bug 30953) BrowserViewsAccessibilityTest.TestChromeWindowAccObj (bug 44486) BUG=42095, 44026, 42497, 40141, 41124, 30953, 39905, 14774, 21538, 39785, 44486 TEST=this touches a lot of tests Review URL: http://codereview.chromium.org/2128009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47633 0039d316-1c4b-4281-b951-d872f2087c98
* ProcessSingletonLinux.NotifyOtherProcessNoSuicide removes socket instead of ↵mattm@chromium.org2010-05-121-14/+5
| | | | | | | | | | | | | sending SIGSTOP. Should be a more reliable way of preventing the existing browser from being notified, fixing valgrind flake. BUG=43976 TEST=tools/valgrind/chrome_tests.sh -t ui --gtest_filter=ProcessSingletonLinuxTest.NotifyOtherProcessNoSuicide Review URL: http://codereview.chromium.org/2013020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47082 0039d316-1c4b-4281-b951-d872f2087c98
* ProcessSingletonLinux: check if lock pid is part of the current Chrome instance.mattm@chromium.org2010-05-111-1/+40
| | | | | | | | | | | | | If it is, it must be an orphaned lock file that just happens to have an unfortunate pid, since we haven't tried to create a lockfile ourselves yet. Also, don't allow kill with pid 0, which would be another way to theoretically kill ourselves. BUG=42568,43594 TEST=ui_tests, manual testing Review URL: http://codereview.chromium.org/1981009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46977 0039d316-1c4b-4281-b951-d872f2087c98
* [GTTF] Miscellanous UI tests cleanups:phajdan.jr@chromium.org2010-03-301-11/+14
| | | | | | | | | | | | | | | - use built-in timeouts instead of "inventing" them in each test case - avoid unneeded checks and operations - use automation calls more effectively - use FLAKY mark instead of DISABLED to maintain test coverage - split some tests to make the above possible TEST=UI test based BUG=39785 Review URL: http://codereview.chromium.org/1547003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43070 0039d316-1c4b-4281-b951-d872f2087c98
* Make running chrome process detection in ui tests more reliable.phajdan.jr@chromium.org2010-01-131-2/+2
| | | | | | | | | | | Also drops fragile code. TEST=Covered by ui_tests. BUG=10840 Review URL: http://codereview.chromium.org/545006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36119 0039d316-1c4b-4281-b951-d872f2087c98
* Putting back tests that are excluded in bug 28808oshima@chromium.org2009-12-221-2/+3
| | | | | | | | | BUG=28808 TEST=Run ui_tests Review URL: http://codereview.chromium.org/502071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35180 0039d316-1c4b-4281-b951-d872f2087c98
* Flaky tests on linux/view/64bit builds.oshima@chromium.org2009-11-251-0/+7
| | | | | | | | | | | Also updated browser_tests to use #define instead of #if/else, like other tests. BUG=28808 TEST=None Review URL: http://codereview.chromium.org/442012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33137 0039d316-1c4b-4281-b951-d872f2087c98
* Use ASCII strings for switch names.evan@chromium.org2009-10-131-1/+0
| | | | | | Review URL: http://codereview.chromium.org/270062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28779 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: rejigger how initialization works.evan@chromium.org2009-10-121-40/+32
| | | | | | | | | | I'm attempting to clean up CommandLine. This change rearranges how initialization is done. I am trying to eliminate redundant functions; more will come in subsequent changes. Review URL: http://codereview.chromium.org/273018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28752 0039d316-1c4b-4281-b951-d872f2087c98
* linux: expose the ProcessSingleton timeout to speed testsevan@chromium.org2009-09-171-1/+3
| | | | | | | | | We have a 20-second timeout normally, but for testing purposes 1 second is plenty. Review URL: http://codereview.chromium.org/209018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26483 0039d316-1c4b-4281-b951-d872f2087c98
* Gtk: Add error dialog when profile was in use on a different computer.mattm@chromium.org2009-08-211-0/+2
| | | | | | | | | BUG=17549 TEST=see bug Review URL: http://codereview.chromium.org/173222 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24008 0039d316-1c4b-4281-b951-d872f2087c98
* Make ProcessSingletonLinux check the hostname to avoid multiple uses of a ↵mattm@chromium.org2009-08-211-21/+67
| | | | | | | | | | | | | profile over NFS. In order to avoid the singleton socket filename from exceeding the max socket name length, the socket is just named "SingletonSocket" and a new file "SingletonLock" is used for the hostname&pid. BUG=17549 TEST=see bug Review URL: http://codereview.chromium.org/174041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23930 0039d316-1c4b-4281-b951-d872f2087c98
* It's a copy of http://codereview.chromium.org/155772, with the fix for ↵suzhe@chromium.org2009-08-041-0/+108
| | | | | | | | | | | | | | | | valgrind test failure. This CL implements the second TODO item of issue 12343: 2) We should send back an ACK to the second process. If the second process doesn't get an ACK in the given timeout, it should kill the first process and go ahead and start. The approach of this CL is to append process id to the singleton's socket filename, such as "SingletonSocket-12345", and creates a symbol link "SingletonSocket" to the real socket file. In ProcessSingleton::NotifyOtherProcess() if it's successfully connected to "SingletonSocket" but no ACK received, then the original process can be killed by its process id retrieved from the symbol link. BUG=12343 ProcessSingleton Linux cleanups TEST=In one terminal, launch chrome and stop the process by pressing ctrl-z, then launch chrome again in another terminal. The second chrome shall be started in 5 seconds, and the first one shall be killed. Review URL: http://codereview.chromium.org/160436 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22365 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 22144.suzhe@chromium.org2009-07-311-102/+0
| | | | | | | | still broke valgrind ui_tests. Review URL: http://codereview.chromium.org/159694 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22145 0039d316-1c4b-4281-b951-d872f2087c98
* It's a copy of http://codereview.chromium.org/155772, with the fix for ↵suzhe@chromium.org2009-07-311-0/+102
| | | | | | | | | | | | | | | | valgrind test failure. This CL implements the second TODO item of issue 12343: 2) We should send back an ACK to the second process. If the second process doesn't get an ACK in the given timeout, it should kill the first process and go ahead and start. The approach of this CL is to append process id to the singleton's socket filename, such as "SingletonSocket-12345", and creates a symbol link "SingletonSocket" to the real socket file. In ProcessSingleton::NotifyOtherProcess() if it's successfully connected to "SingletonSocket" but no ACK received, then the original process can be killed by its process id retrieved from the symbol link. BUG=http://crbug.com/12343 ProcessSingleton Linux cleanups TEST=In one terminal, launch chrome and stop the process by pressing ctrl-z, then launch chrome again in another terminal. The second chrome shall be started in 5 seconds, and the first one shall be killed. Review URL: http://codereview.chromium.org/160436 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22144 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 21943.willchan@chromium.org2009-07-291-98/+0
| | | | | | | Broke valgrind ui_tests Review URL: http://codereview.chromium.org/160320 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21945 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Adds ACKs to ProcessSingletonLinux.willchan@chromium.org2009-07-291-0/+98
Patch contributed by suzhe@google.com (http://codereview.chromium.org/155772) BUG=http://crbug.com/12343 TEST=In one terminal, launch chrome and stop the process by pressing ctrl-z, then launch chrome again in another terminal. The second chrome shall be started in 5 seconds, and the first one shall be killed. Review URL: http://codereview.chromium.org/159577 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21943 0039d316-1c4b-4281-b951-d872f2087c98