static void
pricedb_cleanup_result_handler(sixtp_child_result *result)
{
    if (result->data)
    {
        GNCPriceDB *db = (GNCPriceDB *) result->data;
        if (db) gnc_pricedb_destroy(db);
        result->data = NULL;
    }
}
static void
test_generation (void)
{
    for (iter = 0; iter < 20; iter++)
    {
        GNCPriceDB* db;
        g_message ("iter=%d", iter);
        session = qof_session_new ();
        db = get_random_pricedb (qof_session_get_book (session));
        if (!db)
        {
            failure_args ("gnc_random_price_db returned NULL",
                          __FILE__, __LINE__, "%d", iter);
            return;
        }
        if (gnc_pricedb_get_num_prices (db))
            test_db (db);

        gnc_pricedb_destroy (db);
        qof_session_end (session);
    }
}