Skip to content

Commit 40c71bf

Browse files
stweilzdenop
authored andcommitted
Update unittest for new script data location and fix out-of-tree build (#1386)
tessdata_best and tessdata_fast recently changed the path for script data, so the tests have to be updated, too. In addition, the relative paths did not work with out-of-tree builds. Use absolute paths and add them as C macros to the compiler flags. Signed-off-by: Stefan Weil <sw@weilnetz.de>
1 parent 49dd464 commit 40c71bf

File tree

3 files changed

+39
-19
lines changed

3 files changed

+39
-19
lines changed

unittest/Makefile.am

+10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
AUTOMAKE_OPTIONS = subdir-objects
22

3+
# Absolute path of directory 'tessdata' with traineddata files
4+
# (must be on same level as top source directory).
5+
TESSDATA_DIR=$(shell cd $(top_srcdir) && cd .. && pwd)/tessdata
6+
7+
# Absolute path of directory 'testing' with test images and ground truth texts
8+
# (must be directly below top source directory).
9+
TESTING_DIR=$(shell cd $(top_srcdir) && pwd)/testing
10+
11+
AM_CPPFLAGS += -DTESSDATA_DIR="\"$(TESSDATA_DIR)\""
12+
AM_CPPFLAGS += -DTESTING_DIR="\"$(TESTING_DIR)\""
313
AM_CPPFLAGS += -DPANGO_ENABLE_ENGINE
414
AM_CPPFLAGS += -I$(top_srcdir)/api
515
AM_CPPFLAGS += -I$(top_srcdir)/arch

unittest/apiexample_test.cc

+7-3
Original file line numberDiff line numberDiff line change
@@ -65,17 +65,21 @@ class QuickTest : public testing::Test {
6565
};
6666

6767
TEST_P(MatchGroundTruth, FastPhototestOCR) {
68-
OCRTester("../testing/phototest.tif" ,"../testing/phototest.txt" , "../../tessdata_fast", GetParam());
68+
OCRTester(TESTING_DIR "/phototest.tif",
69+
TESTING_DIR "/phototest.txt",
70+
TESSDATA_DIR "_fast", GetParam());
6971
}
7072

7173
INSTANTIATE_TEST_CASE_P( EngLatinDevaArabLang, MatchGroundTruth,
72-
::testing::Values("eng", "Latin", "Devanagari", "Arabic") );
74+
::testing::Values("eng", "script/Latin", "script/Devanagari", "script/Arabic") );
7375

7476
class EuroText : public QuickTest {
7577
};
7678

7779
TEST_F(EuroText, FastOCR) {
78-
OCRTester("../testing/eurotext.tif" ,"../testing/eurotext.txt" , "../../tessdata_fast", "Latin");
80+
OCRTester(TESTING_DIR "/eurotext.tif",
81+
TESTING_DIR "/eurotext.txt",
82+
TESSDATA_DIR "_fast", "script/Latin");
7983
}
8084

8185
} // namespace

unittest/osd_test.cc

+22-16
Original file line numberDiff line numberDiff line change
@@ -62,49 +62,55 @@ class TestClass : public testing::Test {
6262
INSTANTIATE_TEST_CASE_P( TessdataEngEuroHebrew, OSDTest,
6363
::testing::Combine(
6464
::testing::Values(0),
65-
::testing::Values("../testing/phototest.tif" , "../testing/eurotext.tif" , "../testing/hebrew.png"),
66-
::testing::Values("../../tessdata")));
65+
::testing::Values(TESTING_DIR "/phototest.tif",
66+
TESTING_DIR "/eurotext.tif",
67+
TESTING_DIR "/hebrew.png"),
68+
::testing::Values(TESSDATA_DIR)));
6769

6870
INSTANTIATE_TEST_CASE_P( TessdataBestEngEuroHebrew, OSDTest,
6971
::testing::Combine(
7072
::testing::Values(0),
71-
::testing::Values("../testing/phototest.tif" , "../testing/eurotext.tif" , "../testing/hebrew.png"),
72-
::testing::Values("../../tessdata_best")));
73+
::testing::Values(TESTING_DIR "/phototest.tif",
74+
TESTING_DIR "/eurotext.tif",
75+
TESTING_DIR "/hebrew.png"),
76+
::testing::Values(TESSDATA_DIR "_best")));
7377

7478
INSTANTIATE_TEST_CASE_P( TessdataFastEngEuroHebrew, OSDTest,
7579
::testing::Combine(
7680
::testing::Values(0),
77-
::testing::Values("../testing/phototest.tif" , "../testing/eurotext.tif" , "../testing/hebrew.png"),
78-
::testing::Values("../../tessdata_fast")));
81+
::testing::Values(TESTING_DIR "/phototest.tif",
82+
TESTING_DIR "/eurotext.tif",
83+
TESTING_DIR "/hebrew.png"),
84+
::testing::Values(TESSDATA_DIR "_fast")));
7985

8086
INSTANTIATE_TEST_CASE_P( TessdataFastRotated90, OSDTest,
8187
::testing::Combine(
8288
::testing::Values(90),
83-
::testing::Values("../testing/phototest-rotated-R.png"),
84-
::testing::Values("../../tessdata_fast")));
89+
::testing::Values(TESTING_DIR "/phototest-rotated-R.png"),
90+
::testing::Values(TESSDATA_DIR "_fast")));
8591

8692
INSTANTIATE_TEST_CASE_P( TessdataFastRotated180, OSDTest,
8793
::testing::Combine(
8894
::testing::Values(180),
89-
::testing::Values("../testing/phototest-rotated-180.png"),
90-
::testing::Values("../../tessdata_fast")));
95+
::testing::Values(TESTING_DIR "/phototest-rotated-180.png"),
96+
::testing::Values(TESSDATA_DIR "_fast")));
9197

9298
INSTANTIATE_TEST_CASE_P( TessdataFastRotated270, OSDTest,
9399
::testing::Combine(
94100
::testing::Values(270),
95-
::testing::Values("../testing/phototest-rotated-L.png"),
96-
::testing::Values("../../tessdata_fast")));
101+
::testing::Values(TESTING_DIR "/phototest-rotated-L.png"),
102+
::testing::Values(TESSDATA_DIR "_fast")));
97103

98104
INSTANTIATE_TEST_CASE_P( TessdataFastDevaRotated270, OSDTest,
99105
::testing::Combine(
100106
::testing::Values(270),
101-
::testing::Values("../testing/devatest-rotated-270.png"),
102-
::testing::Values("../../tessdata_fast")));
107+
::testing::Values(TESTING_DIR "/devatest-rotated-270.png"),
108+
::testing::Values(TESSDATA_DIR "_fast")));
103109

104110
INSTANTIATE_TEST_CASE_P( TessdataFastDeva, OSDTest,
105111
::testing::Combine(
106112
::testing::Values(0),
107-
::testing::Values("../testing/devatest.png"),
108-
::testing::Values("../../tessdata_fast")));
113+
::testing::Values(TESTING_DIR "/devatest.png"),
114+
::testing::Values(TESSDATA_DIR "_fast")));
109115

110116
} // namespace

0 commit comments

Comments
 (0)