Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • W weston
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 348
    • Issues 348
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 131
    • Merge requests 131
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

  • waylandwayland
  • weston
  • Merge requests
  • !287

Test harness re-design

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Pekka Paalanen requested to merge pq/weston:mr/testharness into master Nov 04, 2019
  • Overview 79
  • Commits 17
  • Pipelines 17
  • Changes 38

This rewrites the test harness internals and adds test program boilerplate to:

  • Move all remaining test configuration from meson.build file into the test .c files themselves to make the tests self-contained for easier setup, understanding, and running.
  • Stop using fork() in the test harness completely to make debugging easier, which means that
  • the Weston compositor is started with a direct function call to wet_main() instead of fork & exec, and the function returns when the compositor exits, and
  • client tests that need to run in parallel with the compositor are executed in a thread.
  • Add the concept of a fixture for setting up the compositor, and
  • allow repeating tests with multiple fixture configurations, e.g. running with Pixman-renderer and GL-renderer each.
  • Report (sub-)test results with TAP, though that is not taken advantage of yet.

Test harness documentation is added in the forms of prose in Sphinx and Doxygen comments, except for the client helpers which are untouched by this MR.

After this MR, you can execute any test you want by simply running its executable program from the build tests/ directory. That makes it even easier to run with GDB or Valgrind than with Meson wrappers.

This is to address #289 (closed).

Depends on: !290 (merged), !291 (merged), !310 (merged)

Latest documentation build

Edited Nov 22, 2019 by Pekka Paalanen
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: mr/testharness