def custom_name_func(testcase_func, param_num, param):
    "\n  A custom test name function that will ensure that the tests are run such that they're batched with all tests for a\n  given data set are run together, avoiding re-reading the data more than necessary. Tests are run in alphabetical\n  order, so put the test case first. An alternate option is to right justify the test number (param_num) with zeroes\n  so that the numerical and alphabetical orders are the same. Not providing this method when there are more than 10\n  tests results in tests running in an order similar to:\n\n  test_*.test_scenario_0_*\n\n  test_*.test_scenario_10_*\n\n  test_*.test_scenario_11_*\n\n  ...\n\n  test_*.test_scenario_19_*\n\n  test_*.test_scenario_1_*\n\n  test_*.test_scenario_20_*\n  "
    global logger
    logger.debug('custom_name_func: function name = %s, param_num = {0:0>3}, param.args = %s'.format(param_num), testcase_func.__name__, param.args)
    return str(('%s_%s' % (testcase_func.__name__, parameterized.to_safe_name('_'.join((str(x) for x in param.args))))))
A custom test name function that will ensure that the tests are run such that they're batched with all tests for a
given data set are run together, avoiding re-reading the data more than necessary. Tests are run in alphabetical
order, so put the test case first. An alternate option is to right justify the test number (param_num) with zeroes
so that the numerical and alphabetical orders are the same. Not providing this method when there are more than 10
tests results in tests running in an order similar to:

test_*.test_scenario_0_*

test_*.test_scenario_10_*

test_*.test_scenario_11_*

...

test_*.test_scenario_19_*

test_*.test_scenario_1_*

test_*.test_scenario_20_*
def custom_name_func(testcase_func, param_num, param):
    "\n  A custom test name function that will ensure that the tests are run such that they're batched with all tests for a\n  given data set are run together, avoiding re-reading the data more than necessary. Tests are run in alphabetical\n  order, so put the test case first. An alternate option is to right justify the test number (param_num) with zeroes\n  so that the numerical and alphabetical orders are the same. Not providing this method when there are more than 10\n  tests results in tests running in an order similar to:\n\n  test_*.test_scenario_0_*\n\n  test_*.test_scenario_10_*\n\n  test_*.test_scenario_11_*\n\n  ...\n\n  test_*.test_scenario_19_*\n\n  test_*.test_scenario_1_*\n\n  test_*.test_scenario_20_*\n  "
    global logger
    logger.debug('custom_name_func: function name = %s, param_num = {0:0>3}, param.args = %s'.format(param_num), testcase_func.__name__, param.args)
    return str(('%s_%s' % (testcase_func.__name__, parameterized.to_safe_name('_'.join((str(x) for x in param.args))))))