def _split_nonparallel_tests(test, sliced):
    """
    Split test suite into parallel and serial tests.
    """
    ptests = []
    stests = []

    flat = [*filter(sliced, _flatten_suite(test))]

    def is_parallelizable_test_case(test):
        # Guard for the fake test case created by unittest when test
        # discovery fails, as it isn't picklable (e.g. "LoadTestsFailure")
        method_name = test._testMethodName
        method = getattr(test, method_name)
        if method.__name__ != method_name and method.__name__ == "testFailure":
            return False
        # Was parallel execution explicitly disabled?
        return getattr(test, "_numba_parallel_test_", True)

    for t in flat:
        if is_parallelizable_test_case(t):
            ptests.append(t)
        else:
            stests.append(t)

    return ptests, stests

    Split test suite into parallel and serial tests.
    
numba/testing/main.py