aboutsummaryrefslogtreecommitdiffstats
path: root/src/vppinfra/vector/test/test.c
blob: 0e90bacce492fbe9d91e8876a08d72bfd4fd21a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/* SPDX-License-Identifier: Apache-2.0
 * Copyright(c) 2021 Cisco Systems, Inc.
 */

#include <vppinfra/format.h>
#include <vppinfra/vector/test/test.h>

test_registration_t *test_registrations[CLIB_MARCH_TYPE_N_VARIANTS] = {};

int
main (int argc, char *argv[])
{
  clib_mem_init (0, 64ULL << 20);

  for (int i = 0; i < CLIB_MARCH_TYPE_N_VARIANTS; i++)
    {
      test_registration_t *r = test_registrations[i];

      if (r == 0)
	continue;

      fformat (stdout, "\nMultiarch Variant: %U\n", format_march_variant, i);
      fformat (stdout,
	       "-------------------------------------------------------\n");
      while (r)
	{
	  clib_error_t *err;
	  err = (r->fn) (0);
	  fformat (stdout, "%-50s %s\n", r->name, err ? "FAIL" : "PASS");
	  if (err)
	    {
	      clib_error_report (err);
	      fformat (stdout, "\n");
	    }

	  r = r->next;
	}
    }

  fformat (stdout, "\n");
  return 0;
}