Mir

Merge lp:~afrantzis/mir/versioned-platform-libraries-plus-server-abi-bump into lp:mir

Proposed by Alexandros Frantzis
Status: Superseded
Proposed branch: lp:~afrantzis/mir/versioned-platform-libraries-plus-server-abi-bump
Merge into: lp:mir
Diff against target: 552 lines (+80/-47)
29 files modified
CMakeLists.txt (+1/-1)
debian/control (+10/-10)
debian/libmirserver30.install (+1/-1)
debian/mir-client-platform-android2.install (+1/-1)
debian/mir-client-platform-mesa2.install (+1/-1)
debian/mir-platform-graphics-android2.install (+1/-1)
debian/mir-platform-graphics-mesa2.install (+1/-1)
src/CMakeLists.txt (+5/-2)
src/client/CMakeLists.txt (+1/-2)
src/common/sharedlibrary/shared_library_prober.cpp (+9/-1)
src/platform/graphics/platform_probe.cpp (+1/-1)
src/platforms/CMakeLists.txt (+8/-1)
src/platforms/android/client/CMakeLists.txt (+1/-0)
src/platforms/android/server/CMakeLists.txt (+1/-0)
src/platforms/mesa/client/CMakeLists.txt (+1/-0)
src/platforms/mesa/server/CMakeLists.txt (+1/-0)
src/server/CMakeLists.txt (+1/-1)
src/server/symbols.map (+2/-7)
tests/acceptance-tests/test_symbols_required_by_mesa.cpp (+1/-1)
tests/include/mir_test_framework/client_platform_factory.h (+2/-2)
tests/mir_test_framework/CMakeLists.txt (+2/-0)
tests/mir_test_framework/executable_path.cpp (+12/-2)
tests/unit-tests/client/test_client_platform.cpp (+2/-2)
tests/unit-tests/client/test_probing_client_platform_factory.cpp (+2/-2)
tests/unit-tests/graphics/android/test_platform.cpp (+2/-2)
tests/unit-tests/graphics/mesa/test_platform.cpp (+2/-2)
tests/unit-tests/graphics/test_platform_prober.cpp (+2/-2)
tests/unit-tests/shared_library_test.cpp (+1/-1)
tests/unit-tests/test_shared_library_prober.cpp (+5/-0)
To merge this branch: bzr merge lp:~afrantzis/mir/versioned-platform-libraries-plus-server-abi-bump
Reviewer Review Type Date Requested Status
Mir development team Pending
Review via email: mp+250440@code.launchpad.net

This proposal has been superseded by a proposal from 2015-02-20.

Commit message

platforms: Use the ABI version in platform library names and packages + server ABI bump for testing CI

Description of the change

platforms: Use the ABI version in platform library names and packages + server ABI bump for testing CI

To post a comment you must log in.
2334. By Alexandros Frantzis

Bump CI

Unmerged revisions

2334. By Alexandros Frantzis

Bump CI

2333. By Alexandros Frantzis

