Merge lp://qastaging/~compiz-team/compiz/compiz.ccs_test_990690 into lp://qastaging/compiz/0.9.8
Status: | Merged |
---|---|
Merged at revision: | 3266 |
Proposed branch: | lp://qastaging/~compiz-team/compiz/compiz.ccs_test_990690 |
Merge into: | lp://qastaging/compiz/0.9.8 |
Diff against target: |
8584 lines (+4686/-1148) 25 files modified
compizconfig/cmake/exec_setup_py_with_destdir.cmake (+0/-2) compizconfig/compizconfig-python/src/compizconfig.pyx (+123/-103) compizconfig/gconf/src/gconf.c (+27/-27) compizconfig/gsettings/src/gconf-integration.c (+9/-9) compizconfig/gsettings/src/gsettings.c (+29/-27) compizconfig/libcompizconfig/CMakeLists.txt (+1/-0) compizconfig/libcompizconfig/backend/src/ini.c (+31/-31) compizconfig/libcompizconfig/include/ccs.h (+466/-141) compizconfig/libcompizconfig/src/CMakeLists.txt (+3/-0) compizconfig/libcompizconfig/src/ccs-private.h (+68/-3) compizconfig/libcompizconfig/src/compiz.cpp (+241/-164) compizconfig/libcompizconfig/src/ini.c (+1/-1) compizconfig/libcompizconfig/src/main.c (+1869/-614) compizconfig/libcompizconfig/tests/CMakeLists.txt (+100/-0) compizconfig/libcompizconfig/tests/context-mock.cpp (+76/-0) compizconfig/libcompizconfig/tests/mock-context.h (+338/-0) compizconfig/libcompizconfig/tests/mock-plugin.h (+166/-0) compizconfig/libcompizconfig/tests/mock-setting.h (+353/-0) compizconfig/libcompizconfig/tests/plugin-mock.cpp (+61/-0) compizconfig/libcompizconfig/tests/setting-mock.cpp (+82/-0) compizconfig/libcompizconfig/tests/test-ccs-object.cpp (+356/-0) compizconfig/libcompizconfig/tests/test-context.cpp (+94/-0) compizconfig/libcompizconfig/tests/test-plugin.cpp (+60/-0) compizconfig/libcompizconfig/tests/test-setting.cpp (+109/-0) plugins/ccp/src/ccp.cpp (+23/-26) |
To merge this branch: | bzr merge lp://qastaging/~compiz-team/compiz/compiz.ccs_test_990690 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sam Spilsbury | Needs Fixing | ||
Daniel van Vugt | Approve | ||
Review via email:
|
Description of the change
Do the initial work to get libcompizconfig under test. (LP: #990690)
libcompizconfig underwent some fairly large refactorings so that we could
get it under test. This includes moving all of the public data in the public
API structs into private structs and creating accessor functions for all of
that data. The accessor functions are wrappers around interface structures which
can be replaced at runtime for testing purposes.
A C based object system was added to make this possible:
This branch introduces some preliminary work in a series of branches to get libcompizconfig under test. In order to test the objects properly, we need to abstract away their interfaces$
This would be awkward to do correctly if we didn't have a suitable object system to handle interface implementation, referencing, private storage etc.
As such, a new struct CCSObject is introduced. It is similar in design to GObject, but with a much smaller feature set centered mostly around the handling of interfaces and composition$
Tests are included.
Basic mock classes for all of the public API were added for testing.
The gconf backend and compizconfig-python were adapted as necessary.
Merge in the following branches manually:
lp:~smspillaz/compiz-compizconfig-python/compiz-compizconfig-python.context-api ⇒ lp:compiz-compizconfig-python
lp:~smspillaz/compiz-compizconfig-python/compiz-compizconfig-python.plugin-api ⇒ lp:compiz-compizconfig-python
lp:~smspillaz/compiz-compizconfig-python/compiz-compizconfig-python.setting-api ⇒ lp:compiz-compizconfig-python
lp:~smspillaz/compiz-compizconfig-gconf/compiz-compizconfig-gconf.adapt-to-new-interfaces ⇒ lp:compiz-compizconfig-gconf
lp:~smspillaz/compiz-libcompizconfig/refactor-setting ⇒ lp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/setting-funcs-behind-interface ⇒ lp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/context-mock ⇒ lp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/plugin-mock ⇒ lp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/setting-mock ⇒ lp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/refactor-context ⇒ lp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/ccs-object ⇒ lp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/refactor-plugin ⇒ lp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/context-funcs-behind-interface ⇒ lp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/plugin-funcs-behind-interface ⇒ lp:compiz-libcompizconfig
All of the above branches have been reviewed by ~alan-griffiths, All of the libcompizconfig ones have been approved, asides from setting-mock and plugin-mock, and those two concerns have now been addressed.
Changed status to Needs review. Since Sam asked me to review it now.