[Debian-med-packaging] Bug#1079956: Bug#1079956: Bug#1079956: neo: Tests fail with python-quantities 0.16.0
Étienne Mollier
emollier at debian.org
Wed Oct 23 21:46:55 BST 2024
I pushed some changes to salsa, but I'm still running into:
______________________ NixIOWriteTest.test_multiref_write ______________________
self = <neo.test.iotest.test_nixio.NixIOWriteTest testMethod=test_multiref_write>
def test_multiref_write(self):
blk = Block("blk1")
signal = AnalogSignal(name="sig1", signal=[0, 1, 2], units="mV", sampling_period=pq.Quantity(1, "ms"))
othersignal = IrregularlySampledSignal(
name="i1", signal=[0, 0, 0], units="mV", times=[1, 2, 3], time_units="ms"
)
imgseq = ImageSequence(
name="img1",
image_data=self.rquant((10, 20, 10), pq.mV),
frame_duration=pq.Quantity(1, "ms"),
spatial_scale=pq.meter,
)
event = Event(name="Evee", times=[0.3, 0.42], units="year")
epoch = Epoch(name="epoche", times=[0.1, 0.2] * pq.min, durations=[0.5, 0.5] * pq.min)
st = SpikeTrain(name="the train of spikes", times=[0.1, 0.2, 10.3], t_stop=11, units="us")
for idx in range(3):
segname = "seg" + str(idx)
seg = Segment(segname)
blk.segments.append(seg)
seg.analogsignals.append(signal)
seg.imagesequences.append(imgseq)
seg.irregularlysampledsignals.append(othersignal)
seg.events.append(event)
seg.epochs.append(epoch)
seg.spiketrains.append(st)
chidx = Group(index=[10, 20, 29])
seg = blk.segments[0]
st = SpikeTrain(name="choochoo", times=[10, 11, 80], t_stop=1000, units="s")
seg.spiketrains.append(st)
blk.groups.append(chidx)
for idx in range(6):
unit = Group(name="unit" + str(idx))
chidx.add(unit)
unit.add(st)
self.writer.write_block(blk)
> self.compare_blocks([blk], self.reader.blocks)
neo/test/iotest/test_nixio.py:1147:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
neo/test/iotest/test_nixio.py:74: in compare_blocks
self.compare_segment_group(neoseg, nixgrp)
neo/test/iotest/test_nixio.py:103: in compare_segment_group
self.compare_eests_mtags(neo_eests, nixgroup.multi_tags)
neo/test/iotest/test_nixio.py:177: in compare_eests_mtags
self.compare_epoch_mtag(eest, mtag)
neo/test/iotest/test_nixio.py:189: in compare_epoch_mtag
posquant = create_quantity(pos[:], pos.unit)
neo/io/nixio.py:78: in create_quantity
return pq.Quantity(values, unit)
/usr/lib/python3/dist-packages/quantities/quantity.py:131: in __new__
ret._dimensionality.update(validate_dimensionality(units))
/usr/lib/python3/dist-packages/quantities/quantity.py:34: in validate_dimensionality
return unit_registry[value].dimensionality
/usr/lib/python3/dist-packages/quantities/registry.py:71: in __getitem__
return self.__registry[label]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <quantities.registry.UnitRegistry.__Registry object at 0x7f3784692150>
string = 'min'
def __getitem__(self, string):
# easy hack to prevent arbitrary evaluation of code
all_builtins = dir(builtins)
# because we have kilobytes, other bytes we have to remove bytes
all_builtins.remove("bytes")
# have to deal with octet as well
all_builtins.remove("oct")
for builtin in all_builtins:
if builtin in string:
> raise RuntimeError(f"String parsing error for {string}. Enter a string accepted by quantities")
E RuntimeError: String parsing error for min. Enter a string accepted by quantities
/usr/lib/python3/dist-packages/quantities/registry.py:28: RuntimeError
This is still a "quantities" error, but stems from somewhere
else. I've begun to dig into it, but for now I'm not sure that
I understand what happens; I'm not even sure whether neo or
quantities is at fault, it could even stem from python-nixio.
The issue is reproducible on Salsa CI[1]. Looking back at the
original test log[2], I see that it is not a regression, so it
could have been an oversight.
[1]: https://salsa.debian.org/med-team/neo/-/jobs/6478394
[2]: https://ci.debian.net/packages/n/neo/testing/arm64/51068351/#L2518
I may continue digging into it tomorrow evening, unless someone
finds a fix in the meantime.
Hope this helps,
--
.''`. Étienne Mollier <emollier at debian.org>
: :' : pgp: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da
`. `' sent from /dev/pts/2, please excuse my verbosity
`- on air: Teramaze - The Will of Eli
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20241023/d6f4440c/attachment-0001.sig>
More information about the Debian-med-packaging
mailing list