def METHOD_NAME(item, call):
    """
        We (Basilisk) use this function to do two things:
        1) append the docstrings to the test log extras
        2) print test plots to the test log extras
        This is kept neat by inserting a table into the extras to separate the two things.
    """
    pytest_html = item.config.pluginmanager.getplugin('html')
    outcome = yield
    if item.config.option.htmlpath:  # don't save pictures etc. if not making a report
        report = outcome.get_result()
        extra = getattr(report, 'extra', [])
        # add the doc string
        extra.append(pytest_html.extras.html(get_docstring(item)))
        # save the figures
        dir_name = testFigsDir + get_test_name(item)
        i = 0
        if len(plt.get_fignums()) > 0:
            while i > -1:  # this loops makes a numbered directory per run of the same test to avoid overwrite
                dir_name_num = dir_name + '_' + str(i) + '/'
                if not os.path.exists(dir_name_num):
                    os.makedirs(dir_name_num)
                    break
                else:
                    i += 1
                    continue
            for f in plt.get_fignums():
                if not os.path.exists(dir_name_num):
                    time.sleep(0.02)
                filename = dir_name_num + 'figure_' + str(f) + '.svg'
                plt.figure(f).savefig(filename, transparent=True)
                plt.close(f)  # prevents saving same image multiple times
                img_src = 'assets' + filename.split('assets')[1]  # just want a relative (to report) path here
                extra.append(pytest_html.extras.html('<a href="' + img_src +'"><img src="' + img_src +
                                                     '" style="width:30em;float:left;"></a>'))
        else:
            extra.append(pytest_html.extras.html('<tt> This test has no images.<br></tt>'))
        extra.append(pytest_html.extras.html('<br style="clear:left;">'))
        report.extra = extra