mirror of https://gitee.com/openkylin/libvirt.git
virsh: Move cmdSelfTest to vsh
This command should be exposed to other shells of ours. They are gonna need it as soon as we want to test them too. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
64bc75f756
commit
d920090c72
|
@ -346,44 +346,6 @@ virshConnectionHandler(vshControl *ctl)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/* -----------------
|
||||
* Command self-test
|
||||
* ----------------- */
|
||||
|
||||
static const vshCmdInfo info_selftest[] = {
|
||||
{.name = "help",
|
||||
.data = N_("internal command for testing virsh")
|
||||
},
|
||||
{.name = "desc",
|
||||
.data = N_("internal use only")
|
||||
},
|
||||
{.name = NULL}
|
||||
};
|
||||
|
||||
/* Prints help for every command.
|
||||
* That runs vshCmddefOptParse which validates
|
||||
* the per-command options structure. */
|
||||
static bool
|
||||
cmdSelfTest(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
|
||||
{
|
||||
const vshCmdGrp *grp;
|
||||
const vshCmdDef *def;
|
||||
|
||||
vshPrint(ctl, "Do not use the following output:\n\n");
|
||||
|
||||
for (grp = cmdGroups; grp->name; grp++) {
|
||||
for (def = grp->commands; def->name; def++) {
|
||||
if (def->flags & VSH_CMD_FLAG_ALIAS)
|
||||
continue;
|
||||
|
||||
if (!vshCmddefHelp(ctl, def->name))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/* ---------------
|
||||
* Misc utils
|
||||
|
@ -894,18 +856,13 @@ static const vshCmdDef virshCmds[] = {
|
|||
VSH_CMD_HELP,
|
||||
VSH_CMD_PWD,
|
||||
VSH_CMD_QUIT,
|
||||
VSH_CMD_SELF_TEST,
|
||||
{.name = "connect",
|
||||
.handler = cmdConnect,
|
||||
.opts = opts_connect,
|
||||
.info = info_connect,
|
||||
.flags = VSH_CMD_FLAG_NOCONNECT
|
||||
},
|
||||
{.name = "self-test",
|
||||
.handler = cmdSelfTest,
|
||||
.opts = NULL,
|
||||
.info = info_selftest,
|
||||
.flags = VSH_CMD_FLAG_NOCONNECT | VSH_CMD_FLAG_ALIAS
|
||||
},
|
||||
{.name = NULL}
|
||||
};
|
||||
|
||||
|
|
38
tools/vsh.c
38
tools/vsh.c
|
@ -3328,3 +3328,41 @@ cmdQuit(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
|
|||
ctl->imode = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* -----------------
|
||||
* Command self-test
|
||||
* ----------------- */
|
||||
|
||||
const vshCmdInfo info_selftest[] = {
|
||||
{.name = "help",
|
||||
.data = N_("internal command for testing virt shells")
|
||||
},
|
||||
{.name = "desc",
|
||||
.data = N_("internal use only")
|
||||
},
|
||||
{.name = NULL}
|
||||
};
|
||||
|
||||
/* Prints help for every command.
|
||||
* That runs vshCmddefOptParse which validates
|
||||
* the per-command options structure. */
|
||||
bool
|
||||
cmdSelfTest(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
|
||||
{
|
||||
const vshCmdGrp *grp;
|
||||
const vshCmdDef *def;
|
||||
|
||||
vshPrint(ctl, "Do not use the following output:\n\n");
|
||||
|
||||
for (grp = cmdGroups; grp->name; grp++) {
|
||||
for (def = grp->commands; def->name; def++) {
|
||||
if (def->flags & VSH_CMD_FLAG_ALIAS)
|
||||
continue;
|
||||
|
||||
if (!vshCmddefHelp(ctl, def->name))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
11
tools/vsh.h
11
tools/vsh.h
|
@ -376,12 +376,14 @@ extern const vshCmdOptDef opts_echo[];
|
|||
extern const vshCmdInfo info_echo[];
|
||||
extern const vshCmdInfo info_pwd[];
|
||||
extern const vshCmdInfo info_quit[];
|
||||
extern const vshCmdInfo info_selftest[];
|
||||
|
||||
bool cmdHelp(vshControl *ctl, const vshCmd *cmd);
|
||||
bool cmdCd(vshControl *ctl, const vshCmd *cmd);
|
||||
bool cmdEcho(vshControl *ctl, const vshCmd *cmd);
|
||||
bool cmdPwd(vshControl *ctl, const vshCmd *cmd);
|
||||
bool cmdQuit(vshControl *ctl, const vshCmd *cmd);
|
||||
bool cmdSelfTest(vshControl *ctl, const vshCmd *cmd);
|
||||
|
||||
# define VSH_CMD_CD \
|
||||
{ \
|
||||
|
@ -437,6 +439,15 @@ bool cmdQuit(vshControl *ctl, const vshCmd *cmd);
|
|||
.flags = VSH_CMD_FLAG_NOCONNECT \
|
||||
}
|
||||
|
||||
# define VSH_CMD_SELF_TEST \
|
||||
{ \
|
||||
.name = "self-test", \
|
||||
.handler = cmdSelfTest, \
|
||||
.opts = NULL, \
|
||||
.info = info_selftest, \
|
||||
.flags = VSH_CMD_FLAG_NOCONNECT | VSH_CMD_FLAG_ALIAS \
|
||||
}
|
||||
|
||||
|
||||
/* readline */
|
||||
char * vshReadline(vshControl *ctl, const char *prompt);
|
||||
|
|
Loading…
Reference in New Issue