Commit graph

32 commits

Author SHA1 Message Date
Pekka Paalanen 0a9d348fd8 Remove weston-screensaver
This removes the weston-screensaver client.

Screensavers are not so useful, DPMS is much better. This example has
existed here for a good while, and things that we could learn from it
have been learnt.

Nowadays this is just dead weigth, which is usually not even compiled,
because it depends on both cairo-gl and GLU. Removing it removes the
only possible dependency to GLU and one user of cairo-gl. Now the last
user of cairo-gl is gears (clients/nested.c uses cairo-glesv2).

Support for screensavers is still left in desktop-shell, so external
projects can still have their screensavers if they want.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Acked-by: Giulio Camuffo <giuliocamuffo@gmail.com>
2015-06-22 15:19:14 +03:00
Derek Foreman 708d326b30 internal-screenshot-test: ignore output image
In the future we should probably consider making all tests that output
images use an easily ignored template.

For now let's ignore this one individually.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
2015-05-28 12:25:30 -07:00
Pekka Paalanen f5b74f7ded tests: ivi_layout test infrastructure
Testing the ivi_layout API requires two things:
- the tests must be written as a controller module to access the API
- the tests need a helper client to create some objects that can then be
  managed via the API

This patch adds all the infrastructure and two different kinds of
example tests.

Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files
in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston
with ivi-shell, and loads the given module as a controller module, not
as a normal plugin.

The test controller module ivi-*.la will launch a helper client. For
ivi-layout-test.la the helper client is ivi-layout.ivi.

The helper client uses the weston-test-runner framework to fork and exec
each TEST with a fresh connection to the compositor.

The actual test is triggered by the weston_test_runner protocol
interface, a new addition to weston-test.xml. The helper client uses
weston_test_runner to trigger a test, and the server side of the
interface is implemented by the test controller module
(ivi-layout-test.la).

The server side of weston_test_runner uses the same trick as
weston-test-runner.h to gather a list of defined tests. A test is
defined with the RUNNER_TEST macro.

If a test defined by RUNNER_TEST succeeds, an event is sent to the
helper client that it can continue (or exit). If a test fails, a fatal
protocol error is sent to the helper client.

Once the helper client has iterated over all of its tests, it signals
the batch success/failure via process exit code. That is cought in the
test controller module, and forwarded as Weston's exit code.

In summary: each ivi_layout test is a combination of a client side
helper/setup and server side actual tests.

v2: Load weston-test.so, because create_client() needs it.

v3: add a comment about IVI_TEST_SURFACE_ID_BASE.

v4: Rebased to upstream weston-tests-env changes.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
2015-04-09 09:27:05 +03:00
Pekka Paalanen f3a3453270 build: generate weston-ivi.ini for tests
The ivi-shell / hmi-controller cannot run without a properly populated
config file. Generate a config file especially for tests, which includes
paths to the build dirs.

The generated file will be used by following patches adding ivi-shell
tests.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
2015-04-07 14:46:08 +03:00
Daniel Stone 7b9efcbcbf Update .gitignore
Add autotools remnants, as well as more comprehensive vim swapfiles,
Sublime Text configuration, and git format-patch output.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
2015-02-05 14:40:30 -08:00
Nobuhiko Tanibata 923bc14097 clients: a reference implementation of UI client how to use ivi-hmi-controller.
- introduces ivi-shell-user-interface.c

This is launched from hmi-controller by launch_hmi_client_process and
invoke a
client process.

The basic flow is as followed,
1/ process invoked
2/ read configuration from weston.ini.
3/ draw png file to surface according to configuration of weston.ini
4/ all parts of UI are ready. request "UI_ready" to draw UI.
5/ Enter event loop
6/ If a surface receives touch/pointer event, followings are invoked
according
   to type of event and surface
6-1/ If a surface to launch ivi_application receive touch up, it execs
     ivi-application configured in weston.ini.
6-2/ If a surface to switch layout mode receive touch up, it sends a
request,
     ivi_hmi_controller_switch_mode, to hmi-controller.
6-3/ If a surface to show workspace having launchers, it sends a
request,
     ivi_hmi_controller_home, to hmi-controller.
6-4/ If touch down events happens in workspace,
     ivi_hmi_controller_workspace_control is sent to slide workspace.
     When control finished, event:
ivi_hmi_controller_workspace_end_control
     is received.

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-12-04 17:13:42 +02:00
Pekka Paalanen ef2b592ad4 clients: add presentation-shm demo
This started as a copy of simple-shm.c before it was converted to
xdg_shell.

This demo excercises the presentation feedback interface in five
different modes:

- A continuous repaint loop triggered by frame callbacks, and using
  immediate commits, just gathering presentation feedback and computing
  some time intervals for statistics.

- The same as above, except with 1s sleep before actually repainting as
  a response to frame callback. This tests how well the compositor can
  do a repaint from idle state (not continuously repainting), assuming
  nothing else is causing repaints.

- A continuous repaint loop triggered by 'presented' events rather than
  by frame callbacks. If Weston uses an appropriate scheduling
  algorithm, this mode achieves the smallest possible frame latency
  (below one output refresh period).

