summaryrefslogtreecommitdiffstats
path: root/testfiles/rendering_tests/CMakeLists.txt
blob: 260dfa3b4137c20b3f954834e2cd9a8cacb0da54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# SPDX-License-Identifier: GPL-2.0-or-later

# Tests to run for 64-bit builds only. These fail in 32-bit builds (possibly due to rounding issues)
# TODO: Figure out actual cause and see if we can fix it
if(${CMAKE_SIZEOF_VOID_P} EQUAL 8)
    set(RENDERING_TESTS_64bit
        test-rtl-vertical

        # .otf font with compressed SVG glyphs
        text-gzipped-svg-glyph
    )
endif()

#add your test here (do not put the .svg extension)
set(RENDERING_TESTS
    # -- Generic tests --
    test-empty
    test-dont-crash
    test-use

    # -- Selector tests --
    selector-important-002
    selector-important-003

    multi-style
    style-parsing

    # -- Text tests --
    ## Many (if not all) of these tests are sensitive to the text rendering stack: FreeType, HarfBuzz, Pango.

    # test-baseline-shift
    ## Small differences with code adapted for Pango 1.44.
    
    test-glyph-y-pos 
    ## to be fixed since an update happened between harfbuzz 1.5.1(OK) and 1.6.0(FAIL).
    ## If you re-enable the test, you may have to *slightly* fix the expected rendering (hoping the fix happens upstream). 
    ## Please also check that the rendering with harfbuzz <=1.5.1 is not *too* wrong (for older systems)
    ## cf Tav's post : https://www.patreon.com/posts/into-sinkhole-19021727
    ## and bug https://bugzilla.gnome.org/show_bug.cgi?id=787526

    # text-shaping
    ## Expected rendering generated with Pango 1.44. Currently fails with
    ## CI as CI uses Pango 1.40. Enable after updating CI to Ubuntu 20.04.

    text-glyphs-combining
    ## Expected rendering generated with Pango 1.44.

    text-glyphs-vertical
    ## Expected rendering generated with Pango 1.44.
    
    # -- LPE tests --
    test-powerstroke-join

    # <symbol> geometric properties (SVG 2.0 feature)
    symbol-svg2-geometry-properties

    ${RENDERING_TESTS_64bit}
)


foreach(rendering_test ${RENDERING_TESTS})
    set(testname "render_${rendering_test}")
    add_test(NAME ${testname}
             COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/test.sh ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/inkscape ${CMAKE_CURRENT_SOURCE_DIR}/${rendering_test}
             WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/testfiles/rendering_tests)
    set_tests_properties(${testname} PROPERTIES ENVIRONMENT "${INKSCAPE_TEST_PROFILE_DIR_ENV}/${testname};${CMAKE_CTEST_ENV}")
endforeach()