Closed NickleDave closed 1 year ago
Can't figure out why tests started failing on Windows CI: https://github.com/vocalpy/crowsetta/actions/runs/4344136977/jobs/7587059361
Started in: https://github.com/vocalpy/crowsetta/pull/232
I don't get the same failures if I run on a Windows machine locally. Will merge for now and fix later.
Pasting in the failures below:
2023-03-06T13:56:29.7365878Z ================================== FAILURES =================================== 2023-03-06T13:56:29.7366390Z ___________________ test_from_keyword_onset_offset_in_Hertz ___________________ 2023-03-06T13:56:29.7367431Z [gw0] win32 -- Python 3.8.10 D:\a\crowsetta\crowsetta\.nox\coverage\Scripts\python.EXE 2023-03-06T13:56:29.7367813Z 2023-03-06T13:56:29.7368066Z def test_from_keyword_onset_offset_in_Hertz(): 2023-03-06T13:56:29.7368450Z labels = "abcde" 2023-03-06T13:56:29.7368818Z onset_samples = np.asarray([0, 2, 4, 6, 8]) 2023-03-06T13:56:29.7369440Z offset_samples = np.asarray([1, 3, 5, 7, 9]) 2023-03-06T13:56:29.7369974Z > seq = Sequence.from_keyword(labels=labels, onset_samples=onset_samples, offset_samples=offset_samples) 2023-03-06T13:56:29.7370334Z 2023-03-06T13:56:29.7370551Z tests\test_sequence.py:69: 2023-03-06T13:56:29.7370930Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7371465Z .nox\coverage\lib\site-packages\crowsetta\sequence.py:380: in from_keyword 2023-03-06T13:56:29.7371924Z Segment.from_keyword( 2023-03-06T13:56:29.7372435Z .nox\coverage\lib\site-packages\crowsetta\segment.py:63: in from_keyword 2023-03-06T13:56:29.7372839Z return cls( 2023-03-06T13:56:29.7373228Z <attrs generated init crowsetta.segment.Segment>:14: in __init__ 2023-03-06T13:56:29.7373744Z self.__attrs_post_init__() 2023-03-06T13:56:29.7374098Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7374361Z 2023-03-06T13:56:29.7374757Z self = Segment(label='a', onset_s=None, offset_s=None, onset_sample=None, offset_sample=None) 2023-03-06T13:56:29.7375098Z 2023-03-06T13:56:29.7375288Z def __attrs_post_init__(self): 2023-03-06T13:56:29.7375709Z if (self.onset_sample is None and self.offset_sample is None) and ( 2023-03-06T13:56:29.7376133Z self.onset_s is None and self.offset_s is None 2023-03-06T13:56:29.7376491Z ): 2023-03-06T13:56:29.7376907Z > raise ValueError("must provide either onset_sample and offset_sample, or " "onsets_s and offsets_s") 2023-03-06T13:56:29.7377441Z E ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7377779Z 2023-03-06T13:56:29.7378156Z .nox\coverage\lib\site-packages\crowsetta\segment.py:50: ValueError 2023-03-06T13:56:29.7378651Z ____________________ test_from_dict_onset_offset_in_Hertz _____________________ 2023-03-06T13:56:29.7379261Z [gw0] win32 -- Python 3.8.10 D:\a\crowsetta\crowsetta\.nox\coverage\Scripts\python.EXE 2023-03-06T13:56:29.7379585Z 2023-03-06T13:56:29.7379785Z def test_from_dict_onset_offset_in_Hertz(): 2023-03-06T13:56:29.7380155Z seq_dict = { 2023-03-06T13:56:29.7380533Z "labels": "abcde", 2023-03-06T13:56:29.7380895Z "onset_samples": np.asarray([0, 2, 4, 6, 8]), 2023-03-06T13:56:29.7381247Z "offset_samples": np.asarray([1, 3, 5, 7, 9]), 2023-03-06T13:56:29.7381551Z } 2023-03-06T13:56:29.7381902Z > seq = Sequence.from_dict(seq_dict=seq_dict) 2023-03-06T13:56:29.7382156Z 2023-03-06T13:56:29.7382344Z tests\test_sequence.py:91: 2023-03-06T13:56:29.7382677Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7383212Z .nox\coverage\lib\site-packages\crowsetta\sequence.py:426: in from_dict 2023-03-06T13:56:29.7383637Z return cls.from_keyword(**seq_dict) 2023-03-06T13:56:29.7384113Z .nox\coverage\lib\site-packages\crowsetta\sequence.py:380: in from_keyword 2023-03-06T13:56:29.7384483Z Segment.from_keyword( 2023-03-06T13:56:29.7384936Z .nox\coverage\lib\site-packages\crowsetta\segment.py:63: in from_keyword 2023-03-06T13:56:29.7385323Z return cls( 2023-03-06T13:56:29.7385676Z <attrs generated init crowsetta.segment.Segment>:14: in __init__ 2023-03-06T13:56:29.7386030Z self.__attrs_post_init__() 2023-03-06T13:56:29.7386359Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7386595Z 2023-03-06T13:56:29.7386951Z self = Segment(label='a', onset_s=None, offset_s=None, onset_sample=None, offset_sample=None) 2023-03-06T13:56:29.7387254Z 2023-03-06T13:56:29.7387444Z def __attrs_post_init__(self): 2023-03-06T13:56:29.7387818Z if (self.onset_sample is None and self.offset_sample is None) and ( 2023-03-06T13:56:29.7388222Z self.onset_s is None and self.offset_s is None 2023-03-06T13:56:29.7388528Z ): 2023-03-06T13:56:29.7388992Z > raise ValueError("must provide either onset_sample and offset_sample, or " "onsets_s and offsets_s") 2023-03-06T13:56:29.7389485Z E ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7389790Z 2023-03-06T13:56:29.7390133Z .nox\coverage\lib\site-packages\crowsetta\segment.py:50: ValueError 2023-03-06T13:56:29.7390603Z _____________________ test_as_dict_onset_offset_in_Hertz ______________________ 2023-03-06T13:56:29.7391231Z [gw0] win32 -- Python 3.8.10 D:\a\crowsetta\crowsetta\.nox\coverage\Scripts\python.EXE 2023-03-06T13:56:29.7391559Z 2023-03-06T13:56:29.7391767Z def test_as_dict_onset_offset_in_Hertz(): 2023-03-06T13:56:29.7392093Z labels = "abcde" 2023-03-06T13:56:29.7393281Z onset_samples = np.asarray([0, 2, 4, 6, 8]) 2023-03-06T13:56:29.7393669Z offset_samples = np.asarray([1, 3, 5, 7, 9]) 2023-03-06T13:56:29.7394109Z > seq = Sequence.from_keyword(labels=labels, onset_samples=onset_samples, offset_samples=offset_samples) 2023-03-06T13:56:29.7394435Z 2023-03-06T13:56:29.7394640Z tests\test_sequence.py:125: 2023-03-06T13:56:29.7395000Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7395523Z .nox\coverage\lib\site-packages\crowsetta\sequence.py:380: in from_keyword 2023-03-06T13:56:29.7395927Z Segment.from_keyword( 2023-03-06T13:56:29.7396435Z .nox\coverage\lib\site-packages\crowsetta\segment.py:63: in from_keyword 2023-03-06T13:56:29.7396816Z return cls( 2023-03-06T13:56:29.7397185Z <attrs generated init crowsetta.segment.Segment>:14: in __init__ 2023-03-06T13:56:29.7397674Z self.__attrs_post_init__() 2023-03-06T13:56:29.7398007Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7398240Z 2023-03-06T13:56:29.7398595Z self = Segment(label='a', onset_s=None, offset_s=None, onset_sample=None, offset_sample=None) 2023-03-06T13:56:29.7398918Z 2023-03-06T13:56:29.7399117Z def __attrs_post_init__(self): 2023-03-06T13:56:29.7399548Z if (self.onset_sample is None and self.offset_sample is None) and ( 2023-03-06T13:56:29.7399953Z self.onset_s is None and self.offset_s is None 2023-03-06T13:56:29.7400250Z ): 2023-03-06T13:56:29.7400647Z > raise ValueError("must provide either onset_sample and offset_sample, or " "onsets_s and offsets_s") 2023-03-06T13:56:29.7401192Z E ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7401500Z 2023-03-06T13:56:29.7401827Z .nox\coverage\lib\site-packages\crowsetta\segment.py:50: ValueError 2023-03-06T13:56:29.7402362Z _______________ test_to_seq[True-None-birdsongrec/doesnt/exist] _______________ 2023-03-06T13:56:29.7402909Z [gw0] win32 -- Python 3.8.10 D:\a\crowsetta\crowsetta\.nox\coverage\Scripts\python.EXE 2023-03-06T13:56:29.7403262Z 2023-03-06T13:56:29.7403631Z test_data_root = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests') 2023-03-06T13:56:29.7404294Z birdsong_rec_xml_file = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Annotation.xml') 2023-03-06T13:56:29.7405012Z birdsong_rec_wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Wave') 2023-03-06T13:56:29.7405518Z concat_seqs_into_songs = True, samplerate = None 2023-03-06T13:56:29.7406093Z wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/doesnt/exist') 2023-03-06T13:56:29.7406449Z 2023-03-06T13:56:29.7406711Z @pytest.mark.parametrize(ARGNAMES, ARGVALUES) 2023-03-06T13:56:29.7407074Z def test_to_seq( 2023-03-06T13:56:29.7407550Z test_data_root, birdsong_rec_xml_file, birdsong_rec_wav_path, concat_seqs_into_songs, samplerate, wav_path 2023-03-06T13:56:29.7407938Z ): 2023-03-06T13:56:29.7408244Z if wav_path is None: 2023-03-06T13:56:29.7408607Z wav_path = birdsong_rec_wav_path 2023-03-06T13:56:29.7409410Z else: 2023-03-06T13:56:29.7409765Z wav_path = test_data_root / wav_path 2023-03-06T13:56:29.7410241Z birdsongrec = crowsetta.formats.seq.BirdsongRec.from_file( 2023-03-06T13:56:29.7410780Z annot_path=birdsong_rec_xml_file, wav_path=wav_path, concat_seqs_into_songs=concat_seqs_into_songs 2023-03-06T13:56:29.7411156Z ) 2023-03-06T13:56:29.7411457Z if not wav_path.exists(): 2023-03-06T13:56:29.7411850Z with pytest.warns(UserWarning): 2023-03-06T13:56:29.7412238Z > seqs = birdsongrec.to_seq(samplerate) 2023-03-06T13:56:29.7412488Z 2023-03-06T13:56:29.7412733Z tests\test_formats\test_seq\test_birdsongrec.py:57: 2023-03-06T13:56:29.7413218Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7413760Z .nox\coverage\lib\site-packages\crowsetta\formats\seq\birdsongrec.py:231: in to_seq 2023-03-06T13:56:29.7414224Z seq = crowsetta.Sequence.from_keyword( 2023-03-06T13:56:29.7414750Z .nox\coverage\lib\site-packages\crowsetta\sequence.py:380: in from_keyword 2023-03-06T13:56:29.7415136Z Segment.from_keyword( 2023-03-06T13:56:29.7415639Z .nox\coverage\lib\site-packages\crowsetta\segment.py:63: in from_keyword 2023-03-06T13:56:29.7416043Z return cls( 2023-03-06T13:56:29.7416403Z <attrs generated init crowsetta.segment.Segment>:14: in __init__ 2023-03-06T13:56:29.7416823Z self.__attrs_post_init__() 2023-03-06T13:56:29.7417179Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7417444Z 2023-03-06T13:56:29.7417825Z self = Segment(label='0', onset_s=None, offset_s=None, onset_sample=None, offset_sample=None) 2023-03-06T13:56:29.7418158Z 2023-03-06T13:56:29.7418340Z def __attrs_post_init__(self): 2023-03-06T13:56:29.7418751Z if (self.onset_sample is None and self.offset_sample is None) and ( 2023-03-06T13:56:29.7419195Z self.onset_s is None and self.offset_s is None 2023-03-06T13:56:29.7419562Z ): 2023-03-06T13:56:29.7419961Z > raise ValueError("must provide either onset_sample and offset_sample, or " "onsets_s and offsets_s") 2023-03-06T13:56:29.7420490Z E ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7420809Z 2023-03-06T13:56:29.7421157Z .nox\coverage\lib\site-packages\crowsetta\segment.py:50: ValueError 2023-03-06T13:56:29.7421696Z ______________ test_to_seq[False-None-birdsongrec/doesnt/exist] _______________ 2023-03-06T13:56:29.7422229Z [gw0] win32 -- Python 3.8.10 D:\a\crowsetta\crowsetta\.nox\coverage\Scripts\python.EXE 2023-03-06T13:56:29.7422559Z 2023-03-06T13:56:29.7422901Z test_data_root = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests') 2023-03-06T13:56:29.7423570Z birdsong_rec_xml_file = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Annotation.xml') 2023-03-06T13:56:29.7424282Z birdsong_rec_wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Wave') 2023-03-06T13:56:29.7424798Z concat_seqs_into_songs = False, samplerate = None 2023-03-06T13:56:29.7425347Z wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/doesnt/exist') 2023-03-06T13:56:29.7425700Z 2023-03-06T13:56:29.7425953Z @pytest.mark.parametrize(ARGNAMES, ARGVALUES) 2023-03-06T13:56:29.7426333Z def test_to_seq( 2023-03-06T13:56:29.7426786Z test_data_root, birdsong_rec_xml_file, birdsong_rec_wav_path, concat_seqs_into_songs, samplerate, wav_path 2023-03-06T13:56:29.7427176Z ): 2023-03-06T13:56:29.7647216Z if wav_path is None: 2023-03-06T13:56:29.7647783Z wav_path = birdsong_rec_wav_path 2023-03-06T13:56:29.7648192Z else: 2023-03-06T13:56:29.7648611Z wav_path = test_data_root / wav_path 2023-03-06T13:56:29.7649094Z birdsongrec = crowsetta.formats.seq.BirdsongRec.from_file( 2023-03-06T13:56:29.7649943Z annot_path=birdsong_rec_xml_file, wav_path=wav_path, concat_seqs_into_songs=concat_seqs_into_songs 2023-03-06T13:56:29.7650357Z ) 2023-03-06T13:56:29.7650712Z if not wav_path.exists(): 2023-03-06T13:56:29.7651102Z with pytest.warns(UserWarning): 2023-03-06T13:56:29.7651536Z > seqs = birdsongrec.to_seq(samplerate) 2023-03-06T13:56:29.7651830Z 2023-03-06T13:56:29.7652067Z tests\test_formats\test_seq\test_birdsongrec.py:57: 2023-03-06T13:56:29.7652511Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7653279Z .nox\coverage\lib\site-packages\crowsetta\formats\seq\birdsongrec.py:231: in to_seq 2023-03-06T13:56:29.7653894Z seq = crowsetta.Sequence.from_keyword( 2023-03-06T13:56:29.7654432Z .nox\coverage\lib\site-packages\crowsetta\sequence.py:380: in from_keyword 2023-03-06T13:56:29.7654889Z Segment.from_keyword( 2023-03-06T13:56:29.7655417Z .nox\coverage\lib\site-packages\crowsetta\segment.py:63: in from_keyword 2023-03-06T13:56:29.7655844Z return cls( 2023-03-06T13:56:29.7656229Z <attrs generated init crowsetta.segment.Segment>:14: in __init__ 2023-03-06T13:56:29.7656642Z self.__attrs_post_init__() 2023-03-06T13:56:29.7657000Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7657274Z 2023-03-06T13:56:29.7657665Z self = Segment(label='0', onset_s=None, offset_s=None, onset_sample=None, offset_sample=None) 2023-03-06T13:56:29.7658005Z 2023-03-06T13:56:29.7658195Z def __attrs_post_init__(self): 2023-03-06T13:56:29.7658650Z if (self.onset_sample is None and self.offset_sample is None) and ( 2023-03-06T13:56:29.7659080Z self.onset_s is None and self.offset_s is None 2023-03-06T13:56:29.7659458Z ): 2023-03-06T13:56:29.7659871Z > raise ValueError("must provide either onset_sample and offset_sample, or " "onsets_s and offsets_s") 2023-03-06T13:56:29.7660412Z E ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7660756Z 2023-03-06T13:56:29.7661157Z .nox\coverage\lib\site-packages\crowsetta\segment.py:50: ValueError 2023-03-06T13:56:29.7661761Z ______________ test_to_annot[True-None-birdsongrec/doesnt/exist] ______________ 2023-03-06T13:56:29.7662379Z [gw0] win32 -- Python 3.8.10 D:\a\crowsetta\crowsetta\.nox\coverage\Scripts\python.EXE 2023-03-06T13:56:29.7662725Z 2023-03-06T13:56:29.7663103Z test_data_root = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests') 2023-03-06T13:56:29.7663785Z birdsong_rec_xml_file = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Annotation.xml') 2023-03-06T13:56:29.7664469Z birdsong_rec_wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Wave') 2023-03-06T13:56:29.7664990Z concat_seqs_into_songs = True, samplerate = None 2023-03-06T13:56:29.7665592Z wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/doesnt/exist') 2023-03-06T13:56:29.7665945Z 2023-03-06T13:56:29.7666210Z @pytest.mark.parametrize(ARGNAMES, ARGVALUES) 2023-03-06T13:56:29.7666568Z def test_to_annot( 2023-03-06T13:56:29.7667070Z test_data_root, birdsong_rec_xml_file, birdsong_rec_wav_path, concat_seqs_into_songs, samplerate, wav_path 2023-03-06T13:56:29.7667506Z ): 2023-03-06T13:56:29.7667836Z if wav_path is None: 2023-03-06T13:56:29.7668183Z wav_path = birdsong_rec_wav_path 2023-03-06T13:56:29.7668547Z else: 2023-03-06T13:56:29.7668905Z wav_path = test_data_root / wav_path 2023-03-06T13:56:29.7669327Z birdsongrec = crowsetta.formats.seq.BirdsongRec.from_file( 2023-03-06T13:56:29.7669874Z annot_path=birdsong_rec_xml_file, wav_path=wav_path, concat_seqs_into_songs=concat_seqs_into_songs 2023-03-06T13:56:29.7670281Z ) 2023-03-06T13:56:29.7670683Z if not wav_path.exists(): 2023-03-06T13:56:29.7671042Z with pytest.warns(UserWarning): 2023-03-06T13:56:29.7671471Z > annots = birdsongrec.to_annot(samplerate) 2023-03-06T13:56:29.7671731Z 2023-03-06T13:56:29.7671981Z tests\test_formats\test_seq\test_birdsongrec.py:126: 2023-03-06T13:56:29.7672381Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7673197Z .nox\coverage\lib\site-packages\crowsetta\formats\seq\birdsongrec.py:295: in to_annot 2023-03-06T13:56:29.7673940Z seqs = self.to_seq(round_times=round_times, decimals=decimals, samplerate=samplerate) 2023-03-06T13:56:29.7674598Z .nox\coverage\lib\site-packages\crowsetta\formats\seq\birdsongrec.py:231: in to_seq 2023-03-06T13:56:29.7675383Z seq = crowsetta.Sequence.from_keyword( 2023-03-06T13:56:29.7675988Z .nox\coverage\lib\site-packages\crowsetta\sequence.py:380: in from_keyword 2023-03-06T13:56:29.7676350Z Segment.from_keyword( 2023-03-06T13:56:29.7676862Z .nox\coverage\lib\site-packages\crowsetta\segment.py:63: in from_keyword 2023-03-06T13:56:29.7677181Z return cls( 2023-03-06T13:56:29.7677493Z <attrs generated init crowsetta.segment.Segment>:14: in __init__ 2023-03-06T13:56:29.7677776Z self.__attrs_post_init__() 2023-03-06T13:56:29.7678063Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7678237Z 2023-03-06T13:56:29.7678526Z self = Segment(label='0', onset_s=None, offset_s=None, onset_sample=None, offset_sample=None) 2023-03-06T13:56:29.7678758Z 2023-03-06T13:56:29.7678843Z def __attrs_post_init__(self): 2023-03-06T13:56:29.7679175Z if (self.onset_sample is None and self.offset_sample is None) and ( 2023-03-06T13:56:29.7679537Z self.onset_s is None and self.offset_s is None 2023-03-06T13:56:29.7679800Z ): 2023-03-06T13:56:29.7680107Z > raise ValueError("must provide either onset_sample and offset_sample, or " "onsets_s and offsets_s") 2023-03-06T13:56:29.7680517Z E ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7680736Z 2023-03-06T13:56:29.7680972Z .nox\coverage\lib\site-packages\crowsetta\segment.py:50: ValueError 2023-03-06T13:56:29.7681387Z _____________ test_to_annot[False-None-birdsongrec/doesnt/exist] ______________ 2023-03-06T13:56:29.7681881Z [gw0] win32 -- Python 3.8.10 D:\a\crowsetta\crowsetta\.nox\coverage\Scripts\python.EXE 2023-03-06T13:56:29.7682123Z 2023-03-06T13:56:29.7682369Z test_data_root = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests') 2023-03-06T13:56:29.7682937Z birdsong_rec_xml_file = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Annotation.xml') 2023-03-06T13:56:29.7683724Z birdsong_rec_wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Wave') 2023-03-06T13:56:29.7684116Z concat_seqs_into_songs = False, samplerate = None 2023-03-06T13:56:29.7684590Z wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/doesnt/exist') 2023-03-06T13:56:29.7684840Z 2023-03-06T13:56:29.7684983Z @pytest.mark.parametrize(ARGNAMES, ARGVALUES) 2023-03-06T13:56:29.7685224Z def test_to_annot( 2023-03-06T13:56:29.7685562Z test_data_root, birdsong_rec_xml_file, birdsong_rec_wav_path, concat_seqs_into_songs, samplerate, wav_path 2023-03-06T13:56:29.7685866Z ): 2023-03-06T13:56:29.7686057Z if wav_path is None: 2023-03-06T13:56:29.7686310Z wav_path = birdsong_rec_wav_path 2023-03-06T13:56:29.7686539Z else: 2023-03-06T13:56:29.7686764Z wav_path = test_data_root / wav_path 2023-03-06T13:56:29.7687093Z birdsongrec = crowsetta.formats.seq.BirdsongRec.from_file( 2023-03-06T13:56:29.7687509Z annot_path=birdsong_rec_xml_file, wav_path=wav_path, concat_seqs_into_songs=concat_seqs_into_songs 2023-03-06T13:56:29.7687792Z ) 2023-03-06T13:56:29.7688106Z if not wav_path.exists(): 2023-03-06T13:56:29.7688375Z with pytest.warns(UserWarning): 2023-03-06T13:56:29.7688671Z > annots = birdsongrec.to_annot(samplerate) 2023-03-06T13:56:29.7688831Z 2023-03-06T13:56:29.7688958Z tests\test_formats\test_seq\test_birdsongrec.py:126: 2023-03-06T13:56:29.7689264Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7689704Z .nox\coverage\lib\site-packages\crowsetta\formats\seq\birdsongrec.py:295: in to_annot 2023-03-06T13:56:29.7690141Z seqs = self.to_seq(round_times=round_times, decimals=decimals, samplerate=samplerate) 2023-03-06T13:56:29.7690627Z .nox\coverage\lib\site-packages\crowsetta\formats\seq\birdsongrec.py:231: in to_seq 2023-03-06T13:56:29.7691090Z seq = crowsetta.Sequence.from_keyword( 2023-03-06T13:56:29.7691547Z .nox\coverage\lib\site-packages\crowsetta\sequence.py:380: in from_keyword 2023-03-06T13:56:29.7691840Z Segment.from_keyword( 2023-03-06T13:56:29.7692259Z .nox\coverage\lib\site-packages\crowsetta\segment.py:63: in from_keyword 2023-03-06T13:56:29.7692575Z return cls( 2023-03-06T13:56:29.7692849Z <attrs generated init crowsetta.segment.Segment>:14: in __init__ 2023-03-06T13:56:29.7693164Z self.__attrs_post_init__() 2023-03-06T13:56:29.7693447Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2023-03-06T13:56:29.7693616Z 2023-03-06T13:56:29.7693901Z self = Segment(label='0', onset_s=None, offset_s=None, onset_sample=None, offset_sample=None) 2023-03-06T13:56:29.7694122Z 2023-03-06T13:56:29.7694207Z def __attrs_post_init__(self): 2023-03-06T13:56:29.7694509Z if (self.onset_sample is None and self.offset_sample is None) and ( 2023-03-06T13:56:29.7694897Z self.onset_s is None and self.offset_s is None 2023-03-06T13:56:29.7695132Z ): 2023-03-06T13:56:29.7695482Z > raise ValueError("must provide either onset_sample and offset_sample, or " "onsets_s and offsets_s") 2023-03-06T13:56:29.7695923Z E ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7696149Z 2023-03-06T13:56:29.7696415Z .nox\coverage\lib\site-packages\crowsetta\segment.py:50: ValueError 2023-03-06T13:56:29.7696784Z __________ TestAnnot2DfFunction.test_annot2df_onset_offset_s_and_ind __________ 2023-03-06T13:56:29.7697292Z [gw0] win32 -- Python 3.8.10 D:\a\crowsetta\crowsetta\.nox\coverage\Scripts\python.EXE 2023-03-06T13:56:29.7697532Z 2023-03-06T13:56:29.7697763Z self = <tests.test_formats.test_seq.test_generic.TestAnnot2DfFunction object at 0x0000025FFB518EE0> 2023-03-06T13:56:29.7698365Z birdsong_rec_xml_file = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Annotation.xml') 2023-03-06T13:56:29.7698939Z birdsong_rec_wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Wave') 2023-03-06T13:56:29.7699570Z birdsongrec_as_generic_seq_csv = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/csv/birdsongrec_Bird0_Annotation.csv') 2023-03-06T13:56:29.7699855Z 2023-03-06T13:56:29.7699985Z def test_annot2df_onset_offset_s_and_ind( 2023-03-06T13:56:29.7700356Z self, birdsong_rec_xml_file, birdsong_rec_wav_path, birdsongrec_as_generic_seq_csv 2023-03-06T13:56:29.7700632Z ): 2023-03-06T13:56:29.7700850Z """test whether `annot2df` works when 2023-03-06T13:56:29.7701156Z the annotations have onsets and offsets specified in seconds and in samples. 2023-03-06T13:56:29.7701577Z To test this we use the 'birdsong-recognition-dataset' format. 2023-03-06T13:56:29.7701835Z """ 2023-03-06T13:56:29.7702105Z birdsongrec = crowsetta.formats.seq.BirdsongRec.from_file( 2023-03-06T13:56:29.7702490Z annot_path=birdsong_rec_xml_file, wav_path=birdsong_rec_wav_path, concat_seqs_into_songs=True 2023-03-06T13:56:29.7702924Z ) 2023-03-06T13:56:29.7703242Z annot_list = birdsongrec.to_annot() 2023-03-06T13:56:29.7703605Z # below, set basename to True so we can easily run tests on any system without 2023-03-06T13:56:29.7703962Z # worrying about where audio files are relative to root of directory tree 2023-03-06T13:56:29.7704370Z df_created = crowsetta.formats.seq.generic.annot2df(annot_list, basename=True) 2023-03-06T13:56:29.7704694Z 2023-03-06T13:56:29.7704926Z assert isinstance(df_created, pd.DataFrame) 2023-03-06T13:56:29.7705340Z df_created = crowsetta.formats.seq.generic.GenericSeqSchema.validate(df_created) 2023-03-06T13:56:29.7705689Z 2023-03-06T13:56:29.7705935Z df_compare = pd.read_csv(birdsongrec_as_generic_seq_csv) 2023-03-06T13:56:29.7706432Z df_compare = crowsetta.formats.seq.generic.GenericSeqSchema.validate(df_compare) 2023-03-06T13:56:29.7706837Z > pd.testing.assert_frame_equal(df_created, df_compare) 2023-03-06T13:56:29.7707145Z E AssertionError: DataFrame are different 2023-03-06T13:56:29.7707362Z E 2023-03-06T13:56:29.7707564Z E DataFrame shape mismatch 2023-03-06T13:56:29.7707767Z E [left]: (7652, 7) 2023-03-06T13:56:29.7707943Z E [right]: (7652, 9) 2023-03-06T13:56:29.7708065Z 2023-03-06T13:56:29.7708216Z tests\test_formats\test_seq\test_generic.py:125: AssertionError 2023-03-06T13:56:29.7708558Z _________ TestAnnot2CsvFunction.test_annot2csv_onset_offset_s_and_ind _________ 2023-03-06T13:56:29.7709023Z [gw0] win32 -- Python 3.8.10 D:\a\crowsetta\crowsetta\.nox\coverage\Scripts\python.EXE 2023-03-06T13:56:29.7709247Z 2023-03-06T13:56:29.7709453Z self = <tests.test_formats.test_seq.test_generic.TestAnnot2CsvFunction object at 0x0000025FFB52E9D0> 2023-03-06T13:56:29.7710014Z birdsong_rec_xml_file = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Annotation.xml') 2023-03-06T13:56:29.7710594Z birdsong_rec_wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Wave') 2023-03-06T13:56:29.7711181Z birdsongrec_as_generic_seq_csv = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/csv/birdsongrec_Bird0_Annotation.csv') 2023-03-06T13:56:29.7711682Z test_data_root = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests') 2023-03-06T13:56:29.7712254Z tmp_path = WindowsPath('C:/Users/runneradmin/AppData/Local/Temp/pytest-of-runneradmin/pytest-0/popen-gw0/test_annot2csv_onset_offset_s_1') 2023-03-06T13:56:29.7712531Z 2023-03-06T13:56:29.7712647Z def test_annot2csv_onset_offset_s_and_ind( 2023-03-06T13:56:29.7712988Z self, birdsong_rec_xml_file, birdsong_rec_wav_path, birdsongrec_as_generic_seq_csv, test_data_root, tmp_path 2023-03-06T13:56:29.7713265Z ): 2023-03-06T13:56:29.7713466Z """test whether `annot2csv` works when 2023-03-06T13:56:29.7713777Z the annotations have onsets and offsets specified in seconds and in samples. 2023-03-06T13:56:29.7714193Z To test this we use the 'birdsong-recognition-dataset' format. 2023-03-06T13:56:29.7714436Z """ 2023-03-06T13:56:29.7714698Z birdsongrec = crowsetta.formats.seq.BirdsongRec.from_file( 2023-03-06T13:56:29.7715078Z annot_path=birdsong_rec_xml_file, wav_path=birdsong_rec_wav_path, concat_seqs_into_songs=True 2023-03-06T13:56:29.7715335Z ) 2023-03-06T13:56:29.7715533Z annot_list = birdsongrec.to_annot() 2023-03-06T13:56:29.7715766Z csv_path = tmp_path / "test.csv" 2023-03-06T13:56:29.7716067Z # below, set basename to True so we can easily run tests on any system without 2023-03-06T13:56:29.7716404Z # worrying about where audio files are relative to root of directory tree 2023-03-06T13:56:29.7716775Z crowsetta.formats.seq.generic.annot2csv(annot_list, csv_path, basename=True) 2023-03-06T13:56:29.7717086Z assert pathlib.Path(csv_path).exists() 2023-03-06T13:56:29.7717356Z df_created = pd.read_csv(csv_path) 2023-03-06T13:56:29.7717818Z df_created = crowsetta.formats.seq.generic.GenericSeqSchema.validate(df_created) 2023-03-06T13:56:29.7718139Z 2023-03-06T13:56:29.7718416Z df_compare = pd.read_csv(birdsongrec_as_generic_seq_csv) 2023-03-06T13:56:29.7718837Z df_compare = crowsetta.formats.seq.generic.GenericSeqSchema.validate(df_compare) 2023-03-06T13:56:29.7719236Z > pd.testing.assert_frame_equal(df_created, df_compare) 2023-03-06T13:56:29.7719539Z E AssertionError: DataFrame are different 2023-03-06T13:56:29.7719774Z E 2023-03-06T13:56:29.7720012Z E DataFrame shape mismatch 2023-03-06T13:56:29.7720201Z E [left]: (7652, 7) 2023-03-06T13:56:29.7720402Z E [right]: (7652, 9) 2023-03-06T13:56:29.7720576Z 2023-03-06T13:56:29.7720747Z tests\test_formats\test_seq\test_generic.py:187: AssertionError 2023-03-06T13:56:29.7721105Z __________ TestCsv2AnnotFunction.test_csv2annot_good_birdsongrec_csv __________ 2023-03-06T13:56:29.7721632Z [gw0] win32 -- Python 3.8.10 D:\a\crowsetta\crowsetta\.nox\coverage\Scripts\python.EXE 2023-03-06T13:56:29.7721852Z 2023-03-06T13:56:29.7722084Z self = <tests.test_formats.test_seq.test_generic.TestCsv2AnnotFunction object at 0x0000025FFB518DC0> 2023-03-06T13:56:29.7722671Z birdsongrec_as_generic_seq_csv = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/csv/birdsongrec_Bird0_Annotation.csv') 2023-03-06T13:56:29.7723274Z birdsong_rec_xml_file = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Annotation.xml') 2023-03-06T13:56:29.7724389Z birdsong_rec_wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Wave') 2023-03-06T13:56:29.7724842Z 2023-03-06T13:56:29.7725072Z def test_csv2annot_good_birdsongrec_csv( 2023-03-06T13:56:29.7725422Z self, 2023-03-06T13:56:29.7725752Z birdsongrec_as_generic_seq_csv, 2023-03-06T13:56:29.7726129Z birdsong_rec_xml_file, 2023-03-06T13:56:29.7726455Z birdsong_rec_wav_path, 2023-03-06T13:56:29.7726779Z ): 2023-03-06T13:56:29.7727194Z """test that we can load a .csv generated by ``annot2csv``. 2023-03-06T13:56:29.7727738Z We use `'birdsong-recognition-dataset'` format 2023-03-06T13:56:29.7728135Z as an example of a format 2023-03-06T13:56:29.7728551Z with onsets and offsets in both seconds and samples. 2023-03-06T13:56:29.7728891Z """ 2023-03-06T13:56:29.7729311Z annots = crowsetta.formats.seq.generic.csv2annot(csv_path=birdsongrec_as_generic_seq_csv) 2023-03-06T13:56:29.7729844Z birdsongrec = crowsetta.formats.seq.BirdsongRec.from_file( 2023-03-06T13:56:29.7730354Z annot_path=birdsong_rec_xml_file, wav_path=birdsong_rec_wav_path, concat_seqs_into_songs=True 2023-03-06T13:56:29.7730742Z ) 2023-03-06T13:56:29.7731075Z annots_from_birdsongrec = birdsongrec.to_annot() 2023-03-06T13:56:29.7731404Z 2023-03-06T13:56:29.7731726Z assert isinstance(annots, list) 2023-03-06T13:56:29.7732159Z assert all([isinstance(annot, crowsetta.Annotation) for annot in annots]) 2023-03-06T13:56:29.7732618Z # only compare seq because .csv files are saved with `basename=True`. 2023-03-06T13:56:29.7733208Z # Saving the .csv files this way avoids any platform-dependent / path issues 2023-03-06T13:56:29.7733655Z > assert all( 2023-03-06T13:56:29.7733976Z [ 2023-03-06T13:56:29.7734345Z annot_from_csv.seq == annot_from_birdsongrec.seq 2023-03-06T13:56:29.7734850Z for annot_from_csv, annot_from_birdsongrec in zip(annots, annots_from_birdsongrec) 2023-03-06T13:56:29.7735228Z ] 2023-03-06T13:56:29.7735497Z ) 2023-03-06T13:56:29.7735778Z E assert False 2023-03-06T13:56:29.7736191Z E + where False = all([False, False, False, False, False, False, ...]) 2023-03-06T13:56:29.7736524Z 2023-03-06T13:56:29.7736844Z tests\test_formats\test_seq\test_generic.py:286: AssertionError 2023-03-06T13:56:29.7737291Z ____________ TestGenericSeqClass.test_to_df_onset_offset_s_and_ind ____________ 2023-03-06T13:56:29.7737847Z [gw0] win32 -- Python 3.8.10 D:\a\crowsetta\crowsetta\.nox\coverage\Scripts\python.EXE 2023-03-06T13:56:29.7738161Z 2023-03-06T13:56:29.7738456Z self = <tests.test_formats.test_seq.test_generic.TestGenericSeqClass object at 0x0000025FFB3EEE80> 2023-03-06T13:56:29.7739163Z birdsong_rec_xml_file = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Annotation.xml') 2023-03-06T13:56:29.7739821Z birdsong_rec_wav_path = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/birdsongrec/Bird0/Wave') 2023-03-06T13:56:29.7740618Z birdsongrec_as_generic_seq_csv = WindowsPath('D:/a/crowsetta/crowsetta/tests/fixtures/../data_for_tests/csv/birdsongrec_Bird0_Annotation.csv') 2023-03-06T13:56:29.7741006Z 2023-03-06T13:56:29.7741219Z def test_to_df_onset_offset_s_and_ind( 2023-03-06T13:56:29.7741650Z self, birdsong_rec_xml_file, birdsong_rec_wav_path, birdsongrec_as_generic_seq_csv 2023-03-06T13:56:29.7742030Z ): 2023-03-06T13:56:29.7742380Z """test whether `GenericSeq.to_df` works when 2023-03-06T13:56:29.7742814Z the annotations have onsets and offsets specified in seconds and in samples. 2023-03-06T13:56:29.7743334Z To test this we use the 'birdsong-recognition-dataset' format. 2023-03-06T13:56:29.7743695Z """ 2023-03-06T13:56:29.7744075Z birdsongrec = crowsetta.formats.seq.BirdsongRec.from_file( 2023-03-06T13:56:29.7744575Z annot_path=birdsong_rec_xml_file, wav_path=birdsong_rec_wav_path, concat_seqs_into_songs=True 2023-03-06T13:56:29.7744939Z ) 2023-03-06T13:56:29.7745256Z annot_list = birdsongrec.to_annot() 2023-03-06T13:56:29.7745675Z generic_seq = crowsetta.formats.seq.GenericSeq(annots=annot_list) 2023-03-06T13:56:29.7746143Z # below, set basename to True so we can easily run tests on any system without 2023-03-06T13:56:29.7746580Z # worrying about where audio files are relative to root of directory tree 2023-03-06T13:56:29.7746986Z df_created = generic_seq.to_df(basename=True) 2023-03-06T13:56:29.7747302Z 2023-03-06T13:56:29.7747629Z assert isinstance(df_created, pd.DataFrame) 2023-03-06T13:56:29.7748097Z df_created = crowsetta.formats.seq.generic.GenericSeqSchema.validate(df_created) 2023-03-06T13:56:29.7748509Z 2023-03-06T13:56:29.7748844Z df_compare = pd.read_csv(birdsongrec_as_generic_seq_csv) 2023-03-06T13:56:29.7749324Z df_compare = crowsetta.formats.seq.generic.GenericSeqSchema.validate(df_compare) 2023-03-06T13:56:29.7749830Z > pd.testing.assert_frame_equal(df_created, df_compare) 2023-03-06T13:56:29.7750227Z E AssertionError: DataFrame are different 2023-03-06T13:56:29.7750527Z E 2023-03-06T13:56:29.7750823Z E DataFrame shape mismatch 2023-03-06T13:56:29.7751142Z E [left]: (7652, 7) 2023-03-06T13:56:29.7751449Z E [right]: (7652, 9) 2023-03-06T13:56:29.7751674Z 2023-03-06T13:56:29.7751914Z tests\test_formats\test_seq\test_generic.py:460: AssertionError 2023-03-06T13:56:29.7752328Z ============================== warnings summary =============================== 2023-03-06T13:56:29.7752678Z tests/test_data.py: 16 warnings 2023-03-06T13:56:29.7753645Z D:\a\crowsetta\crowsetta\.nox\coverage\lib\site-packages\crowsetta\data\data.py:186: DeprecationWarning: open_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice. 2023-03-06T13:56:29.7754503Z with open_text(package=path_args.package, resource="citation.txt") as fp: 2023-03-06T13:56:29.7754809Z 2023-03-06T13:56:29.7755145Z -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 2023-03-06T13:56:29.7755458Z 2023-03-06T13:56:29.7755856Z ---------- coverage: platform win32, python 3.8.10-final-0 ----------- 2023-03-06T13:56:29.7756269Z Coverage XML written to file coverage.xml 2023-03-06T13:56:29.7756522Z 2023-03-06T13:56:29.7756743Z =========================== short test summary info =========================== 2023-03-06T13:56:29.7757434Z FAILED tests/test_sequence.py::test_from_keyword_onset_offset_in_Hertz - ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7758203Z FAILED tests/test_sequence.py::test_from_dict_onset_offset_in_Hertz - ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7758979Z FAILED tests/test_sequence.py::test_as_dict_onset_offset_in_Hertz - ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7759880Z FAILED tests/test_formats/test_seq/test_birdsongrec.py::test_to_seq[True-None-birdsongrec/doesnt/exist] - ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7760763Z FAILED tests/test_formats/test_seq/test_birdsongrec.py::test_to_seq[False-None-birdsongrec/doesnt/exist] - ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7761649Z FAILED tests/test_formats/test_seq/test_birdsongrec.py::test_to_annot[True-None-birdsongrec/doesnt/exist] - ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7762534Z FAILED tests/test_formats/test_seq/test_birdsongrec.py::test_to_annot[False-None-birdsongrec/doesnt/exist] - ValueError: must provide either onset_sample and offset_sample, or onsets_s and offsets_s 2023-03-06T13:56:29.7763336Z FAILED tests/test_formats/test_seq/test_generic.py::TestAnnot2DfFunction::test_annot2df_onset_offset_s_and_ind - AssertionError: DataFrame are different 2023-03-06T13:56:29.7763728Z 2023-03-06T13:56:29.7763916Z DataFrame shape mismatch 2023-03-06T13:56:29.7764219Z [left]: (7652, 7) 2023-03-06T13:56:29.7764577Z [right]: (7652, 9) 2023-03-06T13:56:29.7765182Z FAILED tests/test_formats/test_seq/test_generic.py::TestAnnot2CsvFunction::test_annot2csv_onset_offset_s_and_ind - AssertionError: DataFrame are different 2023-03-06T13:56:29.7765565Z 2023-03-06T13:56:29.7765761Z DataFrame shape mismatch 2023-03-06T13:56:29.7766045Z [left]: (7652, 7) 2023-03-06T13:56:29.7766298Z [right]: (7652, 9) 2023-03-06T13:56:29.7766970Z FAILED tests/test_formats/test_seq/test_generic.py::TestCsv2AnnotFunction::test_csv2annot_good_birdsongrec_csv - assert False 2023-03-06T13:56:29.7767479Z + where False = all([False, False, False, False, False, False, ...]) 2023-03-06T13:56:29.7768121Z FAILED tests/test_formats/test_seq/test_generic.py::TestGenericSeqClass::test_to_df_onset_offset_s_and_ind - AssertionError: DataFrame are different 2023-03-06T13:56:29.7768497Z 2023-03-06T13:56:29.7768684Z DataFrame shape mismatch 2023-03-06T13:56:29.7768967Z [left]: (7652, 7) 2023-03-06T13:56:29.7769239Z [right]: (7652, 9) 2023-03-06T13:56:29.7769592Z ========== 11 failed, 10499 passed, 16 warnings in 91.19s (0:01:31) ===========
Fixed by #238
Can't figure out why tests started failing on Windows CI: https://github.com/vocalpy/crowsetta/actions/runs/4344136977/jobs/7587059361
Started in: https://github.com/vocalpy/crowsetta/pull/232
I don't get the same failures if I run on a Windows machine locally. Will merge for now and fix later.
Pasting in the failures below: