1. 19 Mar, 2018 2 commits
  2. 22 Feb, 2018 2 commits
  3. 09 Feb, 2018 3 commits
  4. 19 Jan, 2018 1 commit
  5. 09 Jan, 2018 1 commit
  6. 18 Sep, 2017 1 commit
  7. 18 Aug, 2017 1 commit
  8. 25 Jan, 2017 1 commit
  9. 23 Nov, 2016 1 commit
    • Pekka Paalanen's avatar
      tests: add scanner tests · c9f64544
      Pekka Paalanen authored
      Add tests that ensure that wayland-scanner output for a given input does
      not change unexpectedly. This makes it very easy to review
      wayland-scanner patches.
      
      Before, when patches were proposed for wayland-scanner, I had to
      build wayland without the patches, save the generated files into a
      temporary directory, apply the patches, build again, and diff the old
      vs. new generated file.
      
      No more. Now whenever someone makes intentional changes to
      wayland-scanner's output, he will also have to patch the example output
      files to match. That means that reviewers see the diff of the generated
      files straight from the patch itself. Verifying the diff is true is as
      easy as 'make check'.
      
      The tests use separate example XML files instead of wayland.xml
      directly, so that wayland.xml can be updated without fixing scanner
      tests, avoiding the churn.
      
      example.xml starts as a copy of wayland.xml. If wayland.xml starts using
      new wayland-scanner features, they should be copied into example.xml
      again to be covered by the tests.
      
      This patch relies on the previous patch to actually add all the data
      files for input and reference output.
      
      The scanner output is fed through sed to remove parts that are allowed
      to vary: the scanner version string.
      
      v2: no need for scanner-test.sh to depend on the test data
      
      Task: https://phabricator.freedesktop.org/T3313Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> (v1)
      Reviewed-by: default avatarYong Bakos <ybakos@humanoriented.com>
      Tested-by: default avatarYong Bakos <ybakos@humanoriented.com>
      c9f64544
  10. 18 Nov, 2016 1 commit
  11. 17 Nov, 2016 1 commit
  12. 16 Nov, 2016 1 commit
  13. 12 Aug, 2016 1 commit
  14. 11 Aug, 2016 1 commit
  15. 29 Feb, 2016 1 commit
  16. 17 Feb, 2016 2 commits
  17. 19 Nov, 2015 1 commit
  18. 17 Nov, 2015 2 commits
  19. 09 Oct, 2015 1 commit
  20. 23 Jul, 2015 1 commit
  21. 17 Jul, 2015 1 commit
    • Ross Burton's avatar
      build: always build wayland-scanner · 21f80b89
      Ross Burton authored
      The previous idiom for building a cross-compiled Wayland is to build once for
      the build host (with --enable-scanner --disable-libraries) to get a
      wayland-scanner binary that can then be used in a cross-compile (with
      --disable-scanner).  The problem with this is that the cross wayland is missing
      a wayland-scanner binary, which means you then can't do any Wayland development
      on the target.
      
      Instead, always build wayland-scanner for the target and change
      --enable/disable-scanner to --with/without-host-scanner.  Normal builds use the
      default of --without-host-scanner and run the wayland-scanner it just built, and
      cross-compiled builds pass --with-host-scanner to use a previously built host
      scanner but still get a wayland-scanner to install.
      
      (a theoretically neater solution would be to build two scanners if required (one
      to run and one to install), but automake makes this overly complicated)
      
      [daniels: Bikeshedded naming with Ross's OK.]
      Signed-off-by: default avatarRoss Burton <ross.burton@intel.com>
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      21f80b89
  22. 23 Jun, 2015 1 commit
  23. 18 Jun, 2015 4 commits
  24. 05 Jun, 2015 1 commit
  25. 21 May, 2015 1 commit
    • Giulio Camuffo's avatar
      tests: add an headers test · 1fab2e7b
      Giulio Camuffo authored
      This test checks that the protocol and library headers include only what
      they are supposed to include. That is, that the core headers do not
      include the protocol headers and that the core protocol headers do not
      include the non core library headers.
      The build process now generates core protocol headers, but they are only
      used in the test and don't get installed.
      Reviewed-by: default avatarBryce Harrington <bryce@osg.samsung.com>
      1fab2e7b
  26. 30 Apr, 2015 2 commits
  27. 29 Jan, 2015 1 commit
  28. 27 Jan, 2015 1 commit
  29. 22 Aug, 2014 1 commit
    • Marek Chalupa's avatar
      tests: add test-compositor · 85d08e8b
      Marek Chalupa authored
      This patch introduces a set of functions that can create a display
      and clients for tests.
      On server side the user can use functions:
        display_create()
        display_destroy()
        create_client()
        display_run()
        display_resume()
      and on client side the user can use:
        client_connect()
        client_disconnect()
        stop_display()
      
      The stop_display() and display_resume() are functions that serve as a barrier
      and also allow the display to take some action after the display_run() was called,
      because after the display is stopped, it can run arbitrary code until it calls
      display_resume().
      
      client_connect() function connects to wayland display and creates a proxy to
      test_compositor global object, so it can ask for stopping the display later
      using stop_display().
      
      An example:
      
        void
        client_main()
        {
              /* or client can use wl_display_connect(NULL)
               * and do all the stuff manually */
              struct client *c = client_connect();
      
              /* do some stuff, ... */
      
              /* stop the display so that it can
               * do some other stuff */
              stop_display(c, 1);
      
              /* ... */
      
              client_disconnect(c);
        }
      
        TEST(dummy_tst)
        {
             struct display *d = display_create();
      
             /* set up the display */
             wl_global_create(d->wl_display, ...);
      
             /* ... */
      
             create_client(d, client_main);
             display_run();
      
             /* if we are here, the display has been stopped
              * and we can do some code, i. e. create another global or so */
             wl_global_create(d->wl_display, ...);
      
             /* ... */
      
             display_resume(d); /* resume display and clients */
      
             display_destroy(d);
        }
      
      v2:
        added/changed message in few asserts that were not clear
        fixed codying style issues and typo
        client_create_with_name: fixed a condition in an assert
        get_socket_name: use also pid
        check_error: fix errno -> err
      
      [Pekka Paalanen: added test-compositor.h to SOURCES, added
      WL_HIDE_DEPRECATED to get rid of deprecated defs and lots of warnings,
      fixed one unchecked return value from write().]
      Signed-off-by: default avatarMarek Chalupa <mchqwerty@gmail.com>
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      85d08e8b
  30. 07 Jul, 2014 1 commit
    • Marek Chalupa's avatar
      client: extend error handling · 886b09c9
      Marek Chalupa authored
      When an error occurs, wl_display_get_error() does not
      provide any way of getting know if it was a local error or if it was
      an error event, respectively what object caused the error and what
      the error was.
      
      This patch introduces a new function wl_display_get_protocol_error()
      which will return error code, interface and id of the object that
      generated the error.
      wl_display_get_error() will work the same way as before.
      
      wl_display_get_protocol_error() DOES NOT indicate that a non-protocol
      error happened. It returns valid information only in that case that
      (protocol) error occurred, so it should be used after calling
      wl_display_get_error() with positive result.
      
      [Pekka Paalanen] Applied another hunk of Bryce's comments to docs,
      	added libtool version bump.
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <ppaalanen@gmail.com>
      Reviewed-by: default avatarBryce Harrington <b.harrington@samsung.com>
      886b09c9