int
main(int argc, char *argv[])
{
	gtk_init (&argc, &argv);
	
	if (argc > 1) {
		test_details (argv[1]);
	} else {
		chdir_base_dir (argv[0]);
		test_details ("test-data/der-certificate.crt");
	}
	
	return 0;
}
char * test_filter(flow_c * context, flow_interpolation_filter filter, char * msg, double expected_first_crossing,
                   double expected_second_crossing, double expected_near0, double near0_threshold, double expected_end)
{
    struct flow_interpolation_details * details = flow_interpolation_details_create_from(context, filter);
    flow_snprintf(msg, 255, "Filter=(%d) ", filter);
    bool result = test_details(context, details, msg, expected_first_crossing, expected_second_crossing, expected_near0,
                               near0_threshold, expected_end);
    flow_interpolation_details_destroy(context, details);
    if (!result)
        return msg;
    else
        return nullptr;
}