Compare commits

...

3 commits

4 changed files with 15 additions and 9 deletions

View file

@ -55,3 +55,8 @@ def test_encode_examples(val, width, qint):
assert (
encoded_qint == qint
), f"did not encode {val} to {qint}; got {encoded_qint} ({decoded_val})"
# Previously failed test values -
# 4294967296
# 18446744073709551616
# 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096

View file

@ -5,21 +5,22 @@ from hypothesis.strategies import integers
import proquint
@given(integers(min_value=0, max_value=1 << 16))
def test_round_trip_16(val):
assert proquint.Proquint.decode(proquint.Proquint.encode(val, 16)) == val
def test_round_trip_16():
for val in range(0, 1<<16):
assert proquint.Proquint.decode(proquint.Proquint.encode(val, 16)) == val
@given(integers(min_value=0, max_value=1 << 32))
@given(integers(min_value=1<<16, max_value=1 << 32 - 1))
def test_round_trip_32(val):
assert proquint.Proquint.decode(proquint.Proquint.encode(val, 32)) == val
@given(integers(min_value=0, max_value=1 << 64))
@given(integers(min_value=1<<16, max_value=1 << 64 - 1))
def test_round_trip_64(val):
assert proquint.Proquint.decode(proquint.Proquint.encode(val, 64)) == val
@given(integers(min_value=0, max_value=1 << 512))
@given(integers(min_value=1<<16, max_value=1 << 512 - 1))
def test_round_trip_512(val):
assert proquint.Proquint.decode(proquint.Proquint.encode(val, 512)) == val

View file

@ -98,12 +98,12 @@ def create_file(location: Optional[str] = None):
return {"error": "file exists already"}, 409
file.save(sanitized_path)
fid = ctx.db.create_file(
row = ctx.db.create_file(
uid=ctx.uid, filename=file.filename, path=sanitized_path
)
if request.form.get("print", "").lower() == "true":
ctx.db.create_job(uid=ctx.uid, fid=fid)
ctx.db.create_job(uid=ctx.uid, fid=row.id)
return {"status": "ok"}, 202

View file

@ -10,9 +10,9 @@ Mostly related to monitoring and managing Printer state.
from contextlib import closing
import logging
from pathlib import Path
from pprint import pformat
from typing import Callable
from urllib import parse as urlparse
from pprint import pformat
from cherrypy.process.plugins import Monitor
from fastmail import FastMailSMTP