Annotation of embedaddon/quagga/tests/common-cli.c, revision 1.1.1.1

1.1       misho       1: /*
                      2:  * generic CLI test helper functions
                      3:  *
                      4:  * Copyright (C) 2015 by David Lamparter,
                      5:  *                   for Open Source Routing / NetDEF, Inc.
                      6:  *
                      7:  * Quagga is free software; you can redistribute it and/or modify it
                      8:  * under the terms of the GNU General Public License as published by the
                      9:  * Free Software Foundation; either version 2, or (at your option) any
                     10:  * later version.
                     11:  *
                     12:  * Quagga is distributed in the hope that it will be useful, but
                     13:  * WITHOUT ANY WARRANTY; without even the implied warranty of
                     14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                     15:  * General Public License for more details.
                     16:  *
                     17:  * You should have received a copy of the GNU General Public License
                     18:  * along with Quagga; see the file COPYING.  If not, write to the Free
                     19:  * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
                     20:  * 02111-1307, USA.
                     21:  */
                     22: 
                     23: #include <zebra.h>
                     24: 
                     25: #include "thread.h"
                     26: #include "vty.h"
                     27: #include "command.h"
                     28: #include "memory.h"
                     29: #include "log.h"
                     30: 
                     31: #include "common-cli.h"
                     32: 
                     33: struct thread_master *master;
                     34: 
                     35: int dump_args(struct vty *vty, const char *descr,
                     36:               int argc, const char **argv)
                     37: {
                     38:   int i;
                     39:   vty_out (vty, "%s with %d args.%s", descr, argc, VTY_NEWLINE);
                     40:   for (i = 0; i < argc; i++)
                     41:     {
                     42:       vty_out (vty, "[%02d]: %s%s", i, argv[i], VTY_NEWLINE);
                     43:     }
                     44: 
                     45:   return CMD_SUCCESS;
                     46: }
                     47: 
                     48: static void vty_do_exit(void)
                     49: {
                     50:   printf ("\nend.\n");
                     51:   exit (0);
                     52: }
                     53: 
                     54: /* main routine. */
                     55: int
                     56: main (int argc, char **argv)
                     57: {
                     58:   struct thread thread;
                     59: 
                     60:   /* Set umask before anything for security */
                     61:   umask (0027);
                     62: 
                     63:   /* master init. */
                     64:   master = thread_master_create ();
                     65: 
                     66:   zlog_default = openzlog ("common-cli", ZLOG_NONE,
                     67:                            LOG_CONS|LOG_NDELAY|LOG_PID, LOG_DAEMON);
                     68:   zlog_set_level (NULL, ZLOG_DEST_SYSLOG, ZLOG_DISABLED);
                     69:   zlog_set_level (NULL, ZLOG_DEST_STDOUT, ZLOG_DISABLED);
                     70:   zlog_set_level (NULL, ZLOG_DEST_MONITOR, LOG_DEBUG);
                     71: 
                     72:   /* Library inits. */
                     73:   cmd_init (1);
                     74:   host.name = strdup ("test");
                     75: 
                     76:   vty_init (master);
                     77:   memory_init ();
                     78: 
                     79:   test_init ();
                     80: 
                     81:   vty_stdio (vty_do_exit);
                     82: 
                     83:   /* Fetch next active thread. */
                     84:   while (thread_fetch (master, &thread))
                     85:     thread_call (&thread);
                     86: 
                     87:   /* Not reached. */
                     88:   exit (0);
                     89: }
                     90: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>