Commit 762a76b7 authored by Cedric CAFFY's avatar Cedric CAFFY
Browse files

Renamed StatisticsCmd in StatisticsSaveCmd

Added the enty in the cta.spec.in
parent 55d7cd85
...@@ -318,6 +318,7 @@ Scripts and utilities to faciliate working with the CTA catalogue ...@@ -318,6 +318,7 @@ Scripts and utilities to faciliate working with the CTA catalogue
%attr(0755,root,root) %{_bindir}/cta-catalogue-schema-drop %attr(0755,root,root) %{_bindir}/cta-catalogue-schema-drop
%attr(0755,root,root) %{_bindir}/cta-catalogue-schema-verify %attr(0755,root,root) %{_bindir}/cta-catalogue-schema-verify
%attr(0755,root,root) %{_bindir}/cta-database-poll %attr(0755,root,root) %{_bindir}/cta-database-poll
%attr(0755,root,root) %{_bindir}/cta-statistics-save
%attr(0644,root,root) %doc /usr/share/man/man1/cta-catalogue-admin-user-create.1cta.gz %attr(0644,root,root) %doc /usr/share/man/man1/cta-catalogue-admin-user-create.1cta.gz
%attr(0644,root,root) %doc /usr/share/man/man1/cta-catalogue-schema-create.1cta.gz %attr(0644,root,root) %doc /usr/share/man/man1/cta-catalogue-schema-create.1cta.gz
%attr(0644,root,root) %doc /usr/share/man/man1/cta-catalogue-schema-drop.1cta.gz %attr(0644,root,root) %doc /usr/share/man/man1/cta-catalogue-schema-drop.1cta.gz
......
...@@ -23,9 +23,9 @@ include_directories (${ORACLE-INSTANTCLIENT_INCLUDE_DIRS}) ...@@ -23,9 +23,9 @@ include_directories (${ORACLE-INSTANTCLIENT_INCLUDE_DIRS})
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshadow") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshadow")
set (STATISTICS_LIB_SRC_FILES set (STATISTICS_LIB_SRC_FILES
StatisticsCmd.cpp StatisticsSaveCmd.cpp
StatisticsCmdLineArgs.cpp StatisticsSaveCmdLineArgs.cpp
StatisticsCmdMain.cpp StatisticsSaveCmdMain.cpp
StatisticsSchema.cpp StatisticsSchema.cpp
) )
...@@ -68,27 +68,16 @@ install (FILES ${CMAKE_SOURCE_DIR}/catalogue/cta-catalogue.conf.example ...@@ -68,27 +68,16 @@ install (FILES ${CMAKE_SOURCE_DIR}/catalogue/cta-catalogue.conf.example
DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/cta DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/cta
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
add_executable(cta-statistics add_executable(cta-statistics-save
StatisticsCmd.cpp StatisticsSaveCmd.cpp
StatisticsCmdLineArgs.cpp StatisticsSaveCmdLineArgs.cpp
StatisticsCmdMain.cpp StatisticsSaveCmdMain.cpp
MysqlStatisticsSchema.cpp MysqlStatisticsSchema.cpp
) )
target_link_libraries (cta-statistics ctastatistics ctacatalogue ctaschemachecker) target_link_libraries (cta-statistics-save ctastatistics ctacatalogue ctaschemachecker)
set_property(TARGET cta-statistics APPEND PROPERTY INSTALL_RPATH ${PROTOBUF3_RPATH}) set_property(TARGET cta-statistics-save APPEND PROPERTY INSTALL_RPATH ${PROTOBUF3_RPATH})
set_property(TARGET cta-catalogue-schema-create APPEND PROPERTY INSTALL_RPATH ${ORACLE-INSTANTCLIENT_RPATH}) set_property(TARGET cta-statistics-save APPEND PROPERTY INSTALL_RPATH ${ORACLE-INSTANTCLIENT_RPATH})
install (TARGETS cta-statistics DESTINATION /usr/bin) install (TARGETS cta-statistics-save DESTINATION /usr/bin)
\ No newline at end of file
set (STATISTICS_CMD_LINE_UNIT_TESTS_LIB_SRC_FILES
StatisticsCmdLineArgsTest.cpp
)
add_library (ctastatisticscmdlineunittests SHARED
${STATISTICS_CMD_LINE_UNIT_TESTS_LIB_SRC_FILES})
set_property(TARGET ctastatisticscmdlineunittests PROPERTY SOVERSION "${CTA_SOVERSION}")
set_property(TARGET ctastatisticscmdlineunittests PROPERTY VERSION "${CTA_LIBVERSION}")
install (TARGETS ctastatisticscmdlineunittests DESTINATION usr/${CMAKE_INSTALL_LIBDIR})
/*
* The CERN Tape Archive(CTA) project
* Copyright(C) 2015 CERN
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "common/exception/Exception.hpp"
#include "catalogue/VerifySchemaCmdLineArgs.hpp"
#include <gtest/gtest.h>
#include <list>
namespace unitTests {
class cta_catalogue_VerifySchemaCmdLineArgsTest : public ::testing::Test {
protected:
struct Argcv {
int argc;
char **argv;
Argcv(): argc(0), argv(NULL) {
}
};
typedef std::list<Argcv*> ArgcvList;
ArgcvList m_argsList;
/**
* Creates a duplicate string using the new operator.
*/
char *dupString(const char *str) {
const size_t len = strlen(str);
char *duplicate = new char[len+1];
strncpy(duplicate, str, len);
duplicate[len] = '\0';
return duplicate;
}
virtual void SetUp() {
// Allow getopt_long to be called again
optind = 0;
}
virtual void TearDown() {
// Allow getopt_long to be called again
optind = 0;
for(ArgcvList::const_iterator itor = m_argsList.begin();
itor != m_argsList.end(); itor++) {
for(int i=0; i < (*itor)->argc; i++) {
delete[] (*itor)->argv[i];
}
delete[] (*itor)->argv;
delete *itor;
}
}
};
TEST_F(cta_catalogue_VerifySchemaCmdLineArgsTest, help_short) {
using namespace cta::catalogue;
Argcv *args = new Argcv();
m_argsList.push_back(args);
args->argc = 2;
args->argv = new char *[3];
args->argv[0] = dupString("cta-catalogue-schema-verify");
args->argv[1] = dupString("-h");
args->argv[2] = NULL;
VerifySchemaCmdLineArgs cmdLine(args->argc, args->argv);
ASSERT_TRUE(cmdLine.help);
ASSERT_TRUE(cmdLine.dbConfigPath.empty());
}
TEST_F(cta_catalogue_VerifySchemaCmdLineArgsTest, help_long) {
using namespace cta::catalogue;
Argcv *args = new Argcv();
m_argsList.push_back(args);
args->argc = 2;
args->argv = new char *[3];
args->argv[0] = dupString("cta-catalogue-schema-verify");
args->argv[1] = dupString("--help");
args->argv[2] = NULL;
VerifySchemaCmdLineArgs cmdLine(args->argc, args->argv);
ASSERT_TRUE(cmdLine.help);
ASSERT_TRUE(cmdLine.dbConfigPath.empty());
}
TEST_F(cta_catalogue_VerifySchemaCmdLineArgsTest, dbConfigPath) {
using namespace cta::catalogue;
Argcv *args = new Argcv();
m_argsList.push_back(args);
args->argc = 2;
args->argv = new char *[3];
args->argv[0] = dupString("cta-catalogue-schema-verify");
args->argv[1] = dupString("dbConfigPath");
args->argv[2] = NULL;
VerifySchemaCmdLineArgs cmdLine(args->argc, args->argv);
ASSERT_FALSE(cmdLine.help);
ASSERT_EQ(std::string("dbConfigPath"), cmdLine.dbConfigPath);
}
} // namespace unitTests
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
#include "rdbms/ConnPool.hpp" #include "rdbms/ConnPool.hpp"
#include "rdbms/AutocommitMode.hpp" #include "rdbms/AutocommitMode.hpp"
#include "StatisticsCmd.hpp" #include "StatisticsSaveCmd.hpp"
#include "StatisticsSchema.hpp" #include "StatisticsSchema.hpp"
#include "catalogue/SchemaChecker.hpp" #include "catalogue/SchemaChecker.hpp"
#include "MysqlStatisticsSchema.hpp" #include "MysqlStatisticsSchema.hpp"
...@@ -30,22 +30,22 @@ namespace statistics { ...@@ -30,22 +30,22 @@ namespace statistics {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// constructor // constructor
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
StatisticsCmd::StatisticsCmd(std::istream &inStream, std::ostream &outStream, std::ostream &errStream): StatisticsSaveCmd::StatisticsSaveCmd(std::istream &inStream, std::ostream &outStream, std::ostream &errStream):
CmdLineTool(inStream, outStream, errStream) { CmdLineTool(inStream, outStream, errStream) {
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// destructor // destructor
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
StatisticsCmd::~StatisticsCmd() noexcept { StatisticsSaveCmd::~StatisticsSaveCmd() noexcept {
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// exceptionThrowingMain // exceptionThrowingMain
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
int StatisticsCmd::exceptionThrowingMain(const int argc, char *const *const argv) { int StatisticsSaveCmd::exceptionThrowingMain(const int argc, char *const *const argv) {
using namespace cta::catalogue; using namespace cta::catalogue;
const StatisticsCmdLineArgs cmdLineArgs(argc, argv); const StatisticsSaveCmdLineArgs cmdLineArgs(argc, argv);
if(cmdLineArgs.help) { if(cmdLineArgs.help) {
printUsage(m_out); printUsage(m_out);
...@@ -87,7 +87,7 @@ int StatisticsCmd::exceptionThrowingMain(const int argc, char *const *const argv ...@@ -87,7 +87,7 @@ int StatisticsCmd::exceptionThrowingMain(const int argc, char *const *const argv
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// tableExists // tableExists
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool StatisticsCmd::tableExists(const std::string tableName, rdbms::Conn &conn) const { bool StatisticsSaveCmd::tableExists(const std::string tableName, rdbms::Conn &conn) const {
const auto names = conn.getTableNames(); const auto names = conn.getTableNames();
for(const auto &name : names) { for(const auto &name : names) {
if(tableName == name) { if(tableName == name) {
...@@ -100,8 +100,8 @@ bool StatisticsCmd::tableExists(const std::string tableName, rdbms::Conn &conn) ...@@ -100,8 +100,8 @@ bool StatisticsCmd::tableExists(const std::string tableName, rdbms::Conn &conn)
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// printUsage // printUsage
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void StatisticsCmd::printUsage(std::ostream &os) { void StatisticsSaveCmd::printUsage(std::ostream &os) {
StatisticsCmdLineArgs::printUsage(os); StatisticsSaveCmdLineArgs::printUsage(os);
} }
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include "catalogue/CatalogueSchema.hpp" #include "catalogue/CatalogueSchema.hpp"
#include "rdbms/Conn.hpp" #include "rdbms/Conn.hpp"
#include "rdbms/Login.hpp" #include "rdbms/Login.hpp"
#include "StatisticsCmdLineArgs.hpp" #include "StatisticsSaveCmdLineArgs.hpp"
namespace cta { namespace cta {
namespace statistics { namespace statistics {
...@@ -30,7 +30,7 @@ namespace statistics { ...@@ -30,7 +30,7 @@ namespace statistics {
/** /**
* Command-line tool for verifying the catalogue schema. * Command-line tool for verifying the catalogue schema.
*/ */
class StatisticsCmd: public cta::catalogue::CmdLineTool { class StatisticsSaveCmd: public cta::catalogue::CmdLineTool {
public: public:
/** /**
...@@ -40,12 +40,12 @@ public: ...@@ -40,12 +40,12 @@ public:
* @param outStream Standard output stream. * @param outStream Standard output stream.
* @param errStream Standard error stream. * @param errStream Standard error stream.
*/ */
StatisticsCmd(std::istream &inStream, std::ostream &outStream, std::ostream &errStream); StatisticsSaveCmd(std::istream &inStream, std::ostream &outStream, std::ostream &errStream);
/** /**
* Destructor. * Destructor.
*/ */
~StatisticsCmd() noexcept; ~StatisticsSaveCmd() noexcept;
enum class VerifyStatus { OK, INFO, ERROR, UNKNOWN }; enum class VerifyStatus { OK, INFO, ERROR, UNKNOWN };
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "StatisticsCmdLineArgs.hpp" #include "StatisticsSaveCmdLineArgs.hpp"
#include "common/exception/CommandLineNotParsed.hpp" #include "common/exception/CommandLineNotParsed.hpp"
#include <getopt.h> #include <getopt.h>
...@@ -29,7 +29,7 @@ namespace statistics { ...@@ -29,7 +29,7 @@ namespace statistics {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// constructor // constructor
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
StatisticsCmdLineArgs::StatisticsCmdLineArgs(const int argc, char *const *const argv): StatisticsSaveCmdLineArgs::StatisticsSaveCmdLineArgs(const int argc, char *const *const argv):
help(false) { help(false) {
static struct option longopts[] = { static struct option longopts[] = {
...@@ -101,10 +101,10 @@ StatisticsCmdLineArgs::StatisticsCmdLineArgs(const int argc, char *const *const ...@@ -101,10 +101,10 @@ StatisticsCmdLineArgs::StatisticsCmdLineArgs(const int argc, char *const *const
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// printUsage // printUsage
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void StatisticsCmdLineArgs::printUsage(std::ostream &os) { void StatisticsSaveCmdLineArgs::printUsage(std::ostream &os) {
os << os <<
"Usage:" << std::endl << "Usage:" << std::endl <<
" cta-statistics --catalogueconf catalogueDbConnectionFile --statisticsconf statisticsDbConnectionFile [options]" << std::endl << " cta-statistics-save --catalogueconf catalogueDbConnectionFile --statisticsconf statisticsDbConnectionFile [options]" << std::endl <<
"Where:" << std::endl << "Where:" << std::endl <<
" catalogueDbConnectionFile" << std::endl << " catalogueDbConnectionFile" << std::endl <<
" The path to the file containing the connection details of the CTA" << std::endl << " The path to the file containing the connection details of the CTA" << std::endl <<
......
...@@ -27,7 +27,7 @@ namespace statistics { ...@@ -27,7 +27,7 @@ namespace statistics {
* Structure to store the command-line arguments of the command-line tool * Structure to store the command-line arguments of the command-line tool
* named cta-statistics * named cta-statistics
*/ */
struct StatisticsCmdLineArgs { struct StatisticsSaveCmdLineArgs {
/** /**
* True if the usage message should be printed. * True if the usage message should be printed.
*/ */
...@@ -52,7 +52,7 @@ struct StatisticsCmdLineArgs { ...@@ -52,7 +52,7 @@ struct StatisticsCmdLineArgs {
* executable. * executable.
* @param argv The vector of command-line arguments. * @param argv The vector of command-line arguments.
*/ */
StatisticsCmdLineArgs(const int argc, char *const *const argv); StatisticsSaveCmdLineArgs(const int argc, char *const *const argv);
/** /**
* Prints the usage message of the command-line tool. * Prints the usage message of the command-line tool.
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "StatisticsCmd.hpp" #include "StatisticsSaveCmd.hpp"
#include <iostream> #include <iostream>
...@@ -24,6 +24,6 @@ ...@@ -24,6 +24,6 @@
// main // main
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
int main(const int argc, char *const *const argv) { int main(const int argc, char *const *const argv) {
cta::statistics::StatisticsCmd cmd(std::cin, std::cout, std::cerr); cta::statistics::StatisticsSaveCmd cmd(std::cin, std::cout, std::cerr);
return cmd.main(argc, argv); return cmd.main(argc, argv);
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment