X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftest%2Fcommon%2Fget_command_descriptions.cc;fp=src%2Fceph%2Fsrc%2Ftest%2Fcommon%2Fget_command_descriptions.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=93a8e842d3bf42c079369a371edcb23672a76e1c;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/test/common/get_command_descriptions.cc b/src/ceph/src/test/common/get_command_descriptions.cc deleted file mode 100644 index 93a8e84..0000000 --- a/src/ceph/src/test/common/get_command_descriptions.cc +++ /dev/null @@ -1,129 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -/* - * Ceph - scalable distributed file system - * - * Copyright (C) 2013 Cloudwatt - * - * Author: Loic Dachary - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library Public License for more details. - * - */ - -#include -#include -#include "mon/Monitor.h" -#include "common/ceph_argparse.h" -#include "global/global_init.h" - -static void usage(ostream &out) -{ - out << "usage: get_command_descriptions [options ...]" << std::endl; - out << "print on stdout the result of JSON formatted options\n"; - out << "found in mon/MonCommands.h as produced by the\n"; - out << "Monitor.cc::get_command_descriptions function.\n"; - out << "Designed as a helper for ceph_argparse.py unit tests.\n"; - out << "\n"; - out << " --all all of mon/MonCommands.h \n"; - out << " --pull585 reproduce the bug fixed by #585\n"; - out << "\n"; - out << "Examples:\n"; - out << " get_command_descriptions --all\n"; - out << " get_command_descriptions --pull585\n"; -} - -static void json_print(const std::vector &mon_commands) -{ - bufferlist rdata; - Formatter *f = Formatter::create("json"); - Monitor::format_command_descriptions(mon_commands, f, &rdata); - delete f; - string data(rdata.c_str(), rdata.length()); - cout << data << std::endl; -} - -static void all() -{ -#undef FLAG -#undef COMMAND -#undef COMMAND_WITH_FLAG - std::vector mon_commands = { -#define FLAG(f) (MonCommand::FLAG_##f) -#define COMMAND(parsesig, helptext, modulename, req_perms, avail) \ - {parsesig, helptext, modulename, req_perms, avail, 0}, -#define COMMAND_WITH_FLAG(parsesig, helptext, modulename, req_perms, avail, flags) \ - {parsesig, helptext, modulename, req_perms, avail, flags}, -#include -#undef COMMAND -#undef COMMAND_WITH_FLAG - -#define COMMAND(parsesig, helptext, modulename, req_perms, avail) \ - {parsesig, helptext, modulename, req_perms, avail, FLAG(MGR)}, -#define COMMAND_WITH_FLAG(parsesig, helptext, modulename, req_perms, avail, flags) \ - {parsesig, helptext, modulename, req_perms, avail, flags | FLAG(MGR)}, -#include - #undef COMMAND -#undef COMMAND_WITH_FLAG - }; - - json_print(mon_commands); -} - -// syntax error https://github.com/ceph/ceph/pull/585 -static void pull585() -{ - std::vector mon_commands = { - { "osd pool create " - "name=pool,type=CephPoolname " - "name=pg_num,type=CephInt,range=0 " - "name=pgp_num,type=CephInt,range=0,req=false" // !!! missing trailing space - "name=properties,type=CephString,n=N,req=false,goodchars=[A-Za-z0-9-_.=]", - "create pool", "osd", "rw", "cli,rest" } - }; - - json_print(mon_commands); -} - -int main(int argc, char **argv) { - vector args; - argv_to_vec(argc, (const char **)argv, args); - - auto cct = global_init(NULL, args, CEPH_ENTITY_TYPE_CLIENT, - CODE_ENVIRONMENT_UTILITY, 0); - common_init_finish(g_ceph_context); - - if (args.empty()) { - usage(cerr); - exit(1); - } - for (std::vector::iterator i = args.begin(); i != args.end(); ++i) { - string err; - - if (*i == string("help") || *i == string("-h") || *i == string("--help")) { - usage(cout); - exit(0); - } else if (*i == string("--all")) { - all(); - } else if (*i == string("--pull585")) { - pull585(); - } - } -} - -/* - * Local Variables: - * compile-command: "cd ../.. ; - * make get_command_descriptions && - * ./get_command_descriptions --all --pull585" - * End: - */ -