In all modes, all frames are pre-rendered at startup, so no rendering
happens during the animation.

[Louis-Francis Ratté-Boulianne: split queuing feature]

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
2014-09-30 13:02:20 +03:00
Jason Ekstrand 549a53f186 Add a simple client for testing compositor damage handling
This allows for easily testing a compositor's damage tracking in all
currently available configurations including wl_surface.buffer_transform,
wl_surface.buffer_scale, and wl_viewport.  It also includes a
--rotating-damage that flag instructs the client to change the
wl_surface.buffer_transform on every commit.  This tests the compositor for
proper handling of texture uploads even when the transform has changed but
the buffer size hasn't.
2014-06-18 10:45:50 -07:00
Bryce W. Harrington 2f88f0be30 gitignore log files, now in root directory
[paalanen: added also *.trs to ignore]

Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2014-05-12 10:06:50 -07:00
Jasper St. Pierre 9679cf9ba2 Update .gitignore 2014-02-07 14:53:31 -08:00
Kristian Høgsberg 304d40d615 .gitignore: Add .dirstamp 2014-02-01 22:16:43 -08:00
Guillem Jover dff63a2300 build: Set a default aux dir
This moves all the auxiliary build scripts into a build-aux directory,
and fixes an issue with configure being unable to find scripts because
it tries to change to an empty directory to get the absolute path,
which results in getting the path to the user's home directory instead.

,--
checking whether build environment is sane... yes
/bin/bash: /home/user/missing: No such file or directory
configure: WARNING: 'missing' script is too old or missing
`---

Signed-off-by: Guillem Jover <guillem@hadrons.org>
2014-02-01 22:12:10 -08:00
Quentin Glidic 088ba5e475 Makefile.am: Fix protocol source files usage
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2014-02-01 21:21:39 -08:00
Neil Roberts e3de16ea30 Automatically generate weston.ini with the right paths
Previously weston.ini had hardcoded paths for the weston-* clients in
/usr/bin and /usr/libexec. This was a bit annoying when testing Weston
because you wouldn't usually install those in the system prefix. This
patch adds a make rule to automatically generate weston.ini from a
template file with some replacement markers for the paths so that they
can have the right prefix.
2013-11-27 22:49:31 -08:00
Kristian Høgsberg 5e392ef64e .gitignore: Add .valid files 2013-10-25 12:21:51 -07:00
Emilio Pozuelo Monfort 7f951e1117 Update .gitignore 2013-09-23 10:08:03 -07:00
Damien Lespiau cee79e91f3 gitignore: Ignore test-driver
Automake (1.12 here) parallel-tests installs a test-driver file, another
file to add to .gitignore.

While at it, remove the duplicate cscope.out entry and add TAGS (the
result of automake's "make tag")
2013-03-28 14:04:05 -04:00
Martin Olsson 61d67df18b Add cscope.out to .gitignore 2012-07-09 17:57:55 -04:00
Daniel Stone 9c7df91b19 .gitignore: Ignore ctags and cscope output
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-06-22 11:52:04 -04:00
Nikolai Kondrashov 7637ff0839 Clean up .gitignore files
Sort the contents and update .gitignore files to hide generated files from
git status output.

Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
2010-11-11 20:11:27 -05:00
Kristian Høgsberg 76b43326a5 Move example compositor to subdirectory 2010-09-14 10:56:25 -04:00
Kristian Høgsberg 4219a407ae Add DMZ cursor theme
Some day we can make this parse X cursor themes
2010-08-16 16:43:50 -04:00
Kristian Høgsberg a1f3f60bea Generate protocol types and metadata from xml 2010-08-03 09:44:48 -04:00
Kristian Høgsberg fc783d4071 Split native drm part of compositor out 2010-06-11 12:56:45 -04:00
Kristian Høgsberg b2a432ef18 Move clients to subdirectory 2010-06-04 21:46:55 -04:00
Kristian Høgsberg f75f0e80b7 Add a crazy rambling style TODO file. 2009-02-05 23:01:00 -05:00
Kristian Høgsberg 4a8767bbb7 Install libraries plus headers and add pkg-config files. 2008-12-10 13:49:28 -05:00
Kristian Høgsberg 0c4457f0c2 Refactor window logic into reusable parts, add a new terminal application.
The gears code is moved into a new file gearc.c and the window decoration
and management code stays in window.c.  A new application 'terminal' is the
second user of the windowing code, but doesn't do anything useful yet.
2008-12-07 20:05:36 -05:00
Kristian Høgsberg cb70316105 Update .gitignore. 2008-12-05 11:20:30 -05:00
Kristian Høgsberg d4de54efe7 Use autoconf instead of $(shell ...) in the Makefile. 2008-12-04 23:00:01 -05:00
Kristian Høgsberg d91e049735 Update .gitignore. 2008-12-02 15:18:38 -05:00
Kristian Høgsberg f3723fe79e Add .gitignore. 2008-11-25 23:18:29 -05:00