Mir

Merge lp:~afrantzis/mir/mir-perf-framework-package into lp:mir

Proposed by Alexandros Frantzis
Status: Merged
Approved by: Daniel van Vugt
Approved revision: no longer in the source branch.
Merged at revision: 2725
Proposed branch: lp:~afrantzis/mir/mir-perf-framework-package
Merge into: lp:mir
Prerequisite: lp:~afrantzis/mir/touch-event-latency-benchmark
Diff against target: 143 lines (+60/-3)
9 files modified
benchmarks/CMakeLists.txt (+16/-0)
benchmarks/key_event_latency.py (+2/-0)
benchmarks/mir_perf_framework_setup.py (+5/-0)
benchmarks/nested_client_to_display_buffer_latency.py (+2/-0)
benchmarks/touch_event_latency.py (+2/-0)
debian/control (+19/-0)
debian/python3-mir-perf-framework.install (+3/-0)
debian/rules (+1/-1)
doc/performance_framework.md (+10/-2)
To merge this branch: bzr merge lp:~afrantzis/mir/mir-perf-framework-package
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Gerry Boland (community) Approve
Daniel van Vugt Approve
Kevin DuBois (community) Approve
Review via email: mp+263672@code.launchpad.net

Commit message

benchmarks: Package the Mir performance framework

Description of the change

benchmarks: Package the Mir performance framework

This MP introduces the python3-mir-perf-framework package which includes the framework itself and also a few samples scripts placed in /usr/share/mir-perf-framework.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Kevin DuBois (kdub) wrote :

lgtm

review: Approve
Revision history for this message
Daniel van Vugt (vanvugt) :
review: Approve
Revision history for this message
Gerry Boland (gerboland) wrote :

