Description[Third time landing] Python implementation of sync server, for testing.
Implement the server side of chromium sync inside of testserver.py. The implementation supports at most one account (and ignores authentication credentials), but is otherwise reasonably full featured.
Make the sync_integration_tests run by default against the test server. An externally-provided --sync-url will give the old behavior.
Protocol buffers stuff: The test sync server requires Python generated code for .proto files. I've put generated code, as well as the python protocol buffers runtime library, in the output directory + "/python" (e.g, on windows, src/chrome/Debug/python/google/protobuf).
Flakiness fix: In the InProcessBrowserTest framework, improve the mechanism for tests that want to manually set up a user data directory. The new way ensures that the user data directory is always wiped; tests can't accidentally forget to do this anymore.
Flakiness fix: Make testserver try to /kill any old instance that might be hogging the port. Very useful if a test failure leaves a server running. Tested this against all combos of protocols, and it seems to work.
Flakiness fix: Port sync_integration_tests to the out-of-process test runner.
Flakiness fix: For IN_PROC_BROWSER_TESTS, don't run the test body if the setup triggered a fatal (ASSERT_) failure.
BUG=20905, 40980
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=44708
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=45916
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=46040
Patch Set 1 #Patch Set 2 : Patch set for self-review. #Patch Set 3 : Self-review fixes. #Patch Set 4 : Added unit tests for chromiumsync.py #
Total comments: 33
Patch Set 5 : Code review fixes. #Patch Set 6 : Shebangs, shebangs. #Patch Set 7 : Move python output dir from 'python' to 'pyproto' #Patch Set 8 : Remove debugging code. #Patch Set 9 : Clean newlines for trybot. #Patch Set 10 : Clean newlines for trybot. #
Total comments: 1
Patch Set 11 : Split sync proto generation into separate .gyp file #Patch Set 12 : Add sync_proto.gyp #
Total comments: 2
Patch Set 13 : Gyp hacking (trying to green the trybot) #Patch Set 14 : Fix Linux build. #Patch Set 15 : Linux unit_test fix. #Patch Set 16 : Tried on Linux (mac passes clean) #Patch Set 17 : Patch on Mac #Patch Set 18 : Patch on Windows #Patch Set 19 : Rebase. #Patch Set 20 : Tweak. #Patch Set 21 : Failed commit attempt #2 #Patch Set 22 : Fixed gyp bug ( :) ) #Messages
Total messages: 10 (0 generated)
|