Mir

Merge lp:~alan-griffiths/mir/miromnibus into lp:mir

Proposed by Alan Griffiths
Status: Work in progress
Proposed branch: lp:~alan-griffiths/mir/miromnibus
Merge into: lp:mir
Prerequisite: lp:~alan-griffiths/mir/integration-and-unit-tests-link-against-internals
Diff against target: 201 lines (+59/-52)
6 files modified
debian/mir-test-tools.install (+2/-0)
src/CMakeLists.txt (+1/-0)
src/server/CMakeLists.txt (+2/-0)
tests/CMakeLists.txt (+42/-0)
tests/integration-tests/CMakeLists.txt (+6/-25)
tests/unit-tests/CMakeLists.txt (+6/-27)
To merge this branch: bzr merge lp:~alan-griffiths/mir/miromnibus
Reviewer Review Type Date Requested Status
Robert Carr (community) Abstain
PS Jenkins bot (community) continuous-integration Needs Fixing
Kevin DuBois (community) Needs Fixing
Alexandros Frantzis (community) Needs Fixing
Daniel van Vugt Needs Fixing
Review via email: mp+232264@code.launchpad.net

Commit message

Added a "mir-all-bare" shared library so that unit_tests and integration_tests do not need to duplicate all the Mir code.

Description of the change

Added a "mir-all-bare" shared library so that unit_tests and integration_tests do not need to duplicate all the Mir code in the executables.

To post a comment you must log in.
lp:~alan-griffiths/mir/miromnibus updated
1868. By Alan Griffiths

A bit less duplication

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
lp:~alan-griffiths/mir/miromnibus updated
1869. By Alan Griffiths

Install libmiromnibus.so in mir/tools

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
lp:~alan-griffiths/mir/miromnibus updated
1870. By Alan Griffiths

install(TARGETS miromnibus was inside wrong condition

1871. By Alan Griffiths

merge lp:~mir-team/mir/development-branch

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

> bzr: ERROR: Invalid http response for http://bazaar.launchpad.net/~mir-team/mir/development-branch/.bzr/branch-format: Unable to handle http code 502: Bad Gateway

Triggering rebuild

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
lp:~alan-griffiths/mir/miromnibus updated
1872. By Alan Griffiths

Take the version of libmiromnibus.so from libmirserver.so

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

> dh_install: usr/lib/arm-linux-gnueabihf/libmiromnibus.so exists in debian/tmp but is not installed to anywhere

Rats!

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Sounds like a good idea, but a more meaningful library name than "libmiromnibus" should be used. Something like "libmirtesting" etc.

review: Needs Fixing
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

> Sounds like a good idea, but a more meaningful library name than "libmiromnibus" should be used.
> Something like "libmirtesting" etc.

+1

review: Needs Fixing
Revision history for this message
Kevin DuBois (kdub) wrote :

abstain on the naming, mostly because I'd expect libmirtesting to be new test oriented code, not just the mirserver code with all the symbols exposed.

needs fixing because jenkins doesn't like the installation step.

review: Needs Fixing
lp:~alan-griffiths/mir/miromnibus updated
1873. By Alan Griffiths

merge lp:~mir-team/mir/development-branch

1874. By Alan Griffiths

Keep packaging happy

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

> abstain on the naming, mostly because I'd expect libmirtesting to be new test
> oriented code, not just the mirserver code with all the symbols exposed.

+1

> needs fixing because jenkins doesn't like the installation step.

Fixed

lp:~alan-griffiths/mir/miromnibus updated
1875. By Alan Griffiths

merge lp:~mir-team/mir/development-branch

1876. By Alan Griffiths

s/miromnibus/mir-all-bare/

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It took me a short while to figure out the meaning of the new name too :)

I think we could still do better in naming. And syntactically we should avoid "-" in the library name for consistency.

Revision history for this message
Robert Carr (robertcarr) wrote :

It also took me a short while to figure out the meaning of the new name (though...I guess I will say less than 90 seconds lol)

I would call it libmirallsymbolsexported

review: Abstain

Unmerged revisions

1876. By Alan Griffiths

s/miromnibus/mir-all-bare/

1875. By Alan Griffiths

merge lp:~mir-team/mir/development-branch

1874. By Alan Griffiths

Keep packaging happy

1873. By Alan Griffiths

merge lp:~mir-team/mir/development-branch

1872. By Alan Griffiths

Take the version of libmiromnibus.so from libmirserver.so

1871. By Alan Griffiths

merge lp:~mir-team/mir/development-branch

1870. By Alan Griffiths

install(TARGETS miromnibus was inside wrong condition

1869. By Alan Griffiths

Install libmiromnibus.so in mir/tools

1868. By Alan Griffiths

A bit less duplication

1867. By Alan Griffiths

Use libmiromnibus for unit-tests

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/mir-test-tools.install'
--- debian/mir-test-tools.install 2014-08-06 03:10:56 +0000
+++ debian/mir-test-tools.install 2014-08-29 16:22:45 +0000
@@ -5,3 +5,5 @@
5usr/bin/mir_performance_tests5usr/bin/mir_performance_tests
6usr/lib/*/mir/tools/libmirclientlttng.so6usr/lib/*/mir/tools/libmirclientlttng.so
7usr/lib/*/mir/tools/libmirserverlttng.so7usr/lib/*/mir/tools/libmirserverlttng.so
8usr/lib/*/libmir-all-bare.so.25
9usr/lib/*/libmir-all-bare.so
810
=== modified file 'src/CMakeLists.txt'
--- src/CMakeLists.txt 2014-08-29 11:16:38 +0000
+++ src/CMakeLists.txt 2014-08-29 16:22:45 +0000
@@ -18,3 +18,4 @@
18set(MIR_PLATFORM_REFERENCES ${MIR_PLATFORM_REFERENCES} PARENT_SCOPE)18set(MIR_PLATFORM_REFERENCES ${MIR_PLATFORM_REFERENCES} PARENT_SCOPE)
19set(MIR_COMMON_OBJECTS ${MIR_COMMON_OBJECTS} PARENT_SCOPE)19set(MIR_COMMON_OBJECTS ${MIR_COMMON_OBJECTS} PARENT_SCOPE)
20set(MIR_COMMON_REFERENCES ${MIR_COMMON_REFERENCES} PARENT_SCOPE)20set(MIR_COMMON_REFERENCES ${MIR_COMMON_REFERENCES} PARENT_SCOPE)
21set(MIRSERVER_ABI ${MIRSERVER_ABI} PARENT_SCOPE)
21\ No newline at end of file22\ No newline at end of file
2223
=== modified file 'src/server/CMakeLists.txt'
--- src/server/CMakeLists.txt 2014-08-29 12:51:40 +0000
+++ src/server/CMakeLists.txt 2014-08-29 16:22:45 +0000
@@ -101,3 +101,5 @@
101install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mirserver.pc101install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mirserver.pc
102 DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig102 DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
103)103)
104
105set(MIRSERVER_ABI ${MIRSERVER_ABI} PARENT_SCOPE)
104\ No newline at end of file106\ No newline at end of file
105107
=== modified file 'tests/CMakeLists.txt'
--- tests/CMakeLists.txt 2014-08-06 03:10:56 +0000
+++ tests/CMakeLists.txt 2014-08-29 16:22:45 +0000
@@ -29,6 +29,48 @@
29option(MIR_BUILD_PERFORMANCE_TESTS "Build performance tests" ON)29option(MIR_BUILD_PERFORMANCE_TESTS "Build performance tests" ON)
30option(MIR_BUILD_UNIT_TESTS "Build unit tests" ON)30option(MIR_BUILD_UNIT_TESTS "Build unit tests" ON)
3131
32if (MIR_BUILD_INTEGRATION_TESTS OR MIR_BUILD_UNIT_TESTS)
33 add_library(mir-all-bare SHARED
34 ${MIR_SERVER_OBJECTS}
35 $<TARGET_OBJECTS:mirclientobjects>
36 ${MIR_PLATFORM_OBJECTS}
37 ${MIR_COMMON_OBJECTS}
38 )
39
40 target_link_libraries(mir-all-bare
41 3rd_party
42 mirdraw
43 mirtestdraw
44 mirclientrpc
45 mirclientlttngstatic
46
47 ${PROTOBUF_LIBRARIES}
48 ${Boost_LIBRARIES}
49 ${CMAKE_THREAD_LIBS_INIT} # Link in pthread.
50 ${DRM_LDFLAGS}
51 ${GBM_LDFLAGS}
52 ${MIR_PLATFORM_REFERENCES}
53 ${MIR_COMMON_REFERENCES}
54 ${MIR_SERVER_REFERENCES}
55 )
56
57 if (MIR_TEST_PLATFORM STREQUAL "android")
58 target_link_libraries(mir-all-bare
59 mirsharedandroid
60 ${ANDROID_PROPERTIES_LDFLAGS}
61 )
62 endif()
63
64 set_target_properties(mir-all-bare
65 PROPERTIES
66 SOVERSION ${MIRSERVER_ABI}
67 )
68
69 install(TARGETS mir-all-bare
70 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
71 )
72endif()
73
32if (MIR_BUILD_ACCEPTANCE_TESTS)74if (MIR_BUILD_ACCEPTANCE_TESTS)
33 add_subdirectory(acceptance-tests/)75 add_subdirectory(acceptance-tests/)
34endif (MIR_BUILD_ACCEPTANCE_TESTS)76endif (MIR_BUILD_ACCEPTANCE_TESTS)
3577
=== modified file 'tests/integration-tests/CMakeLists.txt'
--- tests/integration-tests/CMakeLists.txt 2014-08-29 12:51:40 +0000
+++ tests/integration-tests/CMakeLists.txt 2014-08-29 16:22:45 +0000
@@ -41,13 +41,10 @@
41endif()41endif()
4242
43link_directories(${LIBRARY_OUTPUT_PATH})43link_directories(${LIBRARY_OUTPUT_PATH})
44
44add_executable(45add_executable(
45 mir_integration_tests46 mir_integration_tests
46 ${INTEGRATION_TESTS_SRCS}47 ${INTEGRATION_TESTS_SRCS}
47 ${MIR_SERVER_OBJECTS}
48 $<TARGET_OBJECTS:mirclientobjects>
49 ${MIR_PLATFORM_OBJECTS}
50 ${MIR_COMMON_OBJECTS}
51)48)
5249
53add_dependencies(mir_integration_tests GMock)50add_dependencies(mir_integration_tests GMock)
@@ -61,32 +58,16 @@
61 mir-test-framework58 mir-test-framework
62 mir-test-doubles59 mir-test-doubles
6360
64 mirdraw61 mir-all-bare
65 mirtestdraw62
66 mirclientrpc
67 mirclientlttngstatic
68
69 3rd_party
70
71 ${PROTOBUF_LIBRARIES}
72 ${Boost_LIBRARIES}63 ${Boost_LIBRARIES}
73 ${GTEST_BOTH_LIBRARIES}64 ${GTEST_BOTH_LIBRARIES}
74 ${GMOCK_LIBRARY}65 ${GMOCK_LIBRARY}
75 ${GMOCK_MAIN_LIBRARY}66 ${GMOCK_MAIN_LIBRARY}
76 ${CMAKE_THREAD_LIBS_INIT} # Link in pthread.67 ${CMAKE_THREAD_LIBS_INIT} # Link in pthread.
77 ${DRM_LDFLAGS} ${DRM_LIBRARIES}68 ${DRM_LDFLAGS}
78 ${GBM_LDFLAGS} ${GBM_LIBRARIES}69 ${GBM_LDFLAGS}
79 ${MIR_PLATFORM_REFERENCES}70)
80 ${MIR_COMMON_REFERENCES}
81 ${MIR_SERVER_REFERENCES}
82)
83
84if (MIR_TEST_PLATFORM STREQUAL "android")
85target_link_libraries(mir_integration_tests
86 mirsharedandroid
87 ${ANDROID_PROPERTIES_LDFLAGS}
88)
89endif()
9071
91CMAKE_DEPENDENT_OPTION(72CMAKE_DEPENDENT_OPTION(
92 MIR_RUN_INTEGRATION_TESTS73 MIR_RUN_INTEGRATION_TESTS
9374
=== modified file 'tests/unit-tests/CMakeLists.txt'
--- tests/unit-tests/CMakeLists.txt 2014-08-29 12:51:40 +0000
+++ tests/unit-tests/CMakeLists.txt 2014-08-29 16:22:45 +0000
@@ -41,10 +41,6 @@
4141
42add_executable(mir_unit_tests 42add_executable(mir_unit_tests
43 ${UNIT_TEST_SOURCES}43 ${UNIT_TEST_SOURCES}
44 ${MIR_SERVER_OBJECTS}
45 $<TARGET_OBJECTS:mirclientobjects>
46 ${MIR_PLATFORM_OBJECTS}
47 ${MIR_COMMON_OBJECTS}
48)44)
4945
50add_dependencies(mir_unit_tests GMock)46add_dependencies(mir_unit_tests GMock)
@@ -54,39 +50,22 @@
54target_link_libraries(50target_link_libraries(
55 mir_unit_tests51 mir_unit_tests
5652
57 mirdraw
58 mirtestdraw
59 mirclientrpc
60 mirclientlttngstatic
61 demo-shell
62
63 mir-test53 mir-test
64 mir-test-doubles54 mir-test-doubles
65 mir-test-doubles-platform55 mir-test-doubles-platform
66 mir-test-framework56 mir-test-framework
6757
68 3rd_party58 demo-shell
59 mir-all-bare
6960
70 ${PROTOBUF_LIBRARIES}61 ${Boost_LIBRARIES}
71 ${GTEST_BOTH_LIBRARIES}62 ${GTEST_BOTH_LIBRARIES}
72 ${GMOCK_LIBRARY}63 ${GMOCK_LIBRARY}
73 ${GMOCK_MAIN_LIBRARY}64 ${GMOCK_MAIN_LIBRARY}
74 ${Boost_LIBRARIES}
75 ${UMOCKDEV_LIBRARIES}
76 ${CMAKE_THREAD_LIBS_INIT} # Link in pthread.65 ${CMAKE_THREAD_LIBS_INIT} # Link in pthread.
77 ${LIBHARDWARE_LDFLAGS} ${LIBHARDWARE_LIBRARIES}66 ${DRM_LDFLAGS}
78 ${DRM_LDFLAGS} ${DRM_LIBRARIES}67 ${GBM_LDFLAGS}
79 ${MIR_PLATFORM_REFERENCES}68)
80 ${MIR_COMMON_REFERENCES}
81 ${MIR_SERVER_REFERENCES}
82)
83
84if (MIR_TEST_PLATFORM STREQUAL "android")
85target_link_libraries(mir_unit_tests
86 mirsharedandroid
87 ${ANDROID_PROPERTIES_LDFLAGS}
88)
89endif()
9069
91# Umockdev uses glib, which uses the deprecated "register" allocation specifier70# Umockdev uses glib, which uses the deprecated "register" allocation specifier
92set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dregister=")71set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dregister=")

Subscribers

People subscribed via source and target branches