YannickJadoul / Parselmouth

Praat in Python, the Pythonic way
https://parselmouth.readthedocs.io/
GNU General Public License v3.0
1.06k stars 116 forks source link

vision for Linux arm #99

Open Zeka-Fak opened 1 year ago

Zeka-Fak commented 1 year ago

Sorry,I can’t install Paeselmouth on a linux platform with arm. Have you got a vision for this.

YannickJadoul commented 1 year ago

Hi, @Lylain! Good question. I haven't really looked into that before. I have only built Parselmouth a couple of times manually on my raspberry pi (which should also be ARM).

A few questions for you:

The good news is that I'm hoping to release a new version of Parselmouth within the next month or two. I had been checking which platforms to support, and found that aarch64 was very slow to build (cause it needs to be emulated), and that's why I had decided not to bother with ARM and making sure tests run, etc until someone asked. So I guess I'll pick that up again, and see how easy it would be to provide wheels :-)

YannickJadoul commented 1 year ago

I built Parselmouth in a manylinux_aarch64 docker image and ran all tests. Only 5 seem to be actually failing:

pytest output ``` =========================================================================================== test session starts ============================================================================================ platform linux -- Python 3.10.12, pytest-7.4.0, pluggy-1.2.0 -- /opt/python/cp310-cp310/bin/python cachedir: .pytest_cache rootdir: /parselmouth configfile: pytest.ini plugins: lazy-fixture-0.6.3 collected 249 items test_data.py::test_read PASSED [ 0%] test_data.py::test_read_nonexistent PASSED [ 0%] test_docstrings.py::test_docstring_formatting PASSED [ 1%] test_docstrings.py::test_docstring_line_lengths PASSED [ 1%] test_exceptions.py::test_warning PASSED [ 2%] test_exceptions.py::test_warning_as_error PASSED [ 2%] test_exceptions.py::test_warnings_default PASSED [ 2%] test_longsound.py::test_open SKIPPED (unconditional skip) [ 3%] test_longsound.py::test_open_nonexistent SKIPPED (unconditional skip) [ 3%] test_matrix.py::test_raw_file PASSED [ 4%] test_output_redirection.py::test_stdout PASSED [ 4%] test_output_redirection.py::test_stderr PASSED [ 4%] test_output_redirection.py::test_melder_open_while_diverted PASSED [ 5%] test_praat.py::test_call_with_extra_objects PASSED [ 5%] test_praat.py::test_call_parameters PASSED [ 6%] test_praat.py::test_call_return_many PASSED [ 6%] test_praat.py::test_call_return_string PASSED [ 6%] test_praat.py::test_call_return_complex PASSED [ 7%] test_praat.py::test_call_return_vector PASSED [ 7%] test_praat.py::test_call_return_matrix PASSED [ 8%] test_praat.py::test_call_return_string_vector PASSED [ 8%] test_praat.py::test_run PASSED [ 8%] test_praat.py::test_run_with_parameters PASSED [ 9%] test_praat.py::test_run_with_extra_objects PASSED [ 9%] test_praat.py::test_run_sys_stdout PASSED [ 10%] test_praat.py::test_run_with_capture_output PASSED [ 10%] test_praat.py::test_run_with_return_variables PASSED [ 10%] test_praat.py::test_run_with_capture_output_and_return_variables PASSED [ 11%] test_praat.py::test_run_file_relative_paths PASSED [ 11%] test_praat.py::test_run_file_keep_cwd PASSED [ 12%] test_praat.py::test_run_return_input_object PASSED [ 12%] test_praat.py::test_remove_referenced_objects PASSED [ 12%] test_praat.py::test_call_no_objects PASSED [ 13%] test_praat.py::test_unknown_argument_type PASSED [ 13%] test_praat.py::test_praat_callback_prefixes PASSED [ 14%] test_praat.py::test_collection_object PASSED [ 14%] test_praat_tests.py::test_praat_test[LPC/Sound_to_LPC.praat] PASSED [ 14%] test_praat_tests.py::test_praat_test[dwsys/regex.praat] PASSED [ 15%] test_praat_tests.py::test_praat_test[dwtools/CPPS.praat] PASSED [ 15%] test_praat_tests.py::test_praat_test[dwtools/Discriminant.praat] PASSED [ 16%] test_praat_tests.py::test_praat_test[dwtools/Discriminant2.praat] PASSED [ 16%] test_praat_tests.py::test_praat_test[dwtools/Discriminant3.praat] PASSED [ 16%] test_praat_tests.py::test_praat_test[dwtools/EditCostsTable.praat] PASSED [ 17%] test_praat_tests.py::test_praat_test[dwtools/KlattSlope.praat] PASSED [ 17%] test_praat_tests.py::test_praat_test[dwtools/KlattTable.praat] PASSED [ 18%] test_praat_tests.py::test_praat_test[fon/Formant.praat] PASSED [ 18%] test_praat_tests.py::test_praat_test[fon/FormantGrid.praat] PASSED [ 18%] test_praat_tests.py::test_praat_test[fon/Harmonicity.praat] PASSED [ 19%] test_praat_tests.py::test_praat_test[fon/LongSound.praat] PASSED [ 19%] test_praat_tests.py::test_praat_test[fon/PitchTier.praat] PASSED [ 20%] test_praat_tests.py::test_praat_test[fon/PointProcess.praat] PASSED [ 20%] test_praat_tests.py::test_praat_test[fon/RealTier.praat] PASSED [ 20%] test_praat_tests.py::test_praat_test[fon/Sound_concatenate.praat] PASSED [ 21%] test_praat_tests.py::test_praat_test[fon/Sound_to_Formant.praat] PASSED [ 21%] test_praat_tests.py::test_praat_test[fon/Sound_to_LPC.praat] PASSED [ 22%] test_praat_tests.py::test_praat_test[fon/Spectrum.praat] PASSED [ 22%] test_praat_tests.py::test_praat_test[fon/Spectrum_draw.praat] PASSED [ 22%] test_praat_tests.py::test_praat_test[fon/TextGrid.praat] PASSED [ 23%] test_praat_tests.py::test_praat_test[fon/TextGrid_Sound_extractIntervals.praat] PASSED [ 23%] test_praat_tests.py::test_praat_test[fon/TextGrid_wordBoundaries.praat] PASSED [ 24%] test_praat_tests.py::test_praat_test[fon/data.praat] PASSED [ 24%] test_praat_tests.py::test_praat_test[fon/endian.praat] PASSED [ 24%] test_praat_tests.py::test_praat_test[fon/fftSpeed.praat] PASSED [ 25%] test_praat_tests.py::test_praat_test[fon/fourier.praat] PASSED [ 25%] test_praat_tests.py::test_praat_test[fon/manual_Script.cpp.praat] PASSED [ 26%] test_praat_tests.py::test_praat_test[fon/pitch.praat] PASSED [ 26%] test_praat_tests.py::test_praat_test[fon/resample11_8.praat] PASSED [ 26%] test_praat_tests.py::test_praat_test[fon/resample16_8.praat] PASSED [ 27%] test_praat_tests.py::test_praat_test[fon/resample22_8.praat] PASSED [ 27%] test_praat_tests.py::test_praat_test[fon/resample24_8.praat] PASSED [ 28%] test_praat_tests.py::test_praat_test[fon/resample32_8.praat] PASSED [ 28%] test_praat_tests.py::test_praat_test[fon/resample44_8.praat] PASSED [ 28%] test_praat_tests.py::test_praat_test[fon/resample48_8.praat] PASSED [ 29%] test_praat_tests.py::test_praat_test[fon/resample96_8.praat] PASSED [ 29%] test_praat_tests.py::test_praat_test[fon/soundFiles.praat] PASSED [ 30%] test_praat_tests.py::test_praat_test[fon/stereoFormula.praat] PASSED [ 30%] test_praat_tests.py::test_praat_test[fon/texio.praat] PASSED [ 30%] test_praat_tests.py::test_praat_test[fon/textioSpeed.praat] PASSED [ 31%] test_praat_tests.py::test_praat_test[gram/DBN.praat] PASSED [ 31%] test_praat_tests.py::test_praat_test[gram/OTGrammar.praat] PASSED [ 32%] test_praat_tests.py::test_praat_test[kar/MacRoman.praat] PASSED [ 32%] test_praat_tests.py::test_praat_test[kar/cjk.praat] PASSED [ 32%] test_praat_tests.py::test_praat_test[kar/unicode.praat] PASSED [ 33%] test_praat_tests.py::test_praat_test[kar/unicode16.praat] PASSED [ 33%] test_praat_tests.py::test_praat_test[melder/VEC.cpp.praat] PASSED [ 34%] test_praat_tests.py::test_praat_test[melder/melder_ftoa.cpp.praat] PASSED [ 34%] test_praat_tests.py::test_praat_test[num/alloc.praat] PASSED [ 34%] test_praat_tests.py::test_praat_test[num/assign.praat] PASSED [ 35%] test_praat_tests.py::test_praat_test[num/binomialQ.praat] PASSED [ 35%] test_praat_tests.py::test_praat_test[num/fisherQ.praat] FAILED [ 36%] test_praat_tests.py::test_praat_test[num/gaussQ.praat] PASSED [ 36%] test_praat_tests.py::test_praat_test[num/inner.praat] PASSED [ 36%] test_praat_tests.py::test_praat_test[num/interpolation.praat] PASSED [ 37%] test_praat_tests.py::test_praat_test[num/mathFunctions.praat] PASSED [ 37%] test_praat_tests.py::test_praat_test[num/mean.praat] PASSED [ 38%] test_praat_tests.py::test_praat_test[num/min.praat] PASSED [ 38%] test_praat_tests.py::test_praat_test[num/mul.praat] PASSED [ 38%] test_praat_tests.py::test_praat_test[num/norm.praat] PASSED [ 39%] test_praat_tests.py::test_praat_test[num/plusgets.praat] PASSED [ 39%] test_praat_tests.py::test_praat_test[num/sort.praat] PASSED [ 40%] test_praat_tests.py::test_praat_test[num/stdev.praat] PASSED [ 40%] test_praat_tests.py::test_praat_test[num/sum.praat] PASSED [ 40%] test_praat_tests.py::test_praat_test[script/RBM.praat] PASSED [ 41%] test_praat_tests.py::test_praat_test[script/RBMparallel.praat] PASSED [ 41%] test_praat_tests.py::test_praat_test[script/arithmetic.praat] PASSED [ 42%] test_praat_tests.py::test_praat_test[script/commandReturns.praat] PASSED [ 42%] test_praat_tests.py::test_praat_test[script/extractNumber.praat] PASSED [ 42%] test_praat_tests.py::test_praat_test[script/form1.praat] PASSED [ 43%] test_praat_tests.py::test_praat_test[script/indexedVariables.praat] PASSED [ 43%] test_praat_tests.py::test_praat_test[script/numberAwareSorting.praat] PASSED [ 44%] test_praat_tests.py::test_praat_test[script/procedures.praat] PASSED [ 44%] test_praat_tests.py::test_praat_test[script/rectify.praat] PASSED [ 44%] test_praat_tests.py::test_praat_test[script/regex.praat] PASSED [ 45%] test_praat_tests.py::test_praat_test[script/rounding.praat] PASSED [ 45%] test_praat_tests.py::test_praat_test[script/script.praat] PASSED [ 46%] test_praat_tests.py::test_praat_test[script/softmax.praat] PASSED [ 46%] test_praat_tests.py::test_praat_test[script/strvec.praat] PASSED [ 46%] test_praat_tests.py::test_praat_test[script/tensor.praat] PASSED [ 47%] test_praat_tests.py::test_praat_test[script/text100MB.praat] PASSED [ 47%] test_praat_tests.py::test_praat_test[script/undefined.praat] PASSED [ 48%] test_praat_tests.py::test_praat_test[stat/PairDistribution.praat] PASSED [ 48%] test_praat_tests.py::test_praat_test[stat/Table.cpp.praat] PASSED [ 48%] test_praat_tests.py::test_praat_test[stat/Table.praat] PASSED [ 49%] test_praat_tests.py::test_praat_test[stat/TableOfReal.praat] PASSED [ 49%] test_praat_tests.py::test_praat_test[stat/Table_addColumn.praat] PASSED [ 50%] test_praat_tests.py::test_praat_test[stat/Table_removeColumn.praat] PASSED [ 50%] test_praat_tests.py::test_praat_test[stat/Table_rowsToColumns.praat] PASSED [ 51%] test_praat_tests.py::test_praat_test[stat/Table_undefined.praat] PASSED [ 51%] test_praat_tests.py::test_praat_test[stat/linearRegression.praat] PASSED [ 51%] test_praat_tests.py::test_praat_test[stat/logisticRegression.praat] PASSED [ 52%] test_praat_tests.py::test_praat_test[sys/Formula.cpp.praat] PASSED [ 52%] test_praat_tests.py::test_praat_test[sys/Interpreter.cpp.praat] PASSED [ 53%] test_praat_tests.py::test_praat_test[sys/bits.praat] PASSED [ 53%] test_praat_tests.py::test_praat_test[sys/colour.praat] PASSED [ 53%] test_praat_tests.py::test_praat_test[sys/graphics.praat] PASSED [ 54%] test_praat_tests.py::test_praat_test[sys/graphicsText.praat] PASSED [ 54%] test_praat_tests.py::test_praat_test[sys/graphicsTextSpeed.praat] PASSED [ 55%] test_praat_tests.py::test_praat_test[sys/localVariables.praat] PASSED [ 55%] test_praat_tests.py::test_praat_test[sys/localVariables2.praat] PASSED [ 55%] test_praat_tests.py::test_praat_test[sys/melder_ftoa.cpp.praat] PASSED [ 56%] test_praat_tests.py::test_praat_test[sys/object.praat] PASSED [ 56%] test_praat_tests.py::test_praat_test[sys/praat_statistics.cpp.praat] PASSED [ 57%] test_praat_tests.py::test_praat_test[sys/progress.praat] PASSED [ 57%] test_praat_tests.py::test_praat_dwtest[test_ActivationList.praat] PASSED [ 57%] test_praat_tests.py::test_praat_dwtest[test_Confusion.praat] PASSED [ 58%] test_praat_tests.py::test_praat_dwtest[test_Correlation.praat] PASSED [ 58%] test_praat_tests.py::test_praat_dwtest[test_Covariance.praat] PASSED [ 59%] test_praat_tests.py::test_praat_dwtest[test_CrossCorrelationTable.praat] PASSED [ 59%] test_praat_tests.py::test_praat_dwtest[test_DTW.praat] PASSED [ 59%] test_praat_tests.py::test_praat_dwtest[test_DataModeler.praat] PASSED [ 60%] test_praat_tests.py::test_praat_dwtest[test_Discriminant.praat] PASSED [ 60%] test_praat_tests.py::test_praat_dwtest[test_EditCostTable.praat] PASSED [ 61%] test_praat_tests.py::test_praat_dwtest[test_Eigen.praat] PASSED [ 61%] test_praat_tests.py::test_praat_dwtest[test_Electroglottogram.praat] PASSED [ 61%] test_praat_tests.py::test_praat_dwtest[test_FFNet.praat] PASSED [ 62%] test_praat_tests.py::test_praat_dwtest[test_FilterBank.praat] PASSED [ 62%] test_praat_tests.py::test_praat_dwtest[test_FormantPath.praat] PASSED [ 63%] test_praat_tests.py::test_praat_dwtest[test_Formant_slopes.praat] PASSED [ 63%] test_praat_tests.py::test_praat_dwtest[test_GaussianMixture.praat] PASSED [ 63%] test_praat_tests.py::test_praat_dwtest[test_HMM.praat] PASSED [ 64%] test_praat_tests.py::test_praat_dwtest[test_KlattGrid.praat] PASSED [ 64%] test_praat_tests.py::test_praat_dwtest[test_KruskalWallis.praat] PASSED [ 65%] test_praat_tests.py::test_praat_dwtest[test_LPC.praat] PASSED [ 65%] test_praat_tests.py::test_praat_dwtest[test_LineSpectralFrequencies.praat] PASSED [ 65%] test_praat_tests.py::test_praat_dwtest[test_Ltas_reportSpectralTilt.praat] PASSED [ 66%] test_praat_tests.py::test_praat_dwtest[test_MDS.praat] PASSED [ 66%] test_praat_tests.py::test_praat_dwtest[test_Matrix_solve.praat] PASSED [ 67%] test_praat_tests.py::test_praat_dwtest[test_MixingMatrix.praat] PASSED [ 67%] test_praat_tests.py::test_praat_dwtest[test_MultiSampledSpectropgram.praat] PASSED [ 67%] test_praat_tests.py::test_praat_dwtest[test_NMF.praat] PASSED [ 68%] test_praat_tests.py::test_praat_dwtest[test_OnewayAnova.praat] PASSED [ 68%] test_praat_tests.py::test_praat_dwtest[test_PCA.praat] PASSED [ 69%] test_praat_tests.py::test_praat_dwtest[test_PatternList.praat] PASSED [ 69%] test_praat_tests.py::test_praat_dwtest[test_Permutation.praat] PASSED [ 69%] test_praat_tests.py::test_praat_dwtest[test_Polygon_getLocationOfPoint.praat] PASSED [ 70%] test_praat_tests.py::test_praat_dwtest[test_Polygon_simplify.praat] PASSED [ 70%] test_praat_tests.py::test_praat_dwtest[test_Polynomial.praat] PASSED [ 71%] test_praat_tests.py::test_praat_dwtest[test_PowerCepstrum.praat] PASSED [ 71%] test_praat_tests.py::test_praat_dwtest[test_Procrustes.praat] PASSED [ 71%] test_praat_tests.py::test_praat_dwtest[test_SSCP.praat] PASSED [ 72%] test_praat_tests.py::test_praat_dwtest[test_SVD.praat] PASSED [ 72%] test_praat_tests.py::test_praat_dwtest[test_Sound_draw_where.praat] PASSED [ 73%] test_praat_tests.py::test_praat_dwtest[test_Sound_levelCrossings.praat] PASSED [ 73%] test_praat_tests.py::test_praat_dwtest[test_Sound_noiseReduction.praat] PASSED [ 73%] test_praat_tests.py::test_praat_dwtest[test_Sound_paint_where.praat] PASSED [ 74%] test_praat_tests.py::test_praat_dwtest[test_Sound_to_Spectrum_resampled.praat] PASSED [ 74%] test_praat_tests.py::test_praat_dwtest[test_Sound_voiceActivity.praat] PASSED [ 75%] test_praat_tests.py::test_praat_dwtest[test_SpeechSynthesizer.praat] PASSED [ 75%] test_praat_tests.py::test_praat_dwtest[test_SpeechSynthesizer_alignment.praat] PASSED [ 75%] test_praat_tests.py::test_praat_dwtest[test_String_extensions.praat] PASSED [ 76%] test_praat_tests.py::test_praat_dwtest[test_StringsIndex.praat] PASSED [ 76%] test_praat_tests.py::test_praat_dwtest[test_Strings_and_Permutation.praat] PASSED [ 77%] test_praat_tests.py::test_praat_dwtest[test_TableOfReal_and_Permutation.praat] PASSED [ 77%] test_praat_tests.py::test_praat_dwtest[test_TableOfReal_extensions.praat] PASSED [ 77%] test_praat_tests.py::test_praat_dwtest[test_Table_drawWhere.praat] PASSED [ 78%] test_praat_tests.py::test_praat_dwtest[test_Table_extractMahalanobisWhere.praat] PASSED [ 78%] test_praat_tests.py::test_praat_dwtest[test_Table_getMedianAbsoluteDeviation.praat] PASSED [ 79%] test_praat_tests.py::test_praat_dwtest[test_TextGridNavigator.praat] PASSED [ 79%] test_praat_tests.py::test_praat_dwtest[test_TextGrid_extensions.praat] PASSED [ 79%] test_praat_tests.py::test_praat_dwtest[test_angle_between_planes.praat] PASSED [ 80%] test_praat_tests.py::test_praat_dwtest[test_bss_twoSoundsMixed.praat] PASSED [ 80%] test_praat_tests.py::test_praat_dwtest[test_detectSilences.praat] PASSED [ 81%] test_praat_tests.py::test_praat_dwtest[test_gammatonefilter.praat] PASSED [ 81%] test_praat_tests.py::test_praat_dwtest[test_gsl.praat] PASSED [ 81%] test_praat_tests.py::test_praat_dwtest[test_henzeZirklerMultivariateNormalityTest.praat] PASSED [ 82%] test_praat_tests.py::test_praat_dwtest[test_randomFunctions.praat] PASSED [ 82%] test_praat_tests.py::test_praat_dwtest[test_readAudioFiles.praat] PASSED [ 83%] test_praat_tests.py::test_praat_dwtest[test_regex.praat] PASSED [ 83%] test_praat_tests.py::test_praat_dwtest[test_robustStatistics.praat] PASSED [ 83%] test_praat_tests.py::test_praat_dwtest[test_sigma_ellipse.praat] PASSED [ 84%] test_praat_tests.py::test_praat_dwtest[test_solves.praat] PASSED [ 84%] test_praat_tests.py::test_praat_dwtest[test_spectrogramTypes.praat] PASSED [ 85%] test_praat_tests.py::test_praat_dwtest[test_textGrid_and_DurationTier.praat] PASSED [ 85%] test_praat_tests.py::test_praat_dwtest[test_twowayAnova.praat] PASSED [ 85%] test_sampled.py::test_xs[intensity] FAILED [ 86%] test_sampled.py::test_xs[pitch] FAILED [ 86%] test_sampled.py::test_xs[spectrogram] FAILED [ 87%] test_sampled.py::test_xs[sound] FAILED [ 87%] test_sampled.py::test_len[intensity] PASSED [ 87%] test_sampled.py::test_len[pitch] PASSED [ 88%] test_sampled.py::test_len[spectrogram] PASSED [ 88%] test_sampled.py::test_len[sound] PASSED [ 89%] test_sound.py::test_from_numpy_array_mono[100] PASSED [ 89%] test_sound.py::test_from_numpy_array_mono[16000] PASSED [ 89%] test_sound.py::test_from_numpy_array_mono[44100] PASSED [ 90%] test_sound.py::test_from_numpy_array_stereo[100] PASSED [ 90%] test_sound.py::test_from_numpy_array_stereo[16000] PASSED [ 91%] test_sound.py::test_from_numpy_array_stereo[44100] PASSED [ 91%] test_sound.py::test_from_scalar[100] PASSED [ 91%] test_sound.py::test_from_scalar[16000] PASSED [ 92%] test_sound.py::test_from_scalar[44100] PASSED [ 92%] test_sound_conversions.py::test_sound_to_pitch PASSED [ 93%] test_textgrid.py::test_create PASSED [ 93%] test_textgrid.py::test_tgt[True] PASSED [ 93%] test_textgrid.py::test_tgt[False] PASSED [ 94%] test_textgrid.py::test_tgt_missing PASSED [ 94%] test_textgrid.py::test_tgt_exceptions PASSED [ 95%] test_thing.py::test_name[sampled-intensity] PASSED [ 95%] test_thing.py::test_name[sampled-pitch] PASSED [ 95%] test_thing.py::test_name[sampled-spectrogram] PASSED [ 96%] test_thing.py::test_name[sampled-sound] PASSED [ 96%] test_thing.py::test_no_name[sampled-intensity] PASSED [ 97%] test_thing.py::test_no_name[sampled-pitch] PASSED [ 97%] test_thing.py::test_no_name[sampled-spectrogram] PASSED [ 97%] test_thing.py::test_no_name[sampled-sound] PASSED [ 98%] test_thing.py::test_info[sampled-intensity] PASSED [ 98%] test_thing.py::test_info[sampled-pitch] PASSED [ 99%] test_thing.py::test_info[sampled-spectrogram] PASSED [ 99%] test_thing.py::test_info[sampled-sound] PASSED [100%] ================================================================================================= FAILURES ================================================================================================= ____________________________________________________________________________________ test_praat_test[num/fisherQ.praat] ____________________________________________________________________________________ test_file = '/parselmouth/praat/test/num/fisherQ.praat' @pytest.mark.parametrize('test_file', PRAAT_TEST_FILES) def test_praat_test(test_file): > assert parselmouth.praat.run_file(test_file) == [] E parselmouth.PraatError: Script assertion fails in line 16 (false): E fisherQ (a, 1, 100000) <> undefined ; 1 3.786820954867802 E Script not completed. test_praat_tests.py:74: PraatError ------------------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------------- fisherQ test: 5.932714539946133e-11 0.00000000005932714540 ____________________________________________________________________________________________ test_xs[intensity] ____________________________________________________________________________________________ sampled = def test_xs(sampled): assert np.all(sampled.xs() == sampled.x1 + sampled.dx * np.arange(sampled.nx)) > assert np.all(sampled.x_grid() == sampled.x1 + sampled.dx * (np.arange(sampled.nx + 1) - 0.5)) E AssertionError: assert False E + where False = (array([0.0296..., 1.25363265]) == array([0.0296..., 1.25363265]) E + where = np.all E Full diff: E array([0.02963265, 0.03763265, 0.04563265, 0.05363265, 0.06163265, E 0.06963265, 0.07763265, 0.08563265, 0.09363265, 0.10163265, E 0.10963265, 0.11763265, 0.12563265, 0.13363265, 0.14163265, E 0.14963265, 0.15763265, 0.16563265, 0.17363265, 0.18163265, E 0.18963265, 0.19763265, 0.20563265, 0.21363265, 0.22163265, E 0.22963265, 0.23763265, 0.24563265, 0.25363265, 0.26163265,... E E ...Full output truncated (26 lines hidden), use '-vv' to show) test_sampled.py:25: AssertionError ______________________________________________________________________________________________ test_xs[pitch] ______________________________________________________________________________________________ sampled = def test_xs(sampled): > assert np.all(sampled.xs() == sampled.x1 + sampled.dx * np.arange(sampled.nx)) E AssertionError: assert False E + where False = (array([0.0216..., 1.26163265]) == array([0.0216..., 1.26163265]) E + where = np.all E Full diff: E array([0.02163265, 0.03163265, 0.04163265, 0.05163265, 0.06163265, E 0.07163265, 0.08163265, 0.09163265, 0.10163265, 0.11163265, E 0.12163265, 0.13163265, 0.14163265, 0.15163265, 0.16163265, E 0.17163265, 0.18163265, 0.19163265, 0.20163265, 0.21163265, E 0.22163265, 0.23163265, 0.24163265, 0.25163265, 0.26163265, E 0.27163265, 0.28163265, 0.29163265, 0.30163265, 0.31163265,... E E ...Full output truncated (20 lines hidden), use '-vv' to show) test_sampled.py:24: AssertionError ___________________________________________________________________________________________ test_xs[spectrogram] ___________________________________________________________________________________________ sampled = def test_xs(sampled): > assert np.all(sampled.xs() == sampled.x1 + sampled.dx * np.arange(sampled.nx)) E AssertionError: assert False E + where False = (array([0.0056..., 1.27763265]) == array([0.0056..., 1.27763265]) E + where = np.all E Full diff: E array([0.00563265, 0.00763265, 0.00963265, 0.01163265, 0.01363265, E 0.01563265, 0.01763265, 0.01963265, 0.02163265, 0.02363265, E 0.02563265, 0.02763265, 0.02963265, 0.03163265, 0.03363265, E 0.03563265, 0.03763265, 0.03963265, 0.04163265, 0.04363265, E 0.04563265, 0.04763265, 0.04963265, 0.05163265, 0.05363265, E 0.05563265, 0.05763265, 0.05963265, 0.06163265, 0.06363265,... E E ...Full output truncated (123 lines hidden), use '-vv' to show) test_sampled.py:24: AssertionError ______________________________________________________________________________________________ test_xs[sound] ______________________________________________________________________________________________ sampled = def test_xs(sampled): > assert np.all(sampled.xs() == sampled.x1 + sampled.dx * np.arange(sampled.nx)) E assert False E + where False = (array([1.1337...28325397e+00]) == array([1.1337...28325397e+00]) E + where = np.all E Full diff: E array([1.13378685e-05, 3.40136054e-05, 5.66893424e-05, ..., E 1.28320862e+00, 1.28323129e+00, 1.28325397e+00], E )) test_sampled.py:24: AssertionError ========================================================================================= short test summary info ========================================================================================== FAILED test_praat_tests.py::test_praat_test[num/fisherQ.praat] - parselmouth.PraatError: Script assertion fails in line 16 (false): FAILED test_sampled.py::test_xs[intensity] - AssertionError: assert False FAILED test_sampled.py::test_xs[pitch] - AssertionError: assert False FAILED test_sampled.py::test_xs[spectrogram] - AssertionError: assert False FAILED test_sampled.py::test_xs[sound] - assert False ========================================================================== 5 failed, 242 passed, 2 skipped in 14354.80s (3:59:14) ========================================================================== ```
YannickJadoul commented 1 year ago

Some progress on those failing test! Thanks to @bstaletic for the help and deep dive into assembly!

https://github.com/YannickJadoul/Parselmouth/commit/6e16d73b42309c4c08cfd47800b0eae975898414

YannickJadoul commented 1 year ago

Alright, all tests pass now, on aarch64. So "all" that's left is figure out a way to build and test on GitHub Actions without having to wait for hours