Mir

Merge lp:~vanvugt/mir/test-client-BufferStream-vsync-switching into lp:mir

Proposed by Daniel van Vugt
Status: Merged
Approved by: Alexandros Frantzis
Approved revision: no longer in the source branch.
Merged at revision: 4074
Proposed branch: lp:~vanvugt/mir/test-client-BufferStream-vsync-switching
Merge into: lp:mir
Diff against target: 29 lines (+19/-0)
1 file modified
tests/unit-tests/client/test_client_buffer_stream.cpp (+19/-0)
To merge this branch: bzr merge lp:~vanvugt/mir/test-client-BufferStream-vsync-switching
Reviewer Review Type Date Requested Status
Alexandros Frantzis (community) Approve
Mir CI Bot continuous-integration Approve
Review via email: mp+319282@code.launchpad.net

Commit message

Add a regression test for client::BufferStream switching vsync methods
when it finally knows which one to use.

Just a regression test that should have been written earlier.

The reason why the switch must occur is documented in buffer_stream.cpp
The reason why it happens lazily on demand is to distinguish between
swap_buffers and swap_buffers_sync -- only the latter of which has so
far been converted to client-side vsync.

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:4073
https://mir-jenkins.ubuntu.com/job/mir-ci/3109/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/4171/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/4258
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/4248
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/4248
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/4248
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/4198/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/4198/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/4198/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/4198
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/4198/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/4198/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/4198/console

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/3109/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:4074
https://mir-jenkins.ubuntu.com/job/mir-ci/3110/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/4172
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/4259
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/4249
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/4249
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/4249
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/4199
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/4199/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/4199
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/4199/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/4199
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/4199/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/4199
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/4199/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/4199
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/4199/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/4199
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/4199/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/3110/rebuild

review: Approve (continuous-integration)
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

Looks good.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'tests/unit-tests/client/test_client_buffer_stream.cpp'
2--- tests/unit-tests/client/test_client_buffer_stream.cpp 2017-02-15 07:38:33 +0000
3+++ tests/unit-tests/client/test_client_buffer_stream.cpp 2017-03-08 09:53:24 +0000
4@@ -694,6 +694,25 @@
5 bs.set_swap_interval(0);
6 }
7
8+TEST_F(ClientBufferStream, clientside_vsync_removes_serverside_vsync)
9+{
10+ mcl::BufferStream bs{
11+ nullptr, nullptr, wait_handle, mock_protobuf_server,
12+ std::make_shared<StubClientPlatform>(mt::fake_shared(stub_factory)),
13+ map, factory,
14+ response, perf_report, "", size, nbuffers};
15+ service_requests_for(mock_protobuf_server.alloc_count);
16+
17+ mir::protobuf::StreamConfiguration conf;
18+ EXPECT_CALL(mock_protobuf_server, configure_buffer_stream(_,_,_))
19+ .WillOnce(DoAll(SaveArgPointee<0>(&conf),mtd::RunProtobufClosure()));
20+ EXPECT_FALSE(conf.has_swapinterval());
21+ bs.set_swap_interval(1);
22+ bs.swap_buffers_sync();
23+ EXPECT_TRUE(conf.has_swapinterval());
24+ EXPECT_EQ(0, conf.swapinterval());
25+}
26+
27 TEST_F(ClientBufferStream, sets_swap_interval_requested)
28 {
29 mcl::BufferStream bs{

Subscribers

People subscribed via source and target branches