int
main (int argc, char *argv[])
{
  if (argc > 1 && strcmp (argv[1], "-s") == 0)
    option_libc_scanf = 1;

  tests_start ();

  mp_trace_base = 16;

  check_z ();
  check_q ();
  check_f ();
  check_n ();
  check_misc ();

  unlink (TEMPFILE);
  tests_end ();
  exit (0);
}
Пример #2
0
int
main (int argc, char *argv[])
{
  if (argc > 1 && strcmp (argv[1], "-s") == 0)
    option_check_printf = 1;

  tests_start ();
  check_vfprintf_fp = fopen (CHECK_VFPRINTF_FILENAME, "w+");
  ASSERT_ALWAYS (check_vfprintf_fp != NULL);

  check_z ();
  check_q ();
  check_f ();
  check_limb ();
  check_n ();
  check_misc ();

  ASSERT_ALWAYS (fclose (check_vfprintf_fp) == 0);
  unlink (CHECK_VFPRINTF_FILENAME);
  tests_end ();
  exit (0);
}
Пример #3
0
int
main(int argc, char **argv)
{
	int j;
	int n_failed = 0;
#define DO(fn) do {                             \
		printf("."); fflush(stdout);	\
		if (fn) {			\
			++n_failed;		\
			printf("%s failed\n", #fn);	\
		}					\
        } while (0)

#define DO_N(n, fn) do {			\
		for (j = 0; j < (n); ++j) {	\
			DO(fn);			\
		}				\
	} while (0)

        DO(check_misc());
	DO(check_open_close(1000, 1000));
	DO(check_open_close(0, TIMEOUT_mHZ));

	struct rand_cfg cfg1 = {
		.min_timeout = 1,
		.max_timeout = 100,
		.start_at = 5,
		.end_at = 1000,
		.n_timeouts = 1000,
		.max_step = 10,
		.relative = 0,
		.try_removing = 0,
		.finalize = 2,
		};
	DO_N(300,check_randomized(&cfg1));

	struct rand_cfg cfg2 = {
		.min_timeout = 20,
		.max_timeout = 1000,
		.start_at = 10,
		.end_at = 100,
		.n_timeouts = 1000,
		.max_step = 5,
		.relative = 1,
		.try_removing = 0,
		.finalize = 2,
		};
	DO_N(300,check_randomized(&cfg2));

	struct rand_cfg cfg2b = {
		.min_timeout = 20,
		.max_timeout = 1000,
		.start_at = 10,
		.end_at = 100,
		.n_timeouts = 1000,
		.max_step = 5,
		.relative = 1,
		.try_removing = 0,
		.finalize = 1,
		};
	DO_N(300,check_randomized(&cfg2b));

	struct rand_cfg cfg2c = {
		.min_timeout = 20,
		.max_timeout = 1000,
		.start_at = 10,
		.end_at = 100,
		.n_timeouts = 1000,
		.max_step = 5,
		.relative = 1,
		.try_removing = 0,
		.finalize = 0,
		};
	DO_N(300,check_randomized(&cfg2c));

	struct rand_cfg cfg3 = {
		.min_timeout = 2000,
		.max_timeout = ((uint64_t)1) << 50,
		.start_at = 100,
		.end_at = ((uint64_t)1) << 49,
		.n_timeouts = 1000,
		.max_step = 1<<31,
		.relative = 0,
		.try_removing = 0,
		.finalize = 2,
		};
	DO_N(10,check_randomized(&cfg3));

	struct rand_cfg cfg3b = {
		.min_timeout = ((uint64_t)1) << 50,
		.max_timeout = ((uint64_t)1) << 52,
		.start_at = 100,
		.end_at = ((uint64_t)1) << 53,
		.n_timeouts = 1000,
		.max_step = ((uint64_t)1)<<48,
		.relative = 0,
		.try_removing = 0,
		.finalize = 2,
		};
	DO_N(10,check_randomized(&cfg3b));

	struct rand_cfg cfg4 = {
		.min_timeout = 2000,
		.max_timeout = ((uint64_t)1) << 30,
		.start_at = 100,
		.end_at = ((uint64_t)1) << 26,
		.n_timeouts = 10000,
		.max_step = 1<<16,
		.relative = 0,
		.try_removing = 3,
		.finalize = 2,
		};
	DO_N(10,check_randomized(&cfg4));

	const timeout_t primes[] = {
		2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,
		59,61,67,71,73,79,83,89,97
	};
	const timeout_t factors_of_1337[] = {
		1, 7, 191, 1337
	};
	const timeout_t multiples_of_five[] = {
		5, 10, 15, 20, 25, 30, 35, 40, 45, 50
	};

	struct intervals_cfg icfg1 = {
		.timeouts = primes,
		.n_timeouts = sizeof(primes)/sizeof(timeout_t),
		.start_at = 50,
		.end_at = 5322,
		.skip = 0,
	};
	DO(check_intervals(&icfg1));

	struct intervals_cfg icfg2 = {
		.timeouts = factors_of_1337,
		.n_timeouts = sizeof(factors_of_1337)/sizeof(timeout_t),
		.start_at = 50,
		.end_at = 50000,
		.skip = 0,
	};
	DO(check_intervals(&icfg2));

	struct intervals_cfg icfg3 = {
		.timeouts = multiples_of_five,
		.n_timeouts = sizeof(multiples_of_five)/sizeof(timeout_t),
		.start_at = 49,
		.end_at = 5333,
		.skip = 0,
	};
	DO(check_intervals(&icfg3));

	struct intervals_cfg icfg4 = {
		.timeouts = primes,
		.n_timeouts = sizeof(primes)/sizeof(timeout_t),
		.start_at = 50,
		.end_at = 5322,
		.skip = 16,
	};
	DO(check_intervals(&icfg4));

        if (n_failed) {
          puts("\nFAIL");
        } else {
          puts("\nOK");
        }
	return !!n_failed;
}