Skip to content

pycksum 0.4.7 in a venv with python 3.10 on ubuntu 22.04.5 fails when add() is called with a bytes() object #7

@enkiusz

Description

@enkiusz

Running on pycksum 0.4.7 in a venv with python 3.10 on ubuntu 22.04.5. Reproduction steps:

✗ docker run -it ubuntu:22.04  
root@23a0ae90b64b:/# apt update --quiet
root@23a0ae90b64b:/# apt install python3-venv build-essential libpython3-dev
[...]
root@23a0ae90b64b:/# mkdir venv  
root@23a0ae90b64b:/# python3 -m venv venv
root@23a0ae90b64b:/# source venv/bin/activate
(venv) root@23a0ae90b64b:/# echo test > test.txt
(venv) root@23a0ae90b64b:/# python3
Python 3.10.12 (main, Nov  6 2024, 20:22:13) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pycksum, sys
>>> from pathlib import Path
>>> sys.version
'3.10.12 (main, Nov  6 2024, 20:22:13) [GCC 11.4.0]'
>>> pycksum.__version__
'0.4.7'
>>> p = Path('test.txt')
>>> bt = p.read_bytes()
>>> bt
b'test\n'
>>> c = pycksum.Cksum()
>>> c.add(bt)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/venv/lib/python3.10/site-packages/pycksum/__init__.py", line 303, in add
    self._add(b)
  File "/venv/lib/python3.10/site-packages/pycksum/__init__.py", line 297, in _add
    self._ck, incsz = _memcksum(b, self._ck)
TypeError: Argument 'by' has incorrect type (expected bytes, got int)
>>> c._add(bt)
>>> c.get_cksum()
935282863
>>> 
(venv) root@23a0ae90b64b:/# deactivate 
root@23a0ae90b64b:/# 
exit

Originally posted by @enkiusz in #2 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions