Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add basic tests, and fix some DAISY2 handling #7

Merged
merged 4 commits into from
Sep 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,5 @@ Makefile
/src/madplay/#
/src/madplay/am--include-marker
/src/daisy-player
/tests/*.log
/tests/*.trs
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
AUTOMAKE_OPTIONS = foreign

SUBDIRS = man doc po src
SUBDIRS = man doc po src tests

docdir = $(datadir)/doc/@PACKAGE@

Expand Down
3 changes: 2 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ AC_CONFIG_FILES([Makefile
po/Makefile.in
src/Makefile
src/madplay/Makefile
src/pactl/Makefile])
src/pactl/Makefile
tests/Makefile])

dnl System type.

Expand Down
20 changes: 19 additions & 1 deletion src/daisy-player.c
Original file line number Diff line number Diff line change
Expand Up @@ -2075,6 +2075,7 @@ sig = sig;
int main (int argc, char *argv[])
{
int opt;
int test_mode = 0;
char str[MAX_STR], DISCINFO_HTML[MAX_STR];
char *c_opt, cddb_opt;
misc_t misc;
Expand Down Expand Up @@ -2141,7 +2142,7 @@ int main (int argc, char *argv[])
c_opt = NULL;
cddb_opt = 0;
misc.option_d = NULL;
while ((opt = getopt (argc, argv, "c:d:hijnvyONT")) != -1)
while ((opt = getopt (argc, argv, "c:d:hijnvyONTD")) != -1)
{
switch (opt)
{
Expand Down Expand Up @@ -2216,6 +2217,9 @@ int main (int argc, char *argv[])
misc.use_OPF = 1;
misc.use_NCX = 0;
break;
case 'D':
test_mode = 1;
break;
default:
beep ();
remove_tmp_dir (&misc);
Expand Down Expand Up @@ -2623,6 +2627,20 @@ int main (int argc, char *argv[])
} // if
} // if

/* TEST only: prints out the "spine" of the document. Used by the tests to
* verify that the parsing keeps working */
if (test_mode)
{
printf("\n\r\nSPINE (%d):\n", misc.total_items);
for (int i = 0; i < misc.total_items; i++)
{
printf("% 4d: %s#%s\n", i + 1, daisy[i].smil_file, daisy[i].smil_anchor);
fflush(stdout);
}
remove_tmp_dir (&misc);
return 0;
}

misc.level = 1;
snprintf (misc.tmp_wav, MAX_STR, "%s/daisy-player.wav", misc.tmp_dir);
if ((misc.tmp_wav_fd = mkstemp (misc.tmp_wav)) == 01)
Expand Down
24 changes: 0 additions & 24 deletions src/daisy2.02.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,30 +216,6 @@ void parse_smil_2 (misc_t *misc, my_attribute_t *my_attribute, daisy_t *daisy)
daisy[misc->current + 1].smil_anchor) == 0)
break;
} // if (strcasecmp (misc->tag, "audio") == 0)
if (strcasecmp (misc->tag, "text") == 0)
{
free (daisy[misc->current].smil_anchor);
daisy[misc->current].smil_anchor = strdup ("");
if (strchr (my_attribute->src, '#'))
{
free (daisy[misc->current].smil_anchor);
daisy[misc->current].smil_anchor =
strdup (strchr (my_attribute->src, '#') + 1);
*strchr (my_attribute->src, '#') = 0;
} // if
daisy[misc->current].smil_file = realloc
(daisy[misc->current].smil_file,
strlen (misc->daisy_mp) + strlen (my_attribute->src) + 5);
get_realpath_name (misc->daisy_mp, convert_URL_name (misc,
my_attribute->src), daisy[misc->current].smil_file);
if (misc->current + 1 < misc->total_items &&
*daisy[misc->current + 1].smil_anchor &&
strcasecmp (my_attribute->id,
daisy[misc->current + 1].smil_anchor) == 0)
{
break;
} // if
} // if
} // while
xmlTextReaderClose (parse);
xmlFreeDoc (doc);
Expand Down
14 changes: 14 additions & 0 deletions tests/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

dist_check_SCRIPTS = run1.sh

TEST_EXTENSIONS = .expected
EXPECTED_LOG_COMPILER = sh -x $(srcdir)/run1.sh
AM_EXPECTED_LOG_FLAGS = $(top_builddir)/src/daisy-player$(EXEEXT)
AM_TESTS_ENVIRONMENT = abs_srcdir=$(abs_srcdir)

TESTS = \
Pierre_Rabhi_Vers_la_sobriete_heureuse.expected \
Six_points_de_lumiere.expected \
Y9621.expected \
S07241.expected \
$(null)
67 changes: 67 additions & 0 deletions tests/Pierre_Rabhi_Vers_la_sobriete_heureuse.expected
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
(C)2003-2021 J. Lemmens
Daisy-player - Version 13.0
A parser to play Daisy CD's with Linux
Scanning for a Daisy CD...

SPINE (61):
1: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0002.smil#tcp70
2: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0003.smil#tcp78
3: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0004.smil#tcp83
4: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0005.smil#tcp96
5: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0006.smil#tcp97
6: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0007.smil#tcp144
7: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0008.smil#tcp175
8: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0009.smil#tcp191
9: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0010.smil#tcp224
10: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0011.smil#tcp242
11: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0012.smil#tcp270
12: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0013.smil#tcp301
13: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0014.smil#tcp308
14: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0015.smil#tcp394
15: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0016.smil#tcp454
16: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0017.smil#tcp539
17: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0018.smil#tcp547
18: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0019.smil#tcp615
19: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0020.smil#tcp658
20: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0021.smil#tcp671
21: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0022.smil#tcp695
22: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0023.smil#tcp742
23: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0024.smil#tcp765
24: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0025.smil#tcp795
25: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0026.smil#tcp796
26: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0027.smil#tcp880
27: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0028.smil#tcp932
28: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0029.smil#tcp941
29: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0030.smil#tcp963
30: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0031.smil#tcp999
31: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0032.smil#tcp1030
32: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0033.smil#tcp1078
33: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0034.smil#tcp1140
34: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0035.smil#tcp1153
35: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0036.smil#tcp1156
36: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0037.smil#tcp1157
37: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0038.smil#tcp1161
38: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0039.smil#tcp1165
39: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0040.smil#tcp1168
40: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0041.smil#tcp1175
41: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0042.smil#tcp1176
42: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0043.smil#tcp1181
43: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0044.smil#tcp1185
44: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0045.smil#tcp1188
45: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0046.smil#tcp1192
46: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0047.smil#tcp1195
47: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0048.smil#tcp1199
48: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0049.smil#tcp1203
49: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0050.smil#tcp1213
50: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0051.smil#tcp1228
51: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0052.smil#tcp1242
52: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0053.smil#tcp1245
53: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0054.smil#tcp1248
54: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0055.smil#tcp1255
55: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0056.smil#tcp1272
56: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0057.smil#tcp1286
57: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0058.smil#tcp1302
58: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0059.smil#tcp1322
59: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0060.smil#tcp1338
60: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0061.smil#tcp1348
61: Pierre_Rabhi_Vers_la_sobriete_heureuse/speechgen0062.smil#tcp1358
Loading
Loading