blob: 05299b38e3fdebc9a5df2996304c08edb9e8dcf3 [file] [log] [blame]
Ed Warnickecb9cada2015-12-08 15:45:58 -07001/*
2 Copyright (c) 2014 Cisco and/or its affiliates.
3
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at:
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15*/
16
17#include <vppinfra/macros.h>
18
19macro_main_t macro_main;
20
Dave Barachc3799992016-08-15 11:12:27 -040021int
22test_macros_main (unformat_input_t * input)
Ed Warnickecb9cada2015-12-08 15:45:58 -070023{
Dave Barachc3799992016-08-15 11:12:27 -040024 macro_main_t *mm = &macro_main;
Ed Warnickecb9cada2015-12-08 15:45:58 -070025
Dave Barachc3799992016-08-15 11:12:27 -040026 clib_macro_init (mm);
Ed Warnickecb9cada2015-12-08 15:45:58 -070027
Dave Barachc3799992016-08-15 11:12:27 -040028 fformat (stdout, "hostname: %s\n",
Ole Troan73710c72018-06-04 22:27:49 +020029 clib_macro_eval_dollar (mm, (i8 *) "hostname", 1 /* complain */ ));
Ed Warnickecb9cada2015-12-08 15:45:58 -070030
31 clib_macro_set_value (mm, "foo", "this is foo which contains $(bar)");
32 clib_macro_set_value (mm, "bar", "bar");
33
34 fformat (stdout, "evaluate: %s\n",
Ole Troan73710c72018-06-04 22:27:49 +020035 clib_macro_eval (mm, (i8 *) "returns '$(foo)'",
36 1 /* complain */ ));
Ed Warnickecb9cada2015-12-08 15:45:58 -070037
38 clib_macro_free (mm);
39
40 return 0;
41}
42
43#ifdef CLIB_UNIX
Dave Barachc3799992016-08-15 11:12:27 -040044int
45main (int argc, char *argv[])
Ed Warnickecb9cada2015-12-08 15:45:58 -070046{
47 unformat_input_t i;
48 int ret;
49
50 unformat_init_command_line (&i, argv);
51 ret = test_macros_main (&i);
52 unformat_free (&i);
53
54 return ret;
55}
56#endif /* CLIB_UNIX */
57
Dave Barachc3799992016-08-15 11:12:27 -040058
59/*
60 * fd.io coding-style-patch-verification: ON
61 *
62 * Local Variables:
63 * eval: (c-set-style "gnu")
64 * End:
65 */