libbrandt/test_brandt.c

125 lines
2.7 KiB
C
Raw Normal View History

/* This file is part of libbrandt.
* Copyright (C) 2016 GNUnet e.V.
*
* libbrandt is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* libbrandt is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* libbrandt. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file test_brandt.c
* @brief testing API functions.
* @author Markus Teich
*/
#include "platform.h"
#include <gnunet/gnunet_util_lib.h>
#include "brandt.h"
#include "crypto.h"
#include "test.h"
#include "util.h"
static void
run_new_join (void *arg)
{
int *ret = arg;
const char description[] = "test description for test_new_join";
struct BRANDT_Auction *ad_seller;
struct BRANDT_Auction *ad_bidder;
void *desc;
size_t desc_len;
ad_seller = BRANDT_new (NULL,
NULL,
NULL,
&desc,
&desc_len,
description,
sizeof (description),
GNUNET_TIME_absolute_get (),
GNUNET_TIME_UNIT_MINUTES,
8,
0,
1);
if (!ad_seller)
{
weprintf ("BRANDT_new() failed.");
*ret = 0;
return;
}
ad_bidder = BRANDT_join (NULL,
NULL,
NULL,
NULL,
desc,
desc_len,
description,
sizeof (description));
if (!ad_bidder)
{
weprintf ("BRANDT_join() failed.");
*ret = 0;
return;
}
BRANDT_destroy (ad_seller);
BRANDT_destroy (ad_bidder);
*ret = 1;
}
static int
test_new_join ()
{
int ret = 0;
GNUNET_SCHEDULER_run (&run_new_join, &ret);
return ret;
}
/*
static void
cleanup_auction_data ()
{
for (uint16_t i = 0; i < bidders; i++)
{
}
free (ad);
}
*/
int
main (int argc, char *argv[])
{
int repeat = 1;
struct GNUNET_CRYPTO_EccDlogContext *edc;
edc = GNUNET_CRYPTO_ecc_dlog_prepare (1024, 16);
BRANDT_init (edc);
RUN (test_new_join);
for (tests_run = 0; tests_run < repeat; tests_run++)
{
}
GNUNET_CRYPTO_ecc_dlog_release (edc);
return ret;
}