[espeak-ng:master] reported: Procedure not clear on how to remove/disable a language #github


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #922 Procedure not clear on how to remove/disable a language
By jbowler:

Since you had to dummy out functions outside the three compile*.c files presumably something is now missing. Put an 'fprintf(stderr)' into the function dummies and run the full set of tests excluding ones that are compile specific (there may not be any such tests). Do this on a build with all the languages; just the compilation changes. It's probably easiest to start with "make -k check" and see what happens. Check the output for the dummy 'fprintf'.

The sequence after putting the fprintf's in is something like:

cd test directory; make all # this will fail at the first compile cd other-build; make -B cp -rp other-build/espeak-ng-data test-directory/ cd test-directory; make -k check

I'm looking at a way of making this easier; to allow no-compile builds to work with "make all". It's a requirement for making cross-builds work, but that might take a while even if my pull requests are accepted...

You could also publish the changes to a git archive somewhere or, since they are in a preliminary state, "gif diff origin/master" (or the equivalent, depending on how you made the clone) and add the result as an attachment to this request. Then people who know the code well can probably instantly say if there will be a problem.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #922 Procedure not clear on how to remove/disable a language
By jbowler:

"make check" currently fails because of this:

make: *** [Makefile:2842: tests/translate.check] Error 1

I verified that the problem is in the current "master" branch


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #922 Procedure not clear on how to remove/disable a language
By jaacoppi:

The #824 test in tests/translate.test is known to produce different results depending on the compiler used. Same for tests/klatt.test. There's no fix yet.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #922 Procedure not clear on how to remove/disable a language
By jbowler:

I git bisected the problem to dca948f5f1decb51dd09bc6c3c142dfbcef375d6, that change is the "simple" movement of a single file in the tree; the prior build passes "make check" and the build with the file move fails. This is with an identical compiler (obviously). Reverting the change higher up the tree doesn't fix the problem so it isn't simply the change (corrrection) in the Belta lang file location.

I'm still working on narrowing down where the problem comes from. Conceivably, given the language additions require code changes, it might be a language addition. IRC moving the "lang" file to the right place will have turned the language "on".


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #922 Procedure not clear on how to remove/disable a language
By jbowler:

Hum... Ok, it was the following commit - "add test for #824" - the problem is that this causes "make check" to fail which makes it impossible to create pull requests for any significant source code change, or, indeed, check beyond 'translate.test'...


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #922 Procedure not clear on how to remove/disable a language
By jaacoppi:

Indeed. The question is why does the test fail on some compilers and pass on others. Removing the test is not an option since it's needed to prevent #824.


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Comment on Issue #922 Procedure not clear on how to remove/disable a language
By jbowler:

Yes but it prevents all the other tests running; for example by marking the #824 test "broken" I get to see a whole run of errors in tests/ssml.test (which I haven't tracked down yet). I could supply a patch to add MESSAGE "soft" to test_phon and if espeak-ng does not crash the test succeeds even if the output is 'wrong'.

Anyway, the error is really weird - somehow the incorrect version is adding a # character in certain very particular places:

ka v'os; --> ka# v'os; ka vOs; --> ka# vOs; ka t@-r; --> ka# t@-r; ka S,E#s; --> ka# S,E#s;t; 'ista d; --> 'ista# d; E2sta d; --> E2sta# d; ka n'ojldv'A! tR; --> ka# n'ojldv'A! tR; 'ista d; --> 'ista# d;

I.e. somehow the "broken compiler" case is outputing "a " as "a# " - there are not instances of "a# " in the correct output. I'll file a bug with a patch to sed the output of this one test.