Bump mirserver ABI to 30

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2015-02-19 13:21:15 +0000
+++ CMakeLists.txt 2015-02-20 12:45:33 +0000
@@ -27,7 +27,7 @@
27set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)27set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
2828
29set(MIR_VERSION_MAJOR 0)29set(MIR_VERSION_MAJOR 0)
30set(MIR_VERSION_MINOR 12) # This should change at least with every MIRSERVER_ABI30set(MIR_VERSION_MINOR 13) # This should change at least with every MIRSERVER_ABI
31set(MIR_VERSION_PATCH 0)31set(MIR_VERSION_PATCH 0)
3232
33add_definitions(-DMIR_VERSION_MAJOR=${MIR_VERSION_MAJOR})33add_definitions(-DMIR_VERSION_MAJOR=${MIR_VERSION_MAJOR})
3434
=== modified file 'debian/control'
--- debian/control 2015-02-19 10:37:47 +0000
+++ debian/control 2015-02-20 12:45:33 +0000
@@ -61,7 +61,7 @@
6161
62#TODO: Packaging infrastructure for better dependency generation,62#TODO: Packaging infrastructure for better dependency generation,
63# ala pkg-xorg's xviddriver:Provides and ABI detection.63# ala pkg-xorg's xviddriver:Provides and ABI detection.
64Package: libmirserver2964Package: libmirserver30
65Section: libs65Section: libs
66Architecture: i386 amd64 armhf arm6466Architecture: i386 amd64 armhf arm64
67Multi-Arch: same67Multi-Arch: same
@@ -127,7 +127,7 @@
127Architecture: i386 amd64 armhf arm64127Architecture: i386 amd64 armhf arm64
128Multi-Arch: same128Multi-Arch: same
129Pre-Depends: ${misc:Pre-Depends}129Pre-Depends: ${misc:Pre-Depends}
130Depends: libmirserver29 (= ${binary:Version}),130Depends: libmirserver30 (= ${binary:Version}),
131 libmirplatform-dev (= ${binary:Version}),131 libmirplatform-dev (= ${binary:Version}),
132 libmircommon-dev (= ${binary:Version}),132 libmircommon-dev (= ${binary:Version}),
133 libglm-dev,133 libglm-dev,
@@ -266,7 +266,7 @@
266 Contains the shared libraries required for the Mir server and client.266 Contains the shared libraries required for the Mir server and client.
267267
268# Longer-term these drivers should move out-of-tree268# Longer-term these drivers should move out-of-tree
269Package: mir-platform-graphics-mesa269Package: mir-platform-graphics-mesa2
270Section: libs270Section: libs
271Architecture: i386 amd64 armhf arm64271Architecture: i386 amd64 armhf arm64
272Multi-Arch: same272Multi-Arch: same
@@ -280,7 +280,7 @@
280 Contains the shared libraries required for the Mir server to interact with280 Contains the shared libraries required for the Mir server to interact with
281 the hardware platform using the Mesa drivers.281 the hardware platform using the Mesa drivers.
282282
283Package: mir-platform-graphics-android283Package: mir-platform-graphics-android2
284Section: libs284Section: libs
285Architecture: i386 amd64 armhf285Architecture: i386 amd64 armhf
286Multi-Arch: same286Multi-Arch: same
@@ -294,7 +294,7 @@
294 Contains the shared libraries required for the Mir server to interact with294 Contains the shared libraries required for the Mir server to interact with
295 the hardware platform using the Android drivers.295 the hardware platform using the Android drivers.
296296
297Package: mir-client-platform-mesa297Package: mir-client-platform-mesa2
298Section: libs298Section: libs
299Architecture: i386 amd64 armhf arm64299Architecture: i386 amd64 armhf arm64
300Multi-Arch: same300Multi-Arch: same
@@ -323,7 +323,7 @@
323 Contains header files required to use the platform specific capabilities of323 Contains header files required to use the platform specific capabilities of
324 the Mir Mesa backend.324 the Mir Mesa backend.
325325
326Package: mir-client-platform-android326Package: mir-client-platform-android2
327Section: libs327Section: libs
328Architecture: i386 amd64 armhf328Architecture: i386 amd64 armhf
329Multi-Arch: same329Multi-Arch: same
@@ -343,8 +343,8 @@
343Multi-Arch: same343Multi-Arch: same
344Pre-Depends: ${misc:Pre-Depends}344Pre-Depends: ${misc:Pre-Depends}
345Depends: ${misc:Depends},345Depends: ${misc:Depends},
346 mir-platform-graphics-mesa,346 mir-platform-graphics-mesa2,
347 mir-client-platform-mesa,347 mir-client-platform-mesa2,
348Description: Display server for Ubuntu - desktop driver metapackage348Description: Display server for Ubuntu - desktop driver metapackage
349 Mir is a display server running on linux systems, with a focus on efficiency,349 Mir is a display server running on linux systems, with a focus on efficiency,
350 robust operation and a well-defined driver model.350 robust operation and a well-defined driver model.
@@ -358,8 +358,8 @@
358Multi-Arch: same358Multi-Arch: same
359Pre-Depends: ${misc:Pre-Depends}359Pre-Depends: ${misc:Pre-Depends}
360Depends: ${misc:Depends},360Depends: ${misc:Depends},
361 mir-platform-graphics-android,361 mir-platform-graphics-android2,
362 mir-client-platform-android,362 mir-client-platform-android2,
363Description: Display server for Ubuntu - android driver metapackage363Description: Display server for Ubuntu - android driver metapackage
364 Mir is a display server running on linux systems, with a focus on efficiency,364 Mir is a display server running on linux systems, with a focus on efficiency,
365 robust operation and a well-defined driver model.365 robust operation and a well-defined driver model.
366366
=== renamed file 'debian/libmirserver29.install' => 'debian/libmirserver30.install'
--- debian/libmirserver29.install 2015-02-19 10:37:47 +0000
+++ debian/libmirserver30.install 2015-02-20 12:45:33 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/libmirserver.so.291usr/lib/*/libmirserver.so.30
22
=== renamed file 'debian/mir-client-platform-android.install' => 'debian/mir-client-platform-android2.install'
--- debian/mir-client-platform-android.install 2015-01-21 07:34:50 +0000
+++ debian/mir-client-platform-android2.install 2015-02-20 12:45:33 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/mir/client-platform/android.so1usr/lib/*/mir/client-platform/android.so.2
22
=== renamed file 'debian/mir-client-platform-mesa.install' => 'debian/mir-client-platform-mesa2.install'
--- debian/mir-client-platform-mesa.install 2015-01-21 07:34:50 +0000
+++ debian/mir-client-platform-mesa2.install 2015-02-20 12:45:33 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/mir/client-platform/mesa.so1usr/lib/*/mir/client-platform/mesa.so.2
22
=== renamed file 'debian/mir-platform-graphics-android.install' => 'debian/mir-platform-graphics-android2.install'
--- debian/mir-platform-graphics-android.install 2015-01-14 13:09:48 +0000
+++ debian/mir-platform-graphics-android2.install 2015-02-20 12:45:33 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/mir/server-platform/graphics-android.so1usr/lib/*/mir/server-platform/graphics-android.so.2
22
=== renamed file 'debian/mir-platform-graphics-mesa.install' => 'debian/mir-platform-graphics-mesa2.install'
--- debian/mir-platform-graphics-mesa.install 2015-01-14 13:09:48 +0000
+++ debian/mir-platform-graphics-mesa2.install 2015-02-20 12:45:33 +0000
@@ -1,1 +1,1 @@
1usr/lib/*/mir/server-platform/graphics-mesa.so1usr/lib/*/mir/server-platform/graphics-mesa.so.2
22
=== modified file 'src/CMakeLists.txt'
--- src/CMakeLists.txt 2015-02-18 03:04:18 +0000
+++ src/CMakeLists.txt 2015-02-20 12:45:33 +0000
@@ -1,5 +1,4 @@
1# We need MIRPLATFORM_ABI and MIR_PLATFORM_DRIVER_BINARY in both libmirplatform 1# We need MIRPLATFORM_ABI in both libmirplatform and the platform implementations.
2# and the platform implementations.
3set(MIRPLATFORM_ABI 7)2set(MIRPLATFORM_ABI 7)
43
5# We need MIR_CLIENT_PLATFORM_PATH in both libmirclient and the platform4# We need MIR_CLIENT_PLATFORM_PATH in both libmirclient and the platform
@@ -42,3 +41,7 @@
42set(MIR_COMMON_REFERENCES ${MIR_COMMON_REFERENCES} PARENT_SCOPE)41set(MIR_COMMON_REFERENCES ${MIR_COMMON_REFERENCES} PARENT_SCOPE)
43set(MIR_CLIENT_PLATFORM_PATH ${MIR_CLIENT_PLATFORM_PATH} PARENT_SCOPE)42set(MIR_CLIENT_PLATFORM_PATH ${MIR_CLIENT_PLATFORM_PATH} PARENT_SCOPE)
44set(MIR_SERVER_PLATFORM_PATH ${MIR_SERVER_PLATFORM_PATH} PARENT_SCOPE)43set(MIR_SERVER_PLATFORM_PATH ${MIR_SERVER_PLATFORM_PATH} PARENT_SCOPE)
44
45# We need the ABI versions in the tests
46set(MIR_SERVER_GRAPHICS_PLATFORM_ABI ${MIR_SERVER_GRAPHICS_PLATFORM_ABI} PARENT_SCOPE)
47set(MIR_CLIENT_PLATFORM_ABI ${MIR_CLIENT_PLATFORM_ABI} PARENT_SCOPE)
4548
=== modified file 'src/client/CMakeLists.txt'
--- src/client/CMakeLists.txt 2015-02-13 06:12:34 +0000
+++ src/client/CMakeLists.txt 2015-02-20 12:45:33 +0000
@@ -24,11 +24,10 @@
24)24)
2525
26set(MIRCLIENT_ABI 8)26set(MIRCLIENT_ABI 8)
27set(CLIENT_PLATFORM_VERSION "MIR_CLIENT_PLATFORM_2")
28set(symbol_map ${CMAKE_SOURCE_DIR}/src/client/symbols.map)27set(symbol_map ${CMAKE_SOURCE_DIR}/src/client/symbols.map)
2928
30add_definitions(-DMIR_CLIENT_PLATFORM_PATH="${MIR_CLIENT_PLATFORM_PATH}/")29add_definitions(-DMIR_CLIENT_PLATFORM_PATH="${MIR_CLIENT_PLATFORM_PATH}/")
31add_definitions(-DCLIENT_PLATFORM_VERSION="${CLIENT_PLATFORM_VERSION}")30add_definitions(-DCLIENT_PLATFORM_VERSION="${MIR_CLIENT_PLATFORM_VERSION}")
32add_definitions(-DMIR_LOGGING_COMPONENT_FALLBACK="mirclient")31add_definitions(-DMIR_LOGGING_COMPONENT_FALLBACK="mirclient")
3332
34add_subdirectory(rpc/)33add_subdirectory(rpc/)
3534
=== modified file 'src/common/sharedlibrary/shared_library_prober.cpp'
--- src/common/sharedlibrary/shared_library_prober.cpp 2014-09-02 00:28:47 +0000
+++ src/common/sharedlibrary/shared_library_prober.cpp 2015-02-20 12:45:33 +0000
@@ -37,6 +37,14 @@
37 }37 }
38 return std::error_code{};38 return std::error_code{};
39}39}
40
41// Libraries can be of the form libname.so(.X.Y)
42bool path_has_library_extension(boost::filesystem::path const& path)
43{
44 return path.extension().string() == ".so" ||
45 path.string().find(".so.") != std::string::npos;
46}
47
40}48}
4149
42std::vector<std::shared_ptr<mir::SharedLibrary>>50std::vector<std::shared_ptr<mir::SharedLibrary>>
@@ -57,7 +65,7 @@
57 std::vector<std::shared_ptr<mir::SharedLibrary>> libraries;65 std::vector<std::shared_ptr<mir::SharedLibrary>> libraries;
58 for (; iterator != boost::filesystem::directory_iterator() ; ++iterator)66 for (; iterator != boost::filesystem::directory_iterator() ; ++iterator)
59 {67 {
60 if (iterator->path().extension().string() == ".so")68 if (path_has_library_extension(iterator->path()))
61 {69 {
62 try70 try
63 {71 {
6472
=== modified file 'src/platform/graphics/platform_probe.cpp'
--- src/platform/graphics/platform_probe.cpp 2014-12-17 13:48:10 +0000
+++ src/platform/graphics/platform_probe.cpp 2015-02-20 12:45:33 +0000
@@ -47,7 +47,7 @@
47 {47 {
48 // Tried to probe a SharedLibrary that isn't a platform module?48 // Tried to probe a SharedLibrary that isn't a platform module?
49 ml::log(ml::Severity::warning,49 ml::log(ml::Severity::warning,
50 std::string{"Failed to probe module. Not a platform library? Error: "} + err.what(),50 std::string{"Failed to probe module. Not a platform library or incorrect ABI version? Error: "} + err.what(),
51 "Platform Probing");51 "Platform Probing");
52 }52 }
53 }53 }
5454
=== modified file 'src/platforms/CMakeLists.txt'
--- src/platforms/CMakeLists.txt 2015-02-18 03:04:18 +0000
+++ src/platforms/CMakeLists.txt 2015-02-20 12:45:33 +0000
@@ -3,7 +3,9 @@
3# This ABI is much smaller than the full libmirplatform ABI.3# This ABI is much smaller than the full libmirplatform ABI.
4#4#
5# TODO: Add an extra driver-ABI check target.5# TODO: Add an extra driver-ABI check target.
6set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION "MIR_GRAPHICS_PLATFORM_2")6set(MIR_SERVER_GRAPHICS_PLATFORM_ABI 2)
7set(MIR_SERVER_GRAPHICS_PLATFORM_ABI ${MIR_SERVER_GRAPHICS_PLATFORM_ABI} PARENT_SCOPE)
8set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION "MIR_GRAPHICS_PLATFORM_${MIR_SERVER_GRAPHICS_PLATFORM_ABI}")
7set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION ${MIR_SERVER_GRAPHICS_PLATFORM_VERSION} PARENT_SCOPE)9set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION ${MIR_SERVER_GRAPHICS_PLATFORM_VERSION} PARENT_SCOPE)
810
9set(MIR_SERVER_PLATFORM_PATH11set(MIR_SERVER_PLATFORM_PATH
@@ -14,6 +16,11 @@
14 PARENT_SCOPE16 PARENT_SCOPE
15)17)
1618
19set(MIR_CLIENT_PLATFORM_ABI 2)
20set(MIR_CLIENT_PLATFORM_ABI ${MIR_CLIENT_PLATFORM_ABI} PARENT_SCOPE)
21set(MIR_CLIENT_PLATFORM_VERSION "MIR_CLIENT_PLATFORM_${MIR_CLIENT_PLATFORM_ABI}")
22set(MIR_CLIENT_PLATFORM_VERSION ${MIR_CLIENT_PLATFORM_VERSION} PARENT_SCOPE)
23
17set(server_common_include_dirs24set(server_common_include_dirs
18 ${PROJECT_SOURCE_DIR}/include/platform25 ${PROJECT_SOURCE_DIR}/include/platform
19)26)
2027
=== modified file 'src/platforms/android/client/CMakeLists.txt'
--- src/platforms/android/client/CMakeLists.txt 2015-02-13 06:12:34 +0000
+++ src/platforms/android/client/CMakeLists.txt 2015-02-20 12:45:33 +0000
@@ -26,6 +26,7 @@
26 OUTPUT_NAME android26 OUTPUT_NAME android
27 LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}/client-modules27 LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}/client-modules
28 PREFIX ""28 PREFIX ""
29 SUFFIX ".so.${MIR_CLIENT_PLATFORM_ABI}"
29 LINK_FLAGS "-Wl,--version-script,${symbol_map}"30 LINK_FLAGS "-Wl,--version-script,${symbol_map}"
30)31)
3132
3233
=== modified file 'src/platforms/android/server/CMakeLists.txt'
--- src/platforms/android/server/CMakeLists.txt 2015-02-13 06:12:34 +0000
+++ src/platforms/android/server/CMakeLists.txt 2015-02-20 12:45:33 +0000
@@ -63,6 +63,7 @@
63 OUTPUT_NAME graphics-android63 OUTPUT_NAME graphics-android
64 LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}/server-modules64 LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}/server-modules
65 PREFIX ""65 PREFIX ""
66 SUFFIX ".so.${MIR_SERVER_GRAPHICS_PLATFORM_ABI}"
66 LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${symbol_map}"67 LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${symbol_map}"
67)68)
6869
6970
=== modified file 'src/platforms/mesa/client/CMakeLists.txt'
--- src/platforms/mesa/client/CMakeLists.txt 2015-01-22 09:00:14 +0000
+++ src/platforms/mesa/client/CMakeLists.txt 2015-02-20 12:45:33 +0000
@@ -28,6 +28,7 @@
28 OUTPUT_NAME mesa28 OUTPUT_NAME mesa
29 LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}/client-modules29 LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}/client-modules
30 PREFIX ""30 PREFIX ""
31 SUFFIX ".so.${MIR_CLIENT_PLATFORM_ABI}"
31 LINK_FLAGS "-Wl,--version-script,${symbol_map}"32 LINK_FLAGS "-Wl,--version-script,${symbol_map}"
32)33)
3334
3435
=== modified file 'src/platforms/mesa/server/CMakeLists.txt'
--- src/platforms/mesa/server/CMakeLists.txt 2015-02-13 06:12:34 +0000
+++ src/platforms/mesa/server/CMakeLists.txt 2015-02-20 12:45:33 +0000
@@ -64,6 +64,7 @@
64 OUTPUT_NAME graphics-mesa64 OUTPUT_NAME graphics-mesa
65 LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}/server-modules65 LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}/server-modules
66 PREFIX ""66 PREFIX ""
67 SUFFIX ".so.${MIR_SERVER_GRAPHICS_PLATFORM_ABI}"
67 LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${symbol_map}"68 LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${symbol_map}"
68)69)
6970
7071
=== modified file 'src/server/CMakeLists.txt'
--- src/server/CMakeLists.txt 2015-02-19 13:21:15 +0000
+++ src/server/CMakeLists.txt 2015-02-20 12:45:33 +0000
@@ -106,7 +106,7 @@
106 ${CMAKE_SOURCE_DIR}/include/server/mir DESTINATION "include/mirserver"106 ${CMAKE_SOURCE_DIR}/include/server/mir DESTINATION "include/mirserver"
107)107)
108108
109set(MIRSERVER_ABI 29) # Be sure to increment MIR_VERSION_MINOR at the same time109set(MIRSERVER_ABI 30) # Be sure to increment MIR_VERSION_MINOR at the same time
110set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map)110set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map)
111111
112set_target_properties(112set_target_properties(
113113
=== modified file 'src/server/symbols.map'
--- src/server/symbols.map 2015-02-19 10:43:31 +0000
+++ src/server/symbols.map 2015-02-20 12:45:33 +0000
@@ -1,4 +1,4 @@
1MIR_SERVER_29 {1MIR_SERVER_30 {
2 global:2 global:
3 extern "C++" {3 extern "C++" {
4# Symbols not yet picked up by script4# Symbols not yet picked up by script
@@ -226,6 +226,7 @@
226 mir::scene::SurfaceCoordinator::operator*;226 mir::scene::SurfaceCoordinator::operator*;
227 mir::scene::SurfaceCoordinator::raise*;227 mir::scene::SurfaceCoordinator::raise*;
228 mir::scene::SurfaceCoordinator::remove_surface*;228 mir::scene::SurfaceCoordinator::remove_surface*;
229 mir::scene::SurfaceCoordinator::surface_at*;
229 mir::scene::SurfaceCoordinator::?SurfaceCoordinator*;230 mir::scene::SurfaceCoordinator::?SurfaceCoordinator*;
230 mir::scene::SurfaceCoordinator::SurfaceCoordinator*;231 mir::scene::SurfaceCoordinator::SurfaceCoordinator*;
231 mir::scene::SurfaceCreationParameters::of_buffer_usage*;232 mir::scene::SurfaceCreationParameters::of_buffer_usage*;
@@ -735,9 +736,3 @@
735 };736 };
736 local: *;737 local: *;
737};738};
738
739MIR_SERVER_29.1 {
740 global:
741 mir::scene::SurfaceCoordinator::surface_at*;
742 local: *;
743} MIR_SERVER_29;
744739
=== modified file 'tests/acceptance-tests/test_symbols_required_by_mesa.cpp'
--- tests/acceptance-tests/test_symbols_required_by_mesa.cpp 2015-02-13 06:12:34 +0000
+++ tests/acceptance-tests/test_symbols_required_by_mesa.cpp 2015-02-20 12:45:33 +0000
@@ -28,7 +28,7 @@
2828
29TEST(SymbolsRequiredByMesa, are_exported_by_client_platform_mesa)29TEST(SymbolsRequiredByMesa, are_exported_by_client_platform_mesa)
30{30{
31 auto const handle = dlopen(mtf::client_platform("mesa.so").c_str(), RTLD_LAZY);31 auto const handle = dlopen(mtf::client_platform("mesa").c_str(), RTLD_LAZY);
32 ASSERT_THAT(handle, NotNull());32 ASSERT_THAT(handle, NotNull());
3333
34 auto const sym = dlsym(handle, "mir_client_mesa_egl_native_display_is_valid");34 auto const sym = dlsym(handle, "mir_client_mesa_egl_native_display_is_valid");
3535
=== modified file 'tests/include/mir_test_framework/client_platform_factory.h'
--- tests/include/mir_test_framework/client_platform_factory.h 2015-02-13 06:12:34 +0000
+++ tests/include/mir_test_framework/client_platform_factory.h 2015-02-20 12:45:33 +0000
@@ -37,7 +37,7 @@
37 mtd::MockClientContext ctx;37 mtd::MockClientContext ctx;
38 ON_CALL(ctx, populate_server_package(_))38 ON_CALL(ctx, populate_server_package(_))
39 .WillByDefault(Invoke([](MirPlatformPackage& package) { ::memset(&package, 0, sizeof(package)); }));39 .WillByDefault(Invoke([](MirPlatformPackage& package) { ::memset(&package, 0, sizeof(package)); }));
40 platform_library = std::make_shared<mir::SharedLibrary>(client_platform("android.so"));40 platform_library = std::make_shared<mir::SharedLibrary>(client_platform("android"));
41 auto platform_factory = platform_library->load_function<mir::client::CreateClientPlatform>("create_client_platform");41 auto platform_factory = platform_library->load_function<mir::client::CreateClientPlatform>("create_client_platform");
42 return platform_factory(&ctx);42 return platform_factory(&ctx);
43}43}
@@ -46,7 +46,7 @@
46 mir::client::ClientContext* client_context)46 mir::client::ClientContext* client_context)
47{47{
48 using namespace testing;48 using namespace testing;
49 platform_library = std::make_shared<mir::SharedLibrary>(client_platform("mesa.so"));49 platform_library = std::make_shared<mir::SharedLibrary>(client_platform("mesa"));
50 auto platform_factory = platform_library->load_function<mir::client::CreateClientPlatform>("create_client_platform");50 auto platform_factory = platform_library->load_function<mir::client::CreateClientPlatform>("create_client_platform");
51 return platform_factory(client_context);51 return platform_factory(client_context);
52}52}
5353
=== modified file 'tests/mir_test_framework/CMakeLists.txt'
--- tests/mir_test_framework/CMakeLists.txt 2015-02-13 06:12:34 +0000
+++ tests/mir_test_framework/CMakeLists.txt 2015-02-20 12:45:33 +0000
@@ -14,6 +14,8 @@
14add_definitions(14add_definitions(
15 -DMIR_CLIENT_PLATFORM_PATH="${MIR_CLIENT_PLATFORM_PATH}"15 -DMIR_CLIENT_PLATFORM_PATH="${MIR_CLIENT_PLATFORM_PATH}"
16 -DMIR_SERVER_PLATFORM_PATH="${MIR_SERVER_PLATFORM_PATH}"16 -DMIR_SERVER_PLATFORM_PATH="${MIR_SERVER_PLATFORM_PATH}"
17 -DMIR_CLIENT_PLATFORM_ABI_STRING="${MIR_CLIENT_PLATFORM_ABI}"
18 -DMIR_SERVER_GRAPHICS_PLATFORM_ABI_STRING="${MIR_SERVER_GRAPHICS_PLATFORM_ABI}"
17 )19 )
1820
19set(21set(
2022
=== modified file 'tests/mir_test_framework/executable_path.cpp'
--- tests/mir_test_framework/executable_path.cpp 2015-02-13 06:12:34 +0000
+++ tests/mir_test_framework/executable_path.cpp 2015-02-20 12:45:33 +0000
@@ -47,10 +47,15 @@
4747
48std::string mir_test_framework::server_platform(std::string const& name)48std::string mir_test_framework::server_platform(std::string const& name)
49{49{
50 std::string libname{name};
51
52 if (libname.find(".so") == std::string::npos)
53 libname += ".so." MIR_SERVER_GRAPHICS_PLATFORM_ABI_STRING;
54
50 for (auto const& option :55 for (auto const& option :
51 {library_path() + "/server-modules/", library_path() + "/server-platform/", std::string(MIR_SERVER_PLATFORM_PATH) + '/'})56 {library_path() + "/server-modules/", library_path() + "/server-platform/", std::string(MIR_SERVER_PLATFORM_PATH) + '/'})
52 {57 {
53 auto path_to_test = option + name;58 auto path_to_test = option + libname;
54 if (boost::filesystem::exists(path_to_test))59 if (boost::filesystem::exists(path_to_test))
55 return path_to_test;60 return path_to_test;
56 }61 }
@@ -60,10 +65,15 @@
6065
61std::string mir_test_framework::client_platform(std::string const& name)66std::string mir_test_framework::client_platform(std::string const& name)
62{67{
68 std::string libname{name};
69
70 if (libname.find(".so") == std::string::npos)
71 libname += ".so." MIR_CLIENT_PLATFORM_ABI_STRING;
72
63 for (auto const& option :73 for (auto const& option :
64 {library_path() + "/client-modules/", library_path() + "/client-platform/", std::string(MIR_CLIENT_PLATFORM_PATH) + '/'})74 {library_path() + "/client-modules/", library_path() + "/client-platform/", std::string(MIR_CLIENT_PLATFORM_PATH) + '/'})
65 {75 {
66 auto path_to_test = option + name;76 auto path_to_test = option + libname;
67 if (boost::filesystem::exists(path_to_test))77 if (boost::filesystem::exists(path_to_test))
68 return path_to_test;78 return path_to_test;
69 }79 }
7080
=== modified file 'tests/unit-tests/client/test_client_platform.cpp'
--- tests/unit-tests/client/test_client_platform.cpp 2015-02-13 06:12:34 +0000
+++ tests/unit-tests/client/test_client_platform.cpp 2015-02-20 12:45:33 +0000
@@ -79,7 +79,7 @@
79};79};
8080
81#ifdef MIR_BUILD_PLATFORM_ANDROID81#ifdef MIR_BUILD_PLATFORM_ANDROID
82ClientPlatformTraits const android_platform{"android.so",82ClientPlatformTraits const android_platform{"android",
83 [](MirPlatformPackage& pkg)83 [](MirPlatformPackage& pkg)
84 {84 {
85 ::memset(&pkg, 0, sizeof(pkg));85 ::memset(&pkg, 0, sizeof(pkg));
@@ -94,7 +94,7 @@
94#endif94#endif
9595
96#ifdef MIR_BUILD_PLATFORM_MESA96#ifdef MIR_BUILD_PLATFORM_MESA
97ClientPlatformTraits const mesa_platform{"mesa.so",97ClientPlatformTraits const mesa_platform{"mesa",
98 [](MirPlatformPackage& pkg)98 [](MirPlatformPackage& pkg)
99 {99 {
100 ::memset(&pkg, 0, sizeof(pkg));100 ::memset(&pkg, 0, sizeof(pkg));
101101
=== modified file 'tests/unit-tests/client/test_probing_client_platform_factory.cpp'
--- tests/unit-tests/client/test_probing_client_platform_factory.cpp 2015-02-13 06:12:34 +0000
+++ tests/unit-tests/client/test_probing_client_platform_factory.cpp 2015-02-20 12:45:33 +0000
@@ -36,10 +36,10 @@
36{36{
37 std::vector<std::shared_ptr<mir::SharedLibrary>> modules;37 std::vector<std::shared_ptr<mir::SharedLibrary>> modules;
38#ifdef MIR_BUILD_PLATFORM_MESA38#ifdef MIR_BUILD_PLATFORM_MESA
39 modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::client_platform("mesa.so")));39 modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::client_platform("mesa")));
40#endif40#endif
41#ifdef MIR_BUILD_PLATFORM_ANDROID41#ifdef MIR_BUILD_PLATFORM_ANDROID
42 modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::client_platform("android.so")));42 modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::client_platform("android")));
43#endif43#endif
44 return modules;44 return modules;
45}45}
4646
=== modified file 'tests/unit-tests/graphics/android/test_platform.cpp'
--- tests/unit-tests/graphics/android/test_platform.cpp 2015-02-13 06:12:34 +0000
+++ tests/unit-tests/graphics/android/test_platform.cpp 2015-02-20 12:45:33 +0000
@@ -239,7 +239,7 @@
239239
240 ON_CALL(hwaccess, hw_get_module(_,_)).WillByDefault(Return(-1));240 ON_CALL(hwaccess, hw_get_module(_,_)).WillByDefault(Return(-1));
241241
242 mir::SharedLibrary platform_lib{mtf::server_platform("graphics-android.so")};242 mir::SharedLibrary platform_lib{mtf::server_platform("graphics-android")};
243 auto probe = platform_lib.load_function<mg::PlatformProbe>(probe_platform);243 auto probe = platform_lib.load_function<mg::PlatformProbe>(probe_platform);
244 EXPECT_EQ(mg::PlatformPriority::unsupported, probe());244 EXPECT_EQ(mg::PlatformPriority::unsupported, probe());
245}245}
@@ -248,7 +248,7 @@
248{248{
249 testing::NiceMock<mtd::HardwareAccessMock> hwaccess;249 testing::NiceMock<mtd::HardwareAccessMock> hwaccess;
250250
251 mir::SharedLibrary platform_lib{mtf::server_platform("graphics-android.so")};251 mir::SharedLibrary platform_lib{mtf::server_platform("graphics-android")};
252 auto probe = platform_lib.load_function<mg::PlatformProbe>(probe_platform);252 auto probe = platform_lib.load_function<mg::PlatformProbe>(probe_platform);
253 EXPECT_EQ(mg::PlatformPriority::best, probe());253 EXPECT_EQ(mg::PlatformPriority::best, probe());
254}254}
255255
=== modified file 'tests/unit-tests/graphics/mesa/test_platform.cpp'
--- tests/unit-tests/graphics/mesa/test_platform.cpp 2015-02-13 06:12:34 +0000
+++ tests/unit-tests/graphics/mesa/test_platform.cpp 2015-02-20 12:45:33 +0000
@@ -304,7 +304,7 @@
304{304{
305 mtf::UdevEnvironment udev_environment;305 mtf::UdevEnvironment udev_environment;
306306
307 mir::SharedLibrary platform_lib{mtf::server_platform("graphics-mesa.so")};307 mir::SharedLibrary platform_lib{mtf::server_platform("graphics-mesa")};
308 auto probe = platform_lib.load_function<mg::PlatformProbe>(probe_platform);308 auto probe = platform_lib.load_function<mg::PlatformProbe>(probe_platform);
309 EXPECT_EQ(mg::PlatformPriority::unsupported, probe());309 EXPECT_EQ(mg::PlatformPriority::unsupported, probe());
310}310}
@@ -315,7 +315,7 @@
315315
316 udev_environment.add_standard_device("standard-drm-devices");316 udev_environment.add_standard_device("standard-drm-devices");
317317
318 mir::SharedLibrary platform_lib{mtf::server_platform("graphics-mesa.so")};318 mir::SharedLibrary platform_lib{mtf::server_platform("graphics-mesa")};
319 auto probe = platform_lib.load_function<mg::PlatformProbe>(probe_platform);319 auto probe = platform_lib.load_function<mg::PlatformProbe>(probe_platform);
320 EXPECT_EQ(mg::PlatformPriority::best, probe());320 EXPECT_EQ(mg::PlatformPriority::best, probe());
321}321}
322322
=== modified file 'tests/unit-tests/graphics/test_platform_prober.cpp'
--- tests/unit-tests/graphics/test_platform_prober.cpp 2014-12-17 19:59:21 +0000
+++ tests/unit-tests/graphics/test_platform_prober.cpp 2015-02-20 12:45:33 +0000
@@ -47,10 +47,10 @@
47 std::vector<std::shared_ptr<mir::SharedLibrary>> modules;47 std::vector<std::shared_ptr<mir::SharedLibrary>> modules;
4848
49#ifdef MIR_BUILD_PLATFORM_MESA49#ifdef MIR_BUILD_PLATFORM_MESA
50 modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::server_platform("graphics-mesa.so")));50 modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::server_platform("graphics-mesa")));
51#endif51#endif
52#ifdef MIR_BUILD_PLATFORM_ANDROID52#ifdef MIR_BUILD_PLATFORM_ANDROID
53 modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::server_platform("graphics-android.so")));53 modules.push_back(std::make_shared<mir::SharedLibrary>(mtf::server_platform("graphics-android")));
54#endif54#endif
55 return modules;55 return modules;
56}56}
5757
=== modified file 'tests/unit-tests/shared_library_test.cpp'
--- tests/unit-tests/shared_library_test.cpp 2015-02-13 06:12:34 +0000
+++ tests/unit-tests/shared_library_test.cpp 2015-02-20 12:45:33 +0000
@@ -59,7 +59,7 @@
59public:59public:
60 SharedLibrary()60 SharedLibrary()
61 : nonexistent_library{"imma_totally_not_a_library"},61 : nonexistent_library{"imma_totally_not_a_library"},
62 existing_library{mtf::client_platform("mesa.so")},62 existing_library{mtf::client_platform("dummy.so")},
63 nonexistent_function{"yo_dawg"},63 nonexistent_function{"yo_dawg"},
64 existing_function{"create_client_platform"},64 existing_function{"create_client_platform"},
65 existent_version{"MIR_CLIENT_PLATFORM_2"},65 existent_version{"MIR_CLIENT_PLATFORM_2"},
6666
=== added file 'tests/unit-tests/test_data/libinvalid.so.3'
=== modified file 'tests/unit-tests/test_shared_library_prober.cpp'
--- tests/unit-tests/test_shared_library_prober.cpp 2015-01-21 07:34:50 +0000
+++ tests/unit-tests/test_shared_library_prober.cpp 2015-02-20 12:45:33 +0000
@@ -162,6 +162,7 @@
162 EXPECT_CALL(report, loading_library(FilenameMatches("libarmhf.so")));162 EXPECT_CALL(report, loading_library(FilenameMatches("libarmhf.so")));
163 EXPECT_CALL(report, loading_library(FilenameMatches("libi386.so")));163 EXPECT_CALL(report, loading_library(FilenameMatches("libi386.so")));
164 EXPECT_CALL(report, loading_library(FilenameMatches("libarm64.so")));164 EXPECT_CALL(report, loading_library(FilenameMatches("libarm64.so")));
165 EXPECT_CALL(report, loading_library(FilenameMatches("libinvalid.so.3")));
165166
166 mir::libraries_for_path(library_path, report);167 mir::libraries_for_path(library_path, report);
167}168}
@@ -175,6 +176,7 @@
175 bool amd64_failed{false};176 bool amd64_failed{false};
176 bool i386_failed{false};177 bool i386_failed{false};
177 bool arm64_failed{false};178 bool arm64_failed{false};
179 bool invalid_failed{false};
178180
179 ON_CALL(report, loading_failed(FilenameMatches("libamd64.so"), _))181 ON_CALL(report, loading_failed(FilenameMatches("libamd64.so"), _))
180 .WillByDefault(InvokeWithoutArgs([&amd64_failed]() { amd64_failed = true; }));182 .WillByDefault(InvokeWithoutArgs([&amd64_failed]() { amd64_failed = true; }));
@@ -184,8 +186,11 @@
184 .WillByDefault(InvokeWithoutArgs([&i386_failed]() { i386_failed = true; }));186 .WillByDefault(InvokeWithoutArgs([&i386_failed]() { i386_failed = true; }));
185 ON_CALL(report, loading_failed(FilenameMatches("libarm64.so"), _))187 ON_CALL(report, loading_failed(FilenameMatches("libarm64.so"), _))
186 .WillByDefault(InvokeWithoutArgs([&arm64_failed]() { arm64_failed = true; }));188 .WillByDefault(InvokeWithoutArgs([&arm64_failed]() { arm64_failed = true; }));
189 ON_CALL(report, loading_failed(FilenameMatches("libinvalid.so.3"), _))
190 .WillByDefault(InvokeWithoutArgs([&invalid_failed]() { invalid_failed = true; }));
187191
188 mir::libraries_for_path(library_path, report);192 mir::libraries_for_path(library_path, report);
189193
194 EXPECT_TRUE(invalid_failed);
190 EXPECT_TRUE(i386_failed || amd64_failed || armhf_failed || arm64_failed);195 EXPECT_TRUE(i386_failed || amd64_failed || armhf_failed || arm64_failed);
191}196}

Subscribers

People subscribed via source and target branches