summaryrefslogtreecommitdiffstats
path: root/src/vppinfra/test_macros.c
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2020-06-18 17:04:18 -0400
committerDamjan Marion <dmarion@me.com>2020-06-19 07:03:34 +0000
commit961e3c8428be81ae74f7e8ee293b16808a74d45e (patch)
treee4fbff493e10fb6a6979d0ae503b77e569d8f4f2 /src/vppinfra/test_macros.c
parentfb4df27faecde54e610d41a84d9ee71234347316 (diff)
vlib: add recursive macro expander to debug cli
All of the pieces have been sitting around for years. Added several debug CLI commands: "define <variable-name> <value>" "undefine <variable-name>" "show macro [noeval]" "echo <whatever>" Macros may refer to other macros. To defer evaluation: "define foo \$(bar)" or some such. The macro evaluator is not smart about "define foo \$(foo)" or more complicated circular definitions, so don't do that. Environment variables are available, simply use $<name-of-environment-vbl> The macro expander has a table of (overrideable) builtin names, which are evaluated by calling functions. Simple example: echo $USER define ip1 192.168.1.1/24 define ip2 192.168.2.1/24 loop create loop create set int ip address loop0 $ip1 set int ip address loop1 $ip2 show int addr show macro undefine ip1 undefine ip2 Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I08a800647bac573d8ae3cfd75c40061d41c5f976
Diffstat (limited to 'src/vppinfra/test_macros.c')
-rw-r--r--src/vppinfra/test_macros.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vppinfra/test_macros.c b/src/vppinfra/test_macros.c
index cf6172ab1f1..f130604d691 100644
--- a/src/vppinfra/test_macros.c
+++ b/src/vppinfra/test_macros.c
@@ -16,12 +16,12 @@
#include <vppinfra/macros.h>
-macro_main_t macro_main;
+clib_macro_main_t clib_macro_main;
int
test_macros_main (unformat_input_t * input)
{
- macro_main_t *mm = &macro_main;
+ clib_macro_main_t *mm = &clib_macro_main;
clib_macro_init (mm);