FIX Handle large lengths and negative lengths in hiwire_get_length. While investigating this bug:

> ```
> Pyodide has suffered a fatal error. Please report this to the Pyodide maintainers.
> The cause of the fatal error was:
> PythonError: OverflowError: Python int too large to convert to C ssize_t
> ```
> 
> _Originally posted by @amitsaha in https://github.com/pyodide/pyodide/issues/2584#issuecomment-1139530294_

I found a different one. Turns out handling lengths correctly is quite hard.
import os
import subprocess
from pathlib import Path

PYODIDE_ROOT = Path(os.environ.get("PYODIDE_ROOT", os.getcwd()))


def test_run_docker_script():
    res = subprocess.run(
        ["bash", str(PYODIDE_ROOT / "run_docker"), "--help"],
        check=False,
        capture_output=True,
    )

    assert "Usage: run_docker" in res.stdout.decode("utf-8")

    res = subprocess.run(
        ["bash", str(PYODIDE_ROOT / "run_docker"), "--invalid-param"],
        check=False,
        capture_output=True,
    )
    assert res.returncode > 0
    assert "Unknown option --invalid-param" in res.stderr.decode("utf-8")

import os
import subprocess
from pathlib import Path

PYODIDE_ROOT = Path(os.environ.get("PYODIDE_ROOT", os.getcwd()))


def test_run_docker_script():
    res = subprocess.run(
        ["bash", str(PYODIDE_ROOT / "run_docker"), "--help"],
        check=False,
        capture_output=True,
    )

    assert "Usage: run_docker" in res.stdout.decode("utf-8")

    res = subprocess.run(
        ["bash", str(PYODIDE_ROOT / "run_docker"), "--invalid-param"],
        check=False,
        capture_output=True,
    )
    assert res.returncode > 0
    assert "Unknown option --invalid-param" in res.stderr.decode("utf-8")
