Merge lp:~compiz-team/compiz/compiz.fix_1188900 into lp:compiz/0.9.10
Status: | Merged |
---|---|
Approved by: | Andrea Azzarone |
Approved revision: | 3742 |
Merged at revision: | 3742 |
Proposed branch: | lp:~compiz-team/compiz/compiz.fix_1188900 |
Merge into: | lp:compiz/0.9.10 |
Prerequisite: | lp:~compiz-team/compiz/compiz.fix_1189369 |
Diff against target: |
2107 lines (+2046/-2) 7 files modified
plugins/decor/CMakeLists.txt (+2/-0) plugins/decor/tests/CMakeLists.txt (+1/-0) plugins/decor/tests/acceptance/CMakeLists.txt (+1/-0) plugins/decor/tests/acceptance/xorg-gtest/CMakeLists.txt (+36/-0) plugins/decor/tests/acceptance/xorg-gtest/compiz_decor_acceptance_tests.cpp (+2003/-0) tests/xorg-gtest/CMakeLists.txt (+1/-0) tests/xorg-gtest/include/compiz-xorg-gtest.h (+2/-2) |
To merge this branch: | bzr merge lp:~compiz-team/compiz/compiz.fix_1188900 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
Andrea Azzarone | Approve | ||
MC Return | Approve | ||
Review via email:
|
Commit message
Provide a basic decor plugin acceptance test suite.
This change provides a simple acceptance test suite for the decor plugin. It
creates a fake window decorator (cdt::FakeDecor
create fake decorations (eg cdt::FakePixmap
as decoration properties and set on windows under xorg-gtest. It also launches
compiz with the opengl, composite and decor plugins loaded and runs some
basic tests. Among them:
BaseDecorAccept
Startup:
Basic canary "can we start compiz with these plugins" test
FakeDecorator
Create a fake decorator, ensure that libdecoration sets our
session name "fake" on the selection owner
FakeDecorator
Create fake decorator, ensure that libdecoration posts a client
message to the root window announcing that the new decorator exists.
DecorationSup
Create a fake decorator, announce support for the WINDOW type decorations
and ensure that the correct atom is set on the session owner window.
DecorationSup
Create a fake decorator, announce support for the PIXMAP type decorations
and ensure that the correct atom is set on the session owner window.
DecorFakeDecora
WindowDefault
By default, newly created windows should recieve a fallback decoration
but they should not have any frame extents.
DecorWithPixmap
These tests create a default pixmap decoration to use in the hypothetical
situation that the window decorator hasn't yet generated a decoration
for this window.
FallbackRecie
Verify that we get a _COMPIZ_
the client when it is created and mapped (eg, an input frame window
was annonuced to be created)
FallbackHasIn
Verify that a second window exists in the frame window after this
message was recieved.
FallbackNorma
Verify that _NET_FRAME_EXTENTS is set to the default window extents
for the default decoration when the window was mapped.
FallbackNorma
Verify that the input window matches the extents set.
PixmapDecorated
These tests create a new window and an associated unique decoration for
that window.
MaximizeBorde
Maximize the window and ensure that the correct border extents are used.
MaximizeBorde
Vertically maximize the window and ensure that the correct border extents
are used.
MaximizeBorde
Horizontally maximize the window and ensure that the correct border
extents are used.
MaximizeFrame
Maximie the window and ensure that the frame window exactly equals
the output size.
VertMaximizeF
Maximize the window and ensure that the frame window's Y and Height
values are consistent with the output size.
HorzMaximizeF
Ditto horizontal maximization.
DISABLED_
Maximize the window vertically and ensure that the frame window's
border-relative X position and width does not change.
This test is disabled, as the behavior in compiz is currently broken,
(but it means that we can fix it later and enable the test).
DISABLED_
Maximize the window horizontally and ensure that the frame window's
border-relative Y position and height does not change.
This test is disabled, as the behavior in compiz is currently broken,
(but it means that we can fix it later and enable the test).
(LP: #1188900)
Description of the change
Provide a basic decor plugin acceptance test suite.
This change provides a simple acceptance test suite for the decor plugin. It
creates a fake window decorator (cdt::FakeDecor
create fake decorations (eg cdt::FakePixmap
as decoration properties and set on windows under xorg-gtest. It also launches
compiz with the opengl, composite and decor plugins loaded and runs some
basic tests. Among them:
BaseDecorAccept
Startup:
Basic canary "can we start compiz with these plugins" test
FakeDecorator
Create a fake decorator, ensure that libdecoration sets our
session name "fake" on the selection owner
FakeDecorator
Create fake decorator, ensure that libdecoration posts a client
message to the root window announcing that the new decorator exists.
DecorationSup
Create a fake decorator, announce support for the WINDOW type decorations
and ensure that the correct atom is set on the session owner window.
DecorationSup
Create a fake decorator, announce support for the PIXMAP type decorations
and ensure that the correct atom is set on the session owner window.
DecorFakeDecora
WindowDefault
By default, newly created windows should recieve a fallback decoration
but they should not have any frame extents.
DecorWithPixmap
These tests create a default pixmap decoration to use in the hypothetical
situation that the window decorator hasn't yet generated a decoration
for this window.
FallbackRecie
Verify that we get a _COMPIZ_
the client when it is created and mapped (eg, an input frame window
was annonuced to be created)
FallbackHasIn
Verify that a second window exists in the frame window after this
message was recieved.
FallbackNorma
Verify that _NET_FRAME_EXTENTS is set to the default window extents
for the default decoration when the window was mapped.
FallbackNorma
Verify that the input window matches the extents set.
PixmapDecorated
These tests create a new window and an associated unique decoration for
that window.
MaximizeBorde
Maximize the window and ensure that the correct border extents are used.
MaximizeBorde
Vertically maximize the window and ensure that the correct border extents
are used.
MaximizeBorde
Horizontally maximize the window and ensure that the correct border
extents are used.
MaximizeFrame
Maximie the window and ensure that the frame window exactly equals
the output size.
VertMaximizeF
Maximize the window and ensure that the frame window's Y and Height
values are consistent with the output size.
HorzMaximizeF
Ditto horizontal maximization.
DISABLED_
Maximize the window vertically and ensure that the frame window's
border-relative X position and width does not change.
This test is disabled, as the behavior in compiz is currently broken,
(but it means that we can fix it later and enable the test).
DISABLED_
Maximize the window horizontally and ensure that the frame window's
border-relative Y position and height does not change.
This test is disabled, as the behavior in compiz is currently broken,
(but it means that we can fix it later and enable the test).
Notes and Discussion:
1. This does not cover all of the decor plugin's functionality. I just wanted to get at least these tests in-trunk and reviewed now that the diff is approaching 2000~ lines.
2. compiz_
3. As there isn't any way to specify multiple plugin load directories yet, these tests are not yet run by default. I'll implement that functionality later as it will take some time to do and is largely unrelated to this branch.
At the moment this means that you need to make install before running the test binary. Its found in build/plugins/
4. Some tests are marked as DISABLED. That's because they test for behavior that doesn't quite work yet. Ideally, we'd fix the broken behavior and get to a point where all the tests can be re-enabled.,
PASSED: Continuous integration, rev:3740 jenkins. qa.ubuntu. com/job/ compiz- ci/194/ jenkins. qa.ubuntu. com/job/ compiz- gles-ci/ ./build= pbuilder, distribution= raring, flavor= amd64/235 jenkins. qa.ubuntu. com/job/ compiz- saucy-amd64- ci/7 jenkins. qa.ubuntu. com/job/ compiz- saucy-armhf- ci/7 jenkins. qa.ubuntu. com/job/ compiz- saucy-i386- ci/7
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ compiz- ci/194/ rebuild
http://