Old usage is still accepted but causes a deprecation warning, saying
we will remove it in v0.21. Similar to #2300. I am planning to add
an option to do wasm compilation in a subsequent PR.

I also did some cleanup from #2300 and added tests for the deprecation 
warnings.
Change extract_dir argument of unpackArchive to be a keyword argument. Old usage is still accepted but causes a deprecation warning, saying
we will remove it in v0.21. Similar to #2300. I am planning to add
an option to do wasm compilation in a subsequent PR.

I also did some cleanup from #2300 and added tests for the deprecation 
warnings.
from pyodide_build.testing import run_in_pyodide


@run_in_pyodide(packages=["fpcast-test"])
def test_fpcasts():
    import fpcast_test

    fpcast_test.noargs0()
    fpcast_test.noargs1()
    fpcast_test.noargs2()
    fpcast_test.noargs3()

    fpcast_test.varargs0()
    fpcast_test.varargs1()
    fpcast_test.varargs2()
    fpcast_test.varargs3()

    fpcast_test.kwargs0()
    fpcast_test.kwargs1()
    fpcast_test.kwargs2()
    fpcast_test.kwargs3()

    fpcast_test.Callable0()()
    fpcast_test.Callable1()()
    fpcast_test.Callable2()()
    fpcast_test.Callable3()()

    t = fpcast_test.TestType()
    t.noargs0()
    t.noargs1()
    t.noargs2()
    t.noargs3()

    t.varargs0()
    t.varargs1()
    t.varargs2()
    t.varargs3()

    t.kwargs0()
    t.kwargs1()
    t.kwargs2()
    t.kwargs3()

    t.getset0
    t.getset1
    t.getset1 = 5

from pyodide_build.testing import run_in_pyodide


@run_in_pyodide(packages=["fpcast-test"])
def test_fpcasts():
    import fpcast_test

    fpcast_test.noargs0()
    fpcast_test.noargs1()
    fpcast_test.noargs2()
    fpcast_test.noargs3()

    fpcast_test.varargs0()
    fpcast_test.varargs1()
    fpcast_test.varargs2()
    fpcast_test.varargs3()

    fpcast_test.kwargs0()
    fpcast_test.kwargs1()
    fpcast_test.kwargs2()
    fpcast_test.kwargs3()

    fpcast_test.Callable0()()
    fpcast_test.Callable1()()
    fpcast_test.Callable2()()
    fpcast_test.Callable3()()

    t = fpcast_test.TestType()
    t.noargs0()
    t.noargs1()
    t.noargs2()
    t.noargs3()

    t.varargs0()
    t.varargs1()
    t.varargs2()
    t.varargs3()

    t.kwargs0()
    t.kwargs1()
    t.kwargs2()
    t.kwargs3()

    t.getset0
    t.getset1
    t.getset1 = 5