+1

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'benchmarks/CMakeLists.txt'
2--- benchmarks/CMakeLists.txt 2015-04-28 07:54:10 +0000
3+++ benchmarks/CMakeLists.txt 2015-07-02 15:19:49 +0000
4@@ -18,3 +18,19 @@
5 target_link_libraries(benchmark_multiplexing_dispatchable
6 mircommon
7 )
8+
9+# Note: We need to write \$ENV{DESTDIR} (note the \$) to make
10+# CMake replace the DESTDIR variable at installation time rather
11+# than configuration time
12+install(CODE "execute_process(COMMAND python3 mir_perf_framework_setup.py install -f --prefix=${CMAKE_INSTALL_PREFIX} --root=\$ENV{DESTDIR} --install-layout=deb --no-compile WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})")
13+
14+set(MIR_PERF_SCRIPTS
15+ key_event_latency.py
16+ nested_client_to_display_buffer_latency.py
17+ touch_event_latency.py
18+)
19+
20+install(
21+ FILES ${MIR_PERF_SCRIPTS}
22+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/mir-perf-framework
23+)
24
25=== modified file 'benchmarks/key_event_latency.py'
26--- benchmarks/key_event_latency.py 2015-06-26 11:31:44 +0000
27+++ benchmarks/key_event_latency.py 2015-07-02 15:19:49 +0000
28@@ -1,3 +1,5 @@
29+#!/usr/bin/python3
30+
31 from mir_perf_framework import PerformanceTest, Server, Client
32 import time
33 import evdev
34
35=== added file 'benchmarks/mir_perf_framework_setup.py'
36--- benchmarks/mir_perf_framework_setup.py 1970-01-01 00:00:00 +0000
37+++ benchmarks/mir_perf_framework_setup.py 2015-07-02 15:19:49 +0000
38@@ -0,0 +1,5 @@
39+from distutils.core import setup
40+
41+setup(name='mir_perf_framework',
42+ version='0.1',
43+ packages=['mir_perf_framework'])
44
45=== modified file 'benchmarks/nested_client_to_display_buffer_latency.py'
46--- benchmarks/nested_client_to_display_buffer_latency.py 2015-06-26 08:45:29 +0000
47+++ benchmarks/nested_client_to_display_buffer_latency.py 2015-07-02 15:19:49 +0000
48@@ -1,3 +1,5 @@
49+#!/usr/bin/python3
50+
51 from mir_perf_framework import PerformanceTest, Server, Client
52 import time
53 import statistics
54
55=== modified file 'benchmarks/touch_event_latency.py'
56--- benchmarks/touch_event_latency.py 2015-07-02 15:19:49 +0000
57+++ benchmarks/touch_event_latency.py 2015-07-02 15:19:49 +0000
58@@ -1,3 +1,5 @@
59+#!/usr/bin/python3
60+
61 from mir_perf_framework import PerformanceTest, Server, Client
62 import time
63 import evdev
64
65=== modified file 'debian/control'
66--- debian/control 2015-06-29 03:29:31 +0000
67+++ debian/control 2015-07-02 15:19:49 +0000
68@@ -41,6 +41,8 @@
69 abi-compliance-checker,
70 libevdev-dev,
71 uuid-dev,
72+ python3,
73+ dh-python,
74 Standards-Version: 3.9.4
75 Homepage: https://launchpad.net/mir
76 # If you aren't a member of ~mir-team but need to upload packaging changes,
77@@ -395,3 +397,20 @@
78 .
79 This package depends on a full set of graphics drivers for running Mir on top
80 of an existing Android driver stack.
81+
82+Package: python3-mir-perf-framework
83+Section: python
84+Architecture: all
85+Pre-Depends: ${misc:Pre-Depends}
86+Depends: ${misc:Depends},
87+ ${python3:Depends},
88+ python3-evdev,
89+ python3-babeltrace,
90+ mir-demos
91+Description: Display server for Ubuntu - performance testing framework
92+ Mir is a display server running on linux systems, with a focus on efficiency,
93+ robust operation and a well-defined driver model.
94+ .
95+ This package contains a python3 framework to facilitate writing performance
96+ tests for Mir. It also contains a few interesting performance tests written
97+ using the framework.
98
99=== added file 'debian/python3-mir-perf-framework.install'
100--- debian/python3-mir-perf-framework.install 1970-01-01 00:00:00 +0000
101+++ debian/python3-mir-perf-framework.install 2015-07-02 15:19:49 +0000
102@@ -0,0 +1,3 @@
103+usr/lib/python3/dist-packages/mir_perf_framework/*.py
104+usr/lib/python3/dist-packages/*.egg-info
105+usr/share/mir-perf-framework
106
107=== modified file 'debian/rules'
108--- debian/rules 2015-06-18 02:46:16 +0000
109+++ debian/rules 2015-07-02 15:19:49 +0000
110@@ -8,7 +8,7 @@
111 export DPKG_GENSYMBOLS_CHECK_LEVEL = 4
112
113 %:
114- dh $@ --parallel --fail-missing
115+ dh $@ --parallel --fail-missing --with python3
116
117 # Enable verbose debugging output from the testsuite
118 export MIR_SERVER_LOGGING = on
119
120=== modified file 'doc/performance_framework.md'
121--- doc/performance_framework.md 2015-07-02 15:19:49 +0000
122+++ doc/performance_framework.md 2015-07-02 15:19:49 +0000
123@@ -13,11 +13,19 @@
124 To run a test, just execute the python3 script containing it.
125
126 We need to ensure that the Mir performance framework can be found by python.
127-To do so, add the directory containing the mir_perf_framework/ directory (i.e.,
128-its parent directory) to the PYTHONPATH env. variable:
129+If you have installed the Mir performance framework to one of the standard
130+python3 library locations (e.g., with make install or a package installation),
131+then the framework should be automatically detected. If you are using the
132+framework from within the source tree you need to add the directory containing
133+the mir_perf_framework/ directory (i.e., its parent directory) to the
134+PYTHONPATH env. variable:
135
136 sudo PYTHONPATH=/path/to/mir/benchmarks python3 testscript.py
137
138+If you are using an Ubuntu system the framework comes pre-packaged in the
139+python3-mir-perf-framework package, which, besides the framework itself,
140+also installs a few interesting tests in /usr/share/mir-perf-framework/.
141+
142 Writing test scripts
143 --------------------
144

Subscribers

People subscribed via source and target branches