Skip to content

KhronosGroup/OpenVX-cts

Repository files navigation

The OpenVX conformance tests README
===================================

Building the conformance tests
------------------------------

The included CMake script provides support for linking the tests with your
pre-built OpenVX library binaries.

The following CMake variables are supported:

* OPENVX_USE_IX      - Compile export/import test case or not.

* OPENVX_USE_NN      - Compile neural network test case or not.

* OPENVX_USE_U1      - Compile binary image test cases or not.

* OPENVX_LIBRARIES   - semicolon separated list of shared/static libraries to link
                       with. If there are link order dependencies between your
                       libraries, then the libraries have to be specified in
                       correct order. Use absolute paths if your librarieas are
                       not in system path.

* OPENVX_INCLUDES    - absolute path to the OpenVX headers (excluding the "VX"
                       sub-folder).

* OPENVX_DEFINITIONS - semicolon separated list of preprocessor definitions
                       required to compile the suite for target platform.

* OPENVX_CFLAGS      - semicolon separated list of extra compiler flags
                       required to compile/link the suite for target platform.

Examples for Linux:

Use the following commands to build the test suite for the OpenVX baseline only:

    export OPENVX_DIR=<path to prebuilt OpenVX>
    cd <build dir>
    cmake \
        -DOPENVX_INCLUDES=$OPENVX_DIR/include \
        -DOPENVX_LIBRARIES=$OPENVX_DIR/lib/libopenvx.so\;$OPENVX_DIR/lib/libvxu.so\;pthread\;dl\;m\;rt \
        ../conformance_tests/
    cmake --build .


Use the following commands to build the test suite with import-export, neural
network and binary image KHR extensions activated:

    export OPENVX_DIR=<path to prebuilt OpenVX>
    cd <build dir>
    cmake \
        -DOPENVX_INCLUDES=$OPENVX_DIR/include \
        -DOPENVX_LIBRARIES=$OPENVX_DIR/lib/libopenvx.so\;$OPENVX_DIR/lib/libvxu.so\;pthread\;dl\;m\;rt \
        -DOPENVX_USE_IX=ON \
        -DOPENVX_USE_NN=ON \
        -DOPENVX_USE_U1=ON \
        ../conformance_tests/
    cmake --build .


Running the tests
-----------------

1. Set your VX_TEST_DATA_PATH environment variable to point to the
   "<conformance_tests>/test_data" directory.

2. For Linux/Mac OS X you might need to set the LD_LIBRARY_PATH

3. To run the tests:

    Usage:

    <build binary path>/vx_test_conformance [--filter=<filter>]
        [--run_disabled] [--global_context=0|1] [--check_any_size=0|1]
        [--show_test_duration=0|1] [--verbose] [--testid=<testid>]
        [--list_tests] [--quiet]

    Options:

        --filter=<filter> - selects only matching tests for execution

                 <filter> - specifies a filter as in Google Test: "a
                            ':'-separated list of wildcard patterns (called the
                            positive patterns) optionally followed by a '-' and
                            another ':'-separated pattern list (called the
                            negative patterns). A test matches the filter if and
                            only if it matches any of the positive patterns but
                            does not match any of the negative patterns."

        --run_disabled    - include a set of tests that are disabled by default,
                            which are not part of the conformance suite

        --global_context  - create new a vx_context for every test (default, "=0")
                            or execute all the tests inside single vx_context ("=1")

        --check_any_size  - use a restricted set of image sizes (usually VGA) for
                            testing nodes and immediate mode functions (default,
                            "=0") or include other sizes as well ("=1").
                            Conformance only requires the default, restricted set.

        --show_test_duration - enable/disable test time in the test log.  If
                               this option is not selected (default) no timing
                               information will be printed.

        --list_tests      - list the tests without running them

        --testid=<testid> - specifies report custom identifier for tests run

        --verbose         - enable extra output

        --quiet           - minimize extra/headers output


In order to pass the conformance test, the tests should be run with all the
options set to their default values, so you can run without specifying any
options, i.e., just:

     <build binary path>/vx_test_conformance

with no options.  The options are for information and debug purposes only.


Test data
---------

The test data directory contains:
- several natural images (VGA resolution) used as inputs for tested algorithms;
- generated reference output data provided by OpenCV 2.4.7 algorithms.

All the required test data is included in the conformance tests package.
You do NOT need to regenerate this data in most cases.

Refer to the README from the "test_data_generator" directory for more
information.

About

OpenVX Conformance Test Suite

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages