See the discussion on #2174. An uncaught C++ error on main causes an error like:
```
TypeError: Cannot create property 'pyodide_fatal_error' on number '28811048'
```
With this the same error looks like:
```
Pyodide has suffered a fatal error. Please report this to the Pyodide maintainers.
The cause of the fatal error was:
CppException: Unable to cast Python instance to C++ type (compile in debug mode for details)
```
Support for C++ exceptions in packages. See the discussion on #2174. An uncaught C++ error on main causes an error like:
```
TypeError: Cannot create property 'pyodide_fatal_error' on number '28811048'
```
With this the same error looks like:
```
Pyodide has suffered a fatal error. Please report this to the Pyodide maintainers.
The cause of the fatal error was:
CppException: Unable to cast Python instance to C++ type (compile in debug mode for details)
```
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"]
