diff options
author | miletus@chromium.org <miletus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-14 19:50:09 +0000 |
---|---|---|
committer | miletus@chromium.org <miletus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-14 19:51:19 +0000 |
commit | aa5d90ef6c87eb7a94ae343bb78e5f9d4ad40787 (patch) | |
tree | 8afdf740656cbe2b7ed63adf7f93808caacd3e30 /cc | |
parent | 86493cdf8af35fdd99e7034d0e34705e595576d4 (diff) | |
download | chromium_src-aa5d90ef6c87eb7a94ae343bb78e5f9d4ad40787.zip chromium_src-aa5d90ef6c87eb7a94ae343bb78e5f9d4ad40787.tar.gz chromium_src-aa5d90ef6c87eb7a94ae343bb78e5f9d4ad40787.tar.bz2 |
Enable test LayerTreeHostTestBreakSwapPromise with verbose logging information
The log of the flaky LayerTreeHostTestBreakSwapPromise test shows that
[ RUN ] LayerTreeHostTestBreakSwapPromise.RunMultiThread_DelegatingRenderer_ImplSidePaint
c:\b\build\slave\win_x64_builder\build\src\cc\trees\layer_tree_host_unittest.cc(4500): error: Value of: swap_promise_result_[2].did_not_swap_called
Actual: false
Expected: true
c:\b\build\slave\win_x64_builder\build\src\cc\trees\layer_tree_host_unittest.cc(4501): error: Value of: swap_promise_result_[2].reason
Actual: 0
Expected: SwapPromise::SWAP_FAILS
Which is: 1
[ FAILED ] LayerTreeHostTestBreakSwapPromise.RunMultiThread_DelegatingRenderer_ImplSidePaint (3 ms)
We have a EXPECT_TRUE on the SwapPromise's dtor to be called which passes.
It means we destroyed the SwapPromise without ever breaking them first
(no DidNotSwap ever called). I checked all the code path where we destroy
SwapPromise and we always break them first. So I can't figure out why it
is the case. I am adding some logging information and turn this test back
on, hopefully next time it fails on the bot I can use the extra logging
information to debug.
BUG=393995
Review URL: https://codereview.chromium.org/477443002
Cr-Commit-Position: refs/heads/master@{#289679}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289679 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r-- | cc/trees/layer_tree_host_unittest.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc index 20e8c24..a17c80b 100644 --- a/cc/trees/layer_tree_host_unittest.cc +++ b/cc/trees/layer_tree_host_unittest.cc @@ -4423,11 +4423,19 @@ class TestSwapPromise : public SwapPromise { virtual ~TestSwapPromise() { base::AutoLock lock(result_->lock); + LOG(ERROR) << "~TestSwapPromise() " + << " did_swap_called " << result_->did_swap_called + << " did_not_swap_called " << result_->did_not_swap_called + << " result addr " << result_; result_->dtor_called = true; } virtual void DidSwap(CompositorFrameMetadata* metadata) OVERRIDE { base::AutoLock lock(result_->lock); + LOG(ERROR) << "TestSwapPromise::DidSwap " + << " did_swap_called " << result_->did_swap_called + << " did_not_swap_called " << result_->did_not_swap_called + << " result addr " << result_; EXPECT_FALSE(result_->did_swap_called); EXPECT_FALSE(result_->did_not_swap_called); result_->did_swap_called = true; @@ -4435,6 +4443,11 @@ class TestSwapPromise : public SwapPromise { virtual void DidNotSwap(DidNotSwapReason reason) OVERRIDE { base::AutoLock lock(result_->lock); + LOG(ERROR) << "TestSwapPromise::DidNotSwap " + << " reason " << reason + << " did_swap_called " << result_->did_swap_called + << " did_not_swap_called " << result_->did_not_swap_called + << " result addr " << result_; EXPECT_FALSE(result_->did_swap_called); EXPECT_FALSE(result_->did_not_swap_called); result_->did_not_swap_called = true; @@ -4520,7 +4533,8 @@ class LayerTreeHostTestBreakSwapPromise : public LayerTreeHostTest { }; // TODO(miletus): Flaky test: crbug.com/393995 -// MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromise); +// Enabled with verbose logging information. +MULTI_THREAD_TEST_F(LayerTreeHostTestBreakSwapPromise); class LayerTreeHostTestBreakSwapPromiseForVisibilityAbortedCommit : public LayerTreeHostTest { |