mariadb/storage/ndb/test/run-test/atrt.hpp

162 lines
3.8 KiB
C++
Raw Normal View History

ndb - new atrt BitKeeper/deleted/.del-conf-daily-basic-ndb08.txt: Delete: storage/ndb/test/run-test/conf-daily-basic-ndb08.txt BitKeeper/deleted/.del-conf-daily-devel-ndb08.txt: Delete: storage/ndb/test/run-test/conf-daily-devel-ndb08.txt BitKeeper/deleted/.del-conf-daily-devel-ndbmaster.txt: Delete: storage/ndb/test/run-test/conf-daily-devel-ndbmaster.txt BitKeeper/deleted/.del-conf-daily-sql-ndb08.txt: Delete: storage/ndb/test/run-test/conf-daily-sql-ndb08.txt BitKeeper/deleted/.del-conf-daily-sql-ndbmaster.txt: Delete: storage/ndb/test/run-test/conf-daily-sql-ndbmaster.txt BitKeeper/deleted/.del-conf-dl145a.txt: Delete: storage/ndb/test/run-test/conf-dl145a.txt BitKeeper/deleted/.del-conf-ndbmaster.txt: Delete: storage/ndb/test/run-test/conf-ndbmaster.txt BitKeeper/deleted/.del-conf-shark.txt: Delete: storage/ndb/test/run-test/conf-shark.txt storage/ndb/src/cw/cpcd/Makefile.am: new atrt storage/ndb/src/mgmsrv/InitConfigFileParser.cpp: new atrt storage/ndb/test/run-test/Makefile.am: new atrt storage/ndb/test/run-test/atrt-gather-result.sh: new atrt storage/ndb/test/run-test/atrt.hpp: new atrt storage/ndb/test/run-test/main.cpp: new atrt storage/ndb/test/tools/Makefile.am: new atrt storage/ndb/test/run-test/autotest-boot.sh: New BitKeeper file ``storage/ndb/test/run-test/autotest-boot.sh'' storage/ndb/test/run-test/autotest-run.sh: New BitKeeper file ``storage/ndb/test/run-test/autotest-run.sh'' storage/ndb/test/run-test/conf-dl145a.cnf: New BitKeeper file ``storage/ndb/test/run-test/conf-dl145a.cnf'' storage/ndb/test/run-test/conf-ndbmaster.cnf: New BitKeeper file ``storage/ndb/test/run-test/conf-ndbmaster.cnf'' storage/ndb/test/run-test/conf-repl.cnf: New BitKeeper file ``storage/ndb/test/run-test/conf-repl.cnf'' storage/ndb/test/run-test/example-my.cnf: New BitKeeper file ``storage/ndb/test/run-test/example-my.cnf'' storage/ndb/test/run-test/files.cpp: New BitKeeper file ``storage/ndb/test/run-test/files.cpp'' storage/ndb/test/run-test/setup.cpp: New BitKeeper file ``storage/ndb/test/run-test/setup.cpp'' storage/ndb/test/run-test/test-tests.txt: New BitKeeper file ``storage/ndb/test/run-test/test-tests.txt''
2007-02-13 02:38:54 +01:00
/* Copyright (C) 2003 MySQL AB
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 2 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, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#ifndef atrt_config_hpp
#define atrt_config_hpp
#include <ndb_global.h>
#include <Vector.hpp>
#include <BaseString.hpp>
#include <Logger.hpp>
#include <mgmapi.h>
#include <CpcClient.hpp>
#include <Properties.hpp>
enum ErrorCodes
{
ERR_OK = 0,
ERR_NDB_FAILED = 101,
ERR_SERVERS_FAILED = 102,
ERR_MAX_TIME_ELAPSED = 103
};
struct atrt_host
{
size_t m_index;
BaseString m_user;
BaseString m_basedir;
BaseString m_hostname;
SimpleCpcClient * m_cpcd;
Vector<struct atrt_process*> m_processes;
};
struct atrt_options
{
enum Feature {
AO_REPLICATION = 1,
AO_NDBCLUSTER = 2
};
int m_features;
Properties m_loaded;
Properties m_generated;
};
struct atrt_process
{
size_t m_index;
struct atrt_host * m_host;
struct atrt_cluster * m_cluster;
enum Type {
AP_ALL = 255
,AP_NDBD = 1
,AP_NDB_API = 2
,AP_NDB_MGMD = 4
,AP_MYSQLD = 16
,AP_CLIENT = 32
,AP_CLUSTER = 256 // Used for options parsing for "cluster" options
} m_type;
SimpleCpcClient::Process m_proc;
NdbMgmHandle m_ndb_mgm_handle; // if type == ndb_mgm
atrt_process * m_mysqld; // if type == client
atrt_process * m_rep_src; // if type == mysqld
Vector<atrt_process*> m_rep_dst; // if type == mysqld
atrt_options m_options;
};
struct atrt_cluster
{
BaseString m_name;
BaseString m_dir;
Vector<atrt_process*> m_processes;
atrt_options m_options;
};
struct atrt_config
{
bool m_generated;
BaseString m_key;
BaseString m_replication;
Vector<atrt_host*> m_hosts;
Vector<atrt_cluster*> m_clusters;
Vector<atrt_process*> m_processes;
};
struct atrt_testcase
{
bool m_report;
bool m_run_all;
time_t m_max_time;
BaseString m_command;
BaseString m_args;
BaseString m_name;
};
extern Logger g_logger;
void require(bool x);
bool parse_args(int argc, char** argv);
bool setup_config(atrt_config&);
bool configure(atrt_config&, int setup);
bool setup_directories(atrt_config&, int setup);
bool setup_files(atrt_config&, int setup, int sshx);
bool deploy(atrt_config&);
bool sshx(atrt_config&, unsigned procmask);
bool start(atrt_config&, unsigned procmask);
bool remove_dir(const char *, bool incl = true);
bool connect_hosts(atrt_config&);
bool connect_ndb_mgm(atrt_config&);
bool wait_ndb(atrt_config&, int ndb_mgm_node_status);
bool start_processes(atrt_config&, int);
bool stop_processes(atrt_config&, int);
bool update_status(atrt_config&, int);
int is_running(atrt_config&, int);
bool gather_result(atrt_config&, int * result);
bool read_test_case(FILE *, atrt_testcase&, int& line);
bool setup_test_case(atrt_config&, const atrt_testcase&);
bool setup_hosts(atrt_config&);
/**
* Global variables...
*/
extern Logger g_logger;
extern atrt_config g_config;
extern const char * g_cwd;
extern const char * g_my_cnf;
extern const char * g_user;
extern const char * g_basedir;
extern const char * g_prefix;
extern int g_baseport;
extern int g_fqpn;
extern int g_default_ports;
extern const char * g_clusters;
extern const char *save_file;
extern const char *save_group_suffix;
extern char *save_extra_file;
#endif