Test storing large values
(name)
| 202 | results.fail(f"special: {key}", expected, actual) |
| 203 | |
| 204 | def test_large_value(name): |
| 205 | """Test storing large values""" |
| 206 | print("\n[Test: Large Values]") |
| 207 | |
| 208 | sizes = [1_000, 10_000, 100_000, 1_000_000] |
| 209 | |
| 210 | for size in sizes: |
| 211 | key = f"large_{size}" |
| 212 | value = "x" * size |
| 213 | |
| 214 | try: |
| 215 | run_in_txn(name, lambda t, k=key, v=value: upsert(name, t, k, v)) |
| 216 | actual = lookup(name, key) |
| 217 | if len(actual) == size and actual == value: |
| 218 | results.ok(f"large value ({size:,} bytes)") |
| 219 | else: |
| 220 | results.fail(f"large value ({size:,} bytes)", f"len={size}", f"len={len(actual)}") |
| 221 | except Exception as e: |
| 222 | results.error(f"large value ({size:,} bytes)", e) |
| 223 | |
| 224 | def test_json_value(name): |
| 225 | """Test storing JSON as value""" |