diff options
author | Alex Richardson <Alexander.Richardson@cl.cam.ac.uk> | 2021-07-15 18:26:20 +0100 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2021-07-16 14:42:51 +0200 |
commit | 7bc0f48c274e2d1c7525ce5025351149b0803a91 (patch) | |
tree | 3cb9748504224d5bd4eba6f01fe770c113d453f4 /tests | |
parent | 685acc04dbad5ece9b7261d21f4a2546d787436c (diff) | |
download | freetype2-7bc0f48c274e2d1c7525ce5025351149b0803a91.tar.gz |
[tests] Allow arbitrary build directories.
* tests/issue-1063/main.c (main): I am building with a build
directory that is not directly inside the source tree, so the path
`../tests/data/As.I.Lay.Dying.ttf` does not resolve to the test
input file. This change passes the test data directory as an
environment variable to allow arbitrary build directories.
* tests/meson.build: Updated.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/issue-1063/main.c | 32 | ||||
-rw-r--r-- | tests/meson.build | 9 |
2 files changed, 33 insertions, 8 deletions
diff --git a/tests/issue-1063/main.c b/tests/issue-1063/main.c index 1bce0feb2..cb06be1f5 100644 --- a/tests/issue-1063/main.c +++ b/tests/issue-1063/main.c @@ -1,16 +1,30 @@ +#include <limits.h> #include <stdio.h> #include <freetype/freetype.h> #include <ft2build.h> + int main( void ) { - FT_Library library; - FT_Face face = NULL; + FT_Library library; + FT_Face face = NULL; + + /* + * We assume that `FREETYPE_TESTS_DATA_DIR` was set by `meson test`. + * Otherwise we default to `../tests/data`. + * + * TODO (David): Rewrite this to pass the test directory through the + * command-line. + */ + const char* testdata_dir = getenv( "FREETYPE_TESTS_DATA_DIR" ); + char filepath[PATH_MAX]; + - /* Assumes this is run from out/ build directory though 'meson test -C out' */ - const char* filepath = "../tests/data/As.I.Lay.Dying.ttf"; + snprintf( filepath, sizeof( filepath ), "%s/%s", + testdata_dir ? testdata_dir : "../tests/data", + "As.I.Lay.Dying.ttf" ); FT_Init_FreeType( &library ); if ( FT_New_Face( library, filepath, 0, &face ) != 0 ) @@ -19,13 +33,17 @@ main( void ) return 1; } - for ( FT_ULong i = 59; i < 171; i++ ) + for ( FT_ULong i = 59; i < 171; i++ ) { - FT_UInt gid = FT_Get_Char_Index( face, i ); - FT_Error code = FT_Load_Glyph( face, gid, FT_LOAD_DEFAULT ); + FT_UInt gid = FT_Get_Char_Index( face, i ); + FT_Error code = FT_Load_Glyph( face, gid, FT_LOAD_DEFAULT ); + + if ( code ) printf( "unknown %d for char %lu, gid %u\n", code, i, gid ); } return 0; } + +/* EOF */ diff --git a/tests/meson.build b/tests/meson.build index 8c5d0345f..527998ffa 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -3,5 +3,12 @@ test_issue_1063 = executable('issue-1063', dependencies: freetype_dep, ) -test('issue-1063', test_issue_1063, suite: 'regression') +test_env = ['FREETYPE_TESTS_DATA_DIR=' + + join_paths(meson.current_source_dir(), 'data')] +test('issue-1063', + test_issue_1063, + env: test_env, + suite: 'regression') + +# EOF |