GithubHelp home page GithubHelp logo

mchalupa / wayland-integration-tests Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 1.0 504 KB

[OBSOLETE] most of this project has been merged to the Wayland upstream test-suite, this is a dead project now. || Wayland integration tests. Tests using a little framework for creating wayland compositor and client and test interaction between them.

License: Other

Shell 0.21% C 99.11% C++ 0.68%

wayland-integration-tests's Introduction

==========================
Wayland integration tests
==========================

This project aims to create small framework for simple testing
of interaction between wayland's display and client.

Directory structure:
TOP \
    | src/               - WIT framework sources
    | test/              - tests, including self-tests
          | test-runner/ - testing framework
          | benchmarks/  - folder containing benchmarks results
    | tools/             - tools for manipulating with tests outcomes

Part of this code was taken from Wayland test-suite (namely test/test-runner.c,
test/test-runner.h and test/test-helpers.c). Backtrace function in test-runner.c
is from Weston.


=== Dependencies ===
Required:
 wayland-server
 wayland-client

Optional:
 libunwind


=== Building WIT ===
Autotools requierments:

 automake 1.11
 autoconf 2.64
 libtool 2.2

Getting WIT, compiling and running:

    $ git clone https://github.com/mchalupa/wayland-integration-tests
    $ cd wayland-integration-tests
    $ ./autogen.sh
    $ make
    $ make check

When only make is run then the framework is compiled. Tests are run by make check.

=== Running WIT ===

    $ make check

will compile and run all tests in test/ directory.
Selected tests can be run using
    $ make check TESTS="test1 test2"
    $ make check TESTS="wit-test wl_shm-test"   # example

Or if tests have been compiled you can run the test without using make:
    $ ./test_name
    $ ./wit-test                    # example

To run only one test-case from test you can do
    $ ./test_name test_case_name
    $ ./wit-test client_populate_tst  # run client_populate_tst from wit-test

=== Colored log ===

You can use tools/colorlog to colorize tests output. When no argument
to colorlog is given, it reads from stdin, otherwise it searches for
files in . or test/ directory. Also you don't have to give it full name,
because it looks for "arg".log and "arg"-test.log.
Another parameters can be pattern that it should look for and colour
of text matching the pattern (default = yellow).
Examples:
    $ tools/colorlog abc-test.log  # following three command will do the same
    $ tools/colorlog abc-test      # that is print colored output of abc-test
    $ tools/colorlog abc

    $ tools/colorlog abc delete_id # color even lines containing text 'delete_id'
    $ tools/colorlog abc done '\033[0;31m' # color even lines containing text
                                           # done with given color

=== Writing tests ===

See test/README

=== Authors ===

Marek Chalupa <[email protected]>

wayland-integration-tests's People

Contributors

mchalupa avatar

Stargazers

Pantelis Koukousoulas avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

yonamine

wayland-integration-tests's Issues

make install fails

Running 'make install' fails with the following error:

make[3]: Entering directory `/home/uartie/Work/wayland/build/wit/test/test-runner'
/usr/bin/mkdir -p '/home/uartie/Work/wayland/install/lib'
/bin/sh ../../libtool   --mode=install /home/uartie/Work/wayland/scripts/install-wrap   lib-test-runner.la lib-test-helpers.la '/home/uartie/Work/wayland/install/lib'
libtool: install: warning: relinking `lib-test-runner.la'
libtool: install: (cd /home/uartie/Work/wayland/build/wit/test/test-runner; /bin/sh /home/uartie/Work/wayland/build/wit/libtool  --tag CC --mode=relink gcc -I/home/uartie/Work/wayland/install/include -I/home/uartie/Work/wayland/install/include -g3 -O0 -L/home/uartie/Work/wayland/install/lib -o lib-test-runner.la -rpath /home/uartie/Work/wayland/install/lib test-runner.lo lib-test-helpers.la -L/home/uartie/Work/wayland/install/lib -lwayland-client -L/home/uartie/Work/wayland/install/lib -lwayland-server -ldl )
libtool: relink: gcc -shared  -fPIC -DPIC  .libs/test-runner.o   -Wl,-rpath -Wl,/home/uartie/Work/wayland/install/lib -L/home/uartie/Work/wayland/install/lib -l-test-helpers -lwayland-client -lwayland-server -lffi -lrt -lm -ldl  -O0   -Wl,-soname -Wl,lib-test-runner.so.0 -o .libs/lib-test-runner.so.0.0.0
/usr/bin/ld: cannot find -l-test-helpers
collect2: error: ld returned 1 exit status
error: status 1 from /usr/lib64/ccache/gcc
libtool: install: error: relink `lib-test-runner.la' with the above command before installing it
make[3]: *** [install-libLTLIBRARIES] Error 1

My first guess would be the "lib-" is bad naming scheme to use with autotools... err relink step strips "lib" from name and then '-l-test-helpers' confuses ld.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.