[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.
This commit is contained in:
parent
685acc04db
commit
7bc0f48c27
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
||||||
|
2021-07-16 Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
|
||||||
|
|
||||||
|
[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.
|
||||||
|
|
||||||
2021-07-15 Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
|
2021-07-15 Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
|
||||||
|
|
||||||
* tests/issue-1063/main.c (main): Fix uninitialized variable.
|
* tests/issue-1063/main.c (main): Fix uninitialized variable.
|
||||||
|
|
|
@ -1,16 +1,30 @@
|
||||||
|
#include <limits.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include <freetype/freetype.h>
|
#include <freetype/freetype.h>
|
||||||
#include <ft2build.h>
|
#include <ft2build.h>
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main( void )
|
main( void )
|
||||||
{
|
{
|
||||||
FT_Library library;
|
FT_Library library;
|
||||||
FT_Face face = NULL;
|
FT_Face face = NULL;
|
||||||
|
|
||||||
/* Assumes this is run from out/ build directory though 'meson test -C out' */
|
/*
|
||||||
const char* filepath = "../tests/data/As.I.Lay.Dying.ttf";
|
* 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];
|
||||||
|
|
||||||
|
|
||||||
|
snprintf( filepath, sizeof( filepath ), "%s/%s",
|
||||||
|
testdata_dir ? testdata_dir : "../tests/data",
|
||||||
|
"As.I.Lay.Dying.ttf" );
|
||||||
|
|
||||||
FT_Init_FreeType( &library );
|
FT_Init_FreeType( &library );
|
||||||
if ( FT_New_Face( library, filepath, 0, &face ) != 0 )
|
if ( FT_New_Face( library, filepath, 0, &face ) != 0 )
|
||||||
|
@ -23,9 +37,13 @@ main( void )
|
||||||
{
|
{
|
||||||
FT_UInt gid = FT_Get_Char_Index( face, i );
|
FT_UInt gid = FT_Get_Char_Index( face, i );
|
||||||
FT_Error code = FT_Load_Glyph( face, gid, FT_LOAD_DEFAULT );
|
FT_Error code = FT_Load_Glyph( face, gid, FT_LOAD_DEFAULT );
|
||||||
|
|
||||||
|
|
||||||
if ( code )
|
if ( code )
|
||||||
printf( "unknown %d for char %lu, gid %u\n", code, i, gid );
|
printf( "unknown %d for char %lu, gid %u\n", code, i, gid );
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* EOF */
|
||||||
|
|
|
@ -3,5 +3,12 @@ test_issue_1063 = executable('issue-1063',
|
||||||
dependencies: freetype_dep,
|
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
|
||||||
|
|
Loading…
Reference in New Issue