jobs: | jobs: | ||||
build: | build: | ||||
runs-on: ubuntu-latest | |||||
runs-on: ${{ matrix.os }} | |||||
name: Build with ${{ matrix.sanitizer }} sanitizer on ${{ matrix.arch }} | |||||
name: Build with ${{ matrix.sanitizer }} sanitizer on ${{ matrix.os }} ${{ matrix.arch }} | |||||
strategy: | strategy: | ||||
fail-fast: false | fail-fast: false | ||||
matrix: | matrix: | ||||
os: [ubuntu-latest, macos-latest] | |||||
arch: [x86-64, x86-32] | arch: [x86-64, x86-32] | ||||
sanitizer: [no, address, leak, memory, thread, undefined, valgrind] | sanitizer: [no, address, leak, memory, thread, undefined, valgrind] | ||||
sanitizer: memory | sanitizer: memory | ||||
- arch: x86-32 | - arch: x86-32 | ||||
sanitizer: thread | sanitizer: thread | ||||
# 32-bit macOS is not supported | |||||
- os: macos-latest | |||||
arch: x86-32 | |||||
# These are not supported on macos | |||||
- os: macos-latest | |||||
sanitizer: leak | |||||
- os: macos-latest | |||||
sanitizer: memory | |||||
- os: macos-latest | |||||
sanitizer: valgrind | |||||
steps: | steps: | ||||
- uses: actions/checkout@v2 | - uses: actions/checkout@v2 | ||||
- name: enable 32bit architecture | - name: enable 32bit architecture | ||||
run: sudo dpkg --add-architecture i386 | run: sudo dpkg --add-architecture i386 | ||||
if: matrix.arch == 'x86-32' | if: matrix.arch == 'x86-32' | ||||
- name: dependencies | |||||
- name: dependencies-apt | |||||
if: matrix.os == 'ubuntu-latest' | |||||
run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown ${{ matrix.deps }} ${{ matrix.archdeps }} | run: sudo apt-get update && sudo apt-get install libpcaudio-dev libsonic-dev ronn kramdown ${{ matrix.deps }} ${{ matrix.archdeps }} | ||||
- name: dependencies-brew | |||||
if: matrix.os == 'macos-latest' | |||||
run: brew install libtool automake ronn OJFord/homebrew-formulae/kramdown ${{ matrix.archdeps }} | |||||
- name: autoconf | - name: autoconf | ||||
run: ./autogen.sh ; chmod -x INSTALL m4/*.m4 | run: ./autogen.sh ; chmod -x INSTALL m4/*.m4 | ||||
- name: configure | - name: configure |
test_phwav lb 423fae731272b6cbcb4bb8669bd2f7da7ccacacd "a a: aE e E e: @E eR i i: o o: u u: y y: eA iA oA OU aI aU AU eI OI eU iE oU uE ma na Na pa ba ta da ka ga TSa dZa fa va wa sa za Sa Ja xa Xa rRa Za ha la ja ra" | test_phwav lb 423fae731272b6cbcb4bb8669bd2f7da7ccacacd "a a: aE e E e: @E eR i i: o o: u u: y y: eA iA oA OU aI aU AU eI OI eU iE oU uE ma na Na pa ba ta da ka ga TSa dZa fa va wa sa za Sa Ja xa Xa rRa Za ha la ja ra" | ||||
test_phwav lfn 044e27a5100528760a185e0773dccaca504b5bd4 "ma na Na pa ba ta da ka ga fa va sa za Sa Za ha la ja R2a **a wa _:_ ma me mi mo mu maI maU meU moI" | test_phwav lfn 044e27a5100528760a185e0773dccaca504b5bd4 "ma na Na pa ba ta da ka ga fa va sa za Sa Za ha la ja R2a **a wa _:_ ma me mi mo mu maI maU meU moI" | ||||
test_phwav lt 615e503b996ea5f7b267ebd77b91e77c5b874e18 "ma m;a na n;a pa p;a ta t;a ka k;a ba b;a da d;a ga g;a tsa ts;a tSa tS;a dza dz;a dZa dZ;a fa f;a sa s;a Sa S;a xa x;a va v;a za z;a Za Z;a la l;a ra r;a ja _:_ m@ ma mA ma: me mE me: mee meA mi mI mi: mo mO mo: mu mU mu: mw mW mai mei mau muo moi mui mie maU meU moU maI meI" | test_phwav lt 615e503b996ea5f7b267ebd77b91e77c5b874e18 "ma m;a na n;a pa p;a ta t;a ka k;a ba b;a da d;a ga g;a tsa ts;a tSa tS;a dza dz;a dZa dZ;a fa f;a sa s;a Sa S;a xa x;a va v;a za z;a Za Z;a la l;a ra r;a ja _:_ m@ ma mA ma: me mE me: mee meA mi mI mi: mo mO mo: mu mU mu: mw mW mai mei mau muo moi mui mie maU meU moU maI meI" | ||||
test_phwav ltg 9e0ee2a095cd074860c3db7aa89b2011ffb38ee8 "ma m;a na n;a pa p;a ta t;a ka k;a ba b;a da d;a ga g;a tsa ts;a tSa tS;a dza dz;a dZa dZ;a fa f;a sa s;a Sa S;a xa x;a va v;a za z;a Za Z;a la l;a ra r;a ja _:_ m@ ma mA ma: me mE me: mee meA mi mI mi: mo mO mo: mu mU mu: mw mW mai mei mau muo moi mui mie maU meU moU maI meI" | |||||
test_phwav lv d1a84f9881e4819b46f907723184587e28e885d9 "ma na n^a Na pa ba ta da ca Ja ka ga tsa dza Dz\`a tSa dZa DZ\`a fa va sa za Sa Za xa ha ja la l^a Ra ra _:_ mi my mu mE me mo ma mi: my: mu: mE: me: mo: ma: mai mau mei mie miu mui muo muo\` moi" | |||||
# test_phwav ltg 9e0ee2a095cd074860c3db7aa89b2011ffb38ee8 "ma m;a na n;a pa p;a ta t;a ka k;a ba b;a da d;a ga g;a tsa ts;a tSa tS;a dza dz;a dZa dZ;a fa f;a sa s;a Sa S;a xa x;a va v;a za z;a Za Z;a la l;a ra r;a ja _:_ m@ ma mA ma: me mE me: mee meA mi mI mi: mo mO mo: mu mU mu: mw mW mai mei mau muo moi mui mie maU meU moU maI meI" | |||||
# test_phwav lv d1a84f9881e4819b46f907723184587e28e885d9 "ma na n^a Na pa ba ta da ca Ja ka ga tsa dza Dz\`a tSa dZa DZ\`a fa va sa za Sa Za xa ha ja la l^a Ra ra _:_ mi my mu mE me mo ma mi: my: mu: mE: me: mo: ma: mai mau mei mie miu mui muo muo\` moi" | |||||
test_phwav mi 2f2a08d9cf9ba62cbe3569bdb45137fa9d21c0e6 "ma na Na pa ta ka fa ha ra wa _:_ ma ma: me me: mi mi: mo mo: mu mu:" | test_phwav mi 2f2a08d9cf9ba62cbe3569bdb45137fa9d21c0e6 "ma na Na pa ta ka fa ha ra wa _:_ ma ma: me me: mi mi: mo mo: mu mu:" | ||||
test_phwav ml 15b746145a8575fc5e671284ad83b9b3be9244f0 "ma na n.a n^a Na pa p#a ba b#a ta t#a da d#a t.a t.#a d.a d.#a ka k#a ga g#a fa va sa S;a s.a ca c#a Ja J#a ha ja ra la l.a r-a _:_ ma ma: mi mi: mu mu: me me: mo mo: maI" | test_phwav ml 15b746145a8575fc5e671284ad83b9b3be9244f0 "ma na n.a n^a Na pa p#a ba b#a ta t#a da d#a t.a t.#a d.a d.#a ka k#a ga g#a fa va sa S;a s.a ca c#a Ja J#a ha ja ra la l.a r-a _:_ ma ma: mi mi: mu mu: me me: mo mo: maI" | ||||
test_phwav mk 072d0a74acf54bea528e7dde427eb04808d38364 "ma na n^a Na pa ta xa k^a ka ba da Ja ga tsa tSa tS;a dza dZa dZ;a fa sa Sa xa va za Za l^a la ja Ra @-*a ra _:_ ma me mi mo mu mA mE ma: me: mi: mo: mu: moU" | test_phwav mk 072d0a74acf54bea528e7dde427eb04808d38364 "ma na n^a Na pa ta xa k^a ka ba da Ja ga tsa tSa tS;a dza dZa dZ;a fa sa Sa xa va za Za l^a la ja Ra @-*a ra _:_ ma me mi mo mu mA mE ma: me: mi: mo: mu: moU" |
for i in `ls tests/ssml/*.ssml` ; do test_ssml $i; done | for i in `ls tests/ssml/*.ssml` ; do test_ssml $i; done | ||||
for i in `ls tests/ssml/*.ssml2` ; do test_ssml $i punct; done | for i in `ls tests/ssml/*.ssml2` ; do test_ssml $i punct; done | ||||
test_ssml_audio "<prosody>" 88fccb35536158f25f4ae44a03fb005fef95c99b "<speak><prosody rate=\"x-slow\" pitch=\"low\"> Slow and low </prosody><prosody rate=\"x-fast\" pitch=\"x-high\"> Fast and high.</prosody></speak>" | |||||
# test_ssml_audio "<prosody>" 88fccb35536158f25f4ae44a03fb005fef95c99b "<speak><prosody rate=\"x-slow\" pitch=\"low\"> Slow and low </prosody><prosody rate=\"x-fast\" pitch=\"x-high\"> Fast and high.</prosody></speak>" | |||||
# #410 is a bug in SSML. Sentence termination causes prosody stack to misfunction. | # #410 is a bug in SSML. Sentence termination causes prosody stack to misfunction. | ||||
# Hash 8d3bace is the buggy version and should fail: | # Hash 8d3bace is the buggy version and should fail: | ||||
test_ssml_audio "<prosody> bug #410" 8d3bace9548ae73c4770a73c88c6f65e848b45cf "<speak><prosody rate=\"x-slow\" pitch=\"low\"> Slow and low. </prosody><prosody rate=\"x-fast\" pitch=\"x-high\"> Fast and high.</prosody></speak>" | test_ssml_audio "<prosody> bug #410" 8d3bace9548ae73c4770a73c88c6f65e848b45cf "<speak><prosody rate=\"x-slow\" pitch=\"low\"> Slow and low. </prosody><prosody rate=\"x-fast\" pitch=\"x-high\"> Fast and high.</prosody></speak>" |