+++ /dev/null
-#include <frsh.h>
-#include <error.h>
-#include <res_dummy.h>
-#include <getopt.h>
-#include <ul_logreg.h>
-#include <wvtest.h>
-
-#define N 3
-
-int b[N] = { 10, 20, 30 };
-
-// TODO: Allow specifying loglevel in evironment
-
-// static struct option long_opts[] = {
-// { "loglevel", 1, 0, 'l' },
-// { 0, 0, 0, 0}
-// };
-
-// static void
-// usage(void)
-// {
-// printf("usage: negotiation [ options ]\n");
-// printf(" -l, --loglevel <number>|<domain>=<number>,...\n");
-// }
-
-int ret;
-frsh_contract_t contract[N];
-frsh_vres_id_t vres[N];
-frsh_rel_time_t budget, period, deadline;
-int i;
-
-WVTEST_MAIN("basic negotiation")
-{
-// char opt;
-
-// while ((opt = getopt_long(argc, argv, "l:", &long_opts[0], NULL)) != EOF) {
-// switch (opt) {
-// case 'l':
- ul_log_domain_arg2levels("forb_proto_inet=6");
-// break;
-// case 'h':
-// /\*default:*\/
-// usage();
-// exit(opt == 'h' ? 0 : 1);
-// }
-// }
-
- ret = WVFRSH(frsh_init());
- if (ret) exit(1);
-
- /* Negotiate N contracts */
- for (i=0; i<N; i++) {
- ret = WVFRSH(frsh_contract_init(&contract[i]));
- if (ret) exit(1);
-
- ret = WVFRSH(frsh_contract_set_resource_and_label(
- &contract[i],
- DUMMY_RESOURCE_TYPE, DUMMY_RESOURCE_ID,
- NULL));
- if (ret) exit(1);
-
- budget = fosa_msec_to_rel_time(b[i]);
- period = fosa_msec_to_rel_time(100);
- deadline = fosa_msec_to_rel_time(50);
- ret = WVFRSH(frsh_contract_set_basic_params(&contract[i],
- &budget,
- &period,
- FRSH_WT_BOUNDED,
- FRSH_CT_REGULAR));
- if (ret) exit(1);
-
- ret = WVFRSH(frsh_contract_set_timing_reqs(&contract[i],
- false, &deadline));
- if (ret) exit(1);
-
- ret = WVFRSH(frsh_contract_negotiate(&contract[i], &vres[i]));
- if (ret) exit(1);
- }
-}
-
-WVTEST_MAIN("renegotiation")
-{
- for (i=0; i<2 /*N*/; i++) {
- // FIXME: There is a bug on the test - the 3rd renegotiation fails
- budget = fosa_msec_to_rel_time(2*b[i]);
- period = fosa_msec_to_rel_time(110);
- ret = WVFRSH(frsh_contract_set_basic_params(&contract[i],
- &budget,
- &period,
- FRSH_WT_BOUNDED,
- FRSH_CT_REGULAR));
- if (ret) exit(1);
-
- ret = WVFRSH(frsh_contract_renegotiate_sync(&contract[i], vres[i]));
- if (ret) exit(1);
- }
-}
-
-WVTEST_MAIN("cancelation")
-{
- /* Cancel N contracts */
- for (i=0; i<N; i++) {
- ret = WVFRSH(frsh_contract_cancel(vres[i]));
- if (ret) exit(1);
- }
-
- frsh_destroy();
-}