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 sys
from pathlib import Path

sys.path.append(str(Path(__file__).parents[2] / "tools"))

from pytest_wrapper import remove_num_threads_option


def test_find_imports():
    args = ["-v", "-n", "3"]
    remove_num_threads_option(args)
    assert args == ["-v"]

    args = ["-v", "-n", "3", "-k", "firefox"]
    remove_num_threads_option(args)
    assert args == ["-v", "-k", "firefox"]

import sys
from pathlib import Path

sys.path.append(str(Path(__file__).parents[2] / "tools"))

from pytest_wrapper import remove_num_threads_option


def test_find_imports():
    args = ["-v", "-n", "3"]
    remove_num_threads_option(args)
    assert args == ["-v"]

    args = ["-v", "-n", "3", "-k", "firefox"]
    remove_num_threads_option(args)
    assert args == ["-v", "-k", "firefox"]
