*
**********************************************************************/
-#ifndef BASIC_TCP_SOCKET_H
-#define BASIC_TCP_SOCKET_H
+#ifndef BASIC_TCP_SOCKET_H
+#define BASIC_TCP_SOCKET_H
#include <boost/asio.hpp>
#include <boost/thread.hpp>
#include "utility.h"
#include "logger.h"
-namespace l7vs{
+namespace l7vs
+{
template< class SocketClass >
-class basic_tcp_socket : private boost::noncopyable{
+class basic_tcp_socket : private boost::noncopyable
+{
public:
- // typedefs
- typedef boost::function< void( const boost::system::error_code&, std::size_t )> async_rw_handler_t;
-
- //! constructor
- basic_tcp_socket( boost::asio::io_service& io_service, const tcp_socket_option_info set_option )
- : io_service_( io_service ),
- opt_info( set_option ){
- }
- //! destructor
- virtual ~basic_tcp_socket(){} ;
-
-
- //! get reference control socket
- virtual SocketClass& get_socket(){
- return *my_socket;
- }
-
- //! option setting
- virtual void setoption( boost::system::error_code& error_code ) = 0;
-
- //! accept
- virtual void accept(){
- boost::system::error_code error_code;
- setoption( error_code );
- }
-
- //! close
- virtual bool close( boost::system::error_code& error_code ) = 0;
-
- //! write some
- virtual std::size_t write_some( const boost::asio::const_buffers_1& buffer, boost::system::error_code& error_code ){
- std::size_t write_size = 0;
- rd_scoped_lock lock( close_mutex );
- if( is_open() ) write_size = my_socket->write_some( buffer, error_code );
- return write_size;
- }
-
- //! async_write_some
- virtual void async_write_some( const boost::asio::const_buffers_1& buffer, async_rw_handler_t& handle ){
- rd_scoped_lock lock( close_mutex );
- my_socket->async_write_some( buffer, handle );
- }
-
- //! read some
- virtual std::size_t read_some( const boost::asio::mutable_buffers_1& buffer, boost::system::error_code& error_code ){
- std::size_t recv_size = 0;
- rd_scoped_lock lock( close_mutex );
- if( is_open() ) recv_size = my_socket->read_some( buffer, error_code );
- return recv_size;
- }
-
- //! async read some
- virtual void async_read_some( const boost::asio::mutable_buffers_1& buffer, async_rw_handler_t& handle ){
- rd_scoped_lock lock( close_mutex );
- my_socket->async_read_some( buffer, handle );
- }
-
- // is_open
- virtual bool is_open() = 0;
+ // typedefs
+ typedef boost::function< void(const boost::system::error_code &, std::size_t)> async_rw_handler_t;
+
+ //! constructor
+ basic_tcp_socket(boost::asio::io_service &io_service, const tcp_socket_option_info set_option)
+ : io_service_(io_service),
+ opt_info(set_option) {
+ }
+ //! destructor
+ virtual ~basic_tcp_socket() {} ;
+
+
+ //! get reference control socket
+ virtual SocketClass &get_socket() {
+ return *my_socket;
+ }
+
+ //! option setting
+ virtual void setoption(boost::system::error_code &error_code) = 0;
+
+ //! accept
+ virtual void accept() {
+ boost::system::error_code error_code;
+ setoption(error_code);
+ }
+
+ //! close
+ virtual bool close(boost::system::error_code &error_code) = 0;
+
+ //! write some
+ virtual std::size_t write_some(const boost::asio::const_buffers_1 &buffer, boost::system::error_code &error_code) {
+ std::size_t write_size = 0;
+ rd_scoped_lock lock(close_mutex);
+ if (is_open()) write_size = my_socket->write_some(buffer, error_code);
+ return write_size;
+ }
+
+ //! async_write_some
+ virtual void async_write_some(const boost::asio::const_buffers_1 &buffer, async_rw_handler_t &handle) {
+ rd_scoped_lock lock(close_mutex);
+ my_socket->async_write_some(buffer, handle);
+ }
+
+ //! read some
+ virtual std::size_t read_some(const boost::asio::mutable_buffers_1 &buffer, boost::system::error_code &error_code) {
+ std::size_t recv_size = 0;
+ rd_scoped_lock lock(close_mutex);
+ if (is_open()) recv_size = my_socket->read_some(buffer, error_code);
+ return recv_size;
+ }
+
+ //! async read some
+ virtual void async_read_some(const boost::asio::mutable_buffers_1 &buffer, async_rw_handler_t &handle) {
+ rd_scoped_lock lock(close_mutex);
+ my_socket->async_read_some(buffer, handle);
+ }
+
+ // is_open
+ virtual bool is_open() = 0;
protected:
- //! io_service reference
- boost::asio::io_service& io_service_;
- //! control socket
- boost::shared_ptr<SocketClass> my_socket;
- //! socket close mutex
- wr_mutex close_mutex;
- //! socket options
- tcp_socket_option_info opt_info;
+ //! io_service reference
+ boost::asio::io_service &io_service_;
+ //! control socket
+ boost::shared_ptr<SocketClass> my_socket;
+ //! socket close mutex
+ wr_mutex close_mutex;
+ //! socket options
+ tcp_socket_option_info opt_info;
- virtual void set_quickack( boost::system::error_code& error_code ) = 0;
+ virtual void set_quickack(boost::system::error_code &error_code) = 0;
-}; //basic tcp socket
+}; //basic tcp socket
-} // namespace
+} // namespace
#endif
//! set endpoint
//! @param[in] copy endpoint
void set_endpoint(const boost::asio::ip::basic_endpoint<InternetProtocol> set_endpoint);
- //! set error code
- void set_error_code( const boost::system::error_code& code );
- //! get error code
- boost::system::error_code& get_error_code();
- //! set async_len
- void set_async_len( std::size_t set_async_len );
- //! get async_len
- std::size_t get_async_len();
+ //! set error code
+ void set_error_code(const boost::system::error_code &code);
+ //! get error code
+ boost::system::error_code &get_error_code();
+ //! set async_len
+ void set_async_len(std::size_t set_async_len);
+ //! get async_len
+ std::size_t get_async_len();
protected:
//! tcp endpoint
std::size_t data_size;
//! send data size
std::size_t send_size;
- //! error code( async read/write modify)
- boost::system::error_code error_code;
- std::size_t async_len;
- boost::mutex mutex_; //use error_code and data size only. other data is no thread safe.
+ //! error code( async read/write modify)
+ boost::system::error_code error_code;
+ std::size_t async_len;
+ boost::mutex mutex_; //use error_code and data size only. other data is no thread safe.
};// class data_buff_base
{
data_size = 0;
send_size = 0;
- async_len = 0;
+ async_len = 0;
data.assign('\0');
endpoint_info = boost::asio::ip::basic_endpoint<InternetProtocol>();
- error_code.clear();
+ error_code.clear();
}
//! set data
template< typename InternetProtocol >
std::size_t data_buff_base< InternetProtocol >::get_send_size()
{
- boost::mutex::scoped_lock lock( mutex_ );
+ boost::mutex::scoped_lock lock(mutex_);
return send_size;
}
}
//! set error code
-//! @param[in] error code
+//! @param[in] error code
template< typename InternetProtocol >
-void data_buff_base< InternetProtocol >::set_error_code( const boost::system::error_code& code ){
- mutex_.lock();
- error_code.assign( code.value(), code.category() );
- mutex_.unlock();
+void data_buff_base< InternetProtocol >::set_error_code(const boost::system::error_code &code)
+{
+ mutex_.lock();
+ error_code.assign(code.value(), code.category());
+ mutex_.unlock();
}
//! get error code
template< typename InternetProtocol >
-boost::system::error_code& data_buff_base< InternetProtocol >::get_error_code(){
- boost::mutex::scoped_lock lock( mutex_ );
- return error_code;
+boost::system::error_code &data_buff_base< InternetProtocol >::get_error_code()
+{
+ boost::mutex::scoped_lock lock(mutex_);
+ return error_code;
}
template< typename InternetProtocol >
-void data_buff_base< InternetProtocol >::set_async_len( std::size_t set_async_len ){
- async_len = set_async_len;
+void data_buff_base< InternetProtocol >::set_async_len(std::size_t set_async_len)
+{
+ async_len = set_async_len;
}
template< typename InternetProtocol >
-std::size_t data_buff_base< InternetProtocol >::get_async_len(){
- return async_len;
+std::size_t data_buff_base< InternetProtocol >::get_async_len()
+{
+ return async_len;
}
}// namespace l7vs
% request.log_category
% request.log_level
% request.reload_param
- % request.snmpinfo;
+ % request.snmpinfo;
return os;
}
++i;
}
}
- os << "snmpinfo=" << response.snmpinfo;
+ os << "snmpinfo=" << response.snmpinfo;
- os << boost::format("total_bps=%d: "
+ os << boost::format("total_bps=%d: "
"total_client_recv_byte=%d: "
"total_client_send_byte=%d: "
"total_realserver_recv_byte=%d: "
file_lock(const std::string &path, error_code &err)
:
fd(-1),
- lock(-1)
- {
+ lock(-1) {
fd = open(path.c_str(), O_RDONLY);
if (fd == -1) {
std::stringstream buf;
}
//! destructor
- ~file_lock()
- {
+ ~file_lock() {
if (lock != -1) {
// fd unlock.
flock(fd, LOCK_UN);
//! try lock function
//! @return lock succeed(true) / lock failed(false)
- bool try_lock()
- {
+ bool try_lock() {
lock = flock(fd, LOCK_EX | LOCK_NB);
if (lock == 0) {
// l7vsadm file lock OK.
boost::mutex vslist_mutex; //!< virtual service list mutex
bool help; //!< help mode
- bool debug; //!< debug mode
+ bool debug; //!< debug mode
boost::posix_time::ptime starttime; //!< l7vsd startup time
void del_real_server(const virtualservice_element *, error_code &); //!< real_server del command
void edit_real_server(const virtualservice_element *, error_code &); //!< real_server edit command
void set_loglevel(const LOG_CATEGORY_TAG *, const LOG_LEVEL_TAG *, error_code &); //!< set loglevel command
- void set_snmp_info(const snmp_info*, error_code&);
+ void set_snmp_info(const snmp_info *, error_code &);
void flush_virtual_service(error_code &); //!< all virtual_service delete command
void replication_command(const l7vsadm_request::REPLICATION_COMMAND_TAG *, error_code &); //!< replication command
bool find_module_name = false) const; //!< vs_list search function
protected:
- bool check_options(int, char*[]); //!< check option func
- bool parse_help(int &, int, char*[]); //!< parse help func
- bool parse_debug( int &, int, char*[] ); //!< pase debug func
+ bool check_options(int, char*[]); //!< check option func
+ bool parse_help(int &, int, char*[]); //!< parse help func
+ bool parse_debug(int &, int, char*[]); //!< pase debug func
std::string usage(); //!< make usage message
//! set log trap enable.
//! @retrun void
static void logtrap_enable();
-
- //! set log trap disable.
+
+ //! set log trap disable.
//! @retrun void
- static void logtrap_disable();
+ static void logtrap_disable();
//! set log trap level
//! @param log trap level
buf.str(),
log4cxx::spi::LocationInfo(file, "", line));
// send_trap
- if (logtrap_enabled.get() == 1) {
+ if (logtrap_enabled.get() == 1) {
LOG_LEVEL_TAG tmp_level;
{
- rd_scoped_lock lock(logtrap_level_mutex);
+ rd_scoped_lock lock(logtrap_level_mutex);
tmp_level = logtrap_level;
}
- if ( (tmp_level <= LOG_LV_FATAL) &&
- snmp_send_trap_func &&
- (LOG_CAT_L7VSD_SNMPAGENT != cat)) {
+ if ((tmp_level <= LOG_LV_FATAL) &&
+ snmp_send_trap_func &&
+ (LOG_CAT_L7VSD_SNMPAGENT != cat)) {
trapmessage trap_msg;
- trap_msg.type = trapmessage::FATAL_LOG;
+ trap_msg.type = trapmessage::FATAL_LOG;
trap_msg.message = buf.str();
- error_code err;
+ error_code err;
//send trap message
snmp_send_trap_func(trap_msg, err);
}
rd_scoped_lock lock(logtrap_level_mutex);
tmp_level = logtrap_level;
}
- if ( (tmp_level <= LOG_LV_ERROR) &&
- snmp_send_trap_func &&
- (LOG_CAT_L7VSD_SNMPAGENT != cat)) {
+ if ((tmp_level <= LOG_LV_ERROR) &&
+ snmp_send_trap_func &&
+ (LOG_CAT_L7VSD_SNMPAGENT != cat)) {
trapmessage trap_msg;
trap_msg.type = trapmessage::ERROR_LOG;
trap_msg.message = buf.str();
- error_code err;
+ error_code err;
//send trap message
snmp_send_trap_func(trap_msg, err);
}
rd_scoped_lock lock(logtrap_level_mutex);
tmp_level = logtrap_level;
}
- if ( (tmp_level <= LOG_LV_WARN) &&
- snmp_send_trap_func &&
- (LOG_CAT_L7VSD_SNMPAGENT != cat)) {
+ if ((tmp_level <= LOG_LV_WARN) &&
+ snmp_send_trap_func &&
+ (LOG_CAT_L7VSD_SNMPAGENT != cat)) {
trapmessage trap_msg;
trap_msg.type = trapmessage::WARN_LOG;
trap_msg.message = buf.str();
- error_code err;
+ error_code err;
//send trap message
snmp_send_trap_func(trap_msg, err);
}
rd_scoped_lock lock(logtrap_level_mutex);
tmp_level = logtrap_level;
}
- if ( (tmp_level <= LOG_LV_INFO) &&
- snmp_send_trap_func &&
- (LOG_CAT_L7VSD_SNMPAGENT != cat)) {
+ if ((tmp_level <= LOG_LV_INFO) &&
+ snmp_send_trap_func &&
+ (LOG_CAT_L7VSD_SNMPAGENT != cat)) {
trapmessage trap_msg;
trap_msg.type = trapmessage::INFO_LOG;
trap_msg.message = buf.str();
- error_code err;
+ error_code err;
//send trap message
snmp_send_trap_func(trap_msg, err);
}
rd_scoped_lock lock(logtrap_level_mutex);
tmp_level = logtrap_level;
}
- if ( (tmp_level <= LOG_LV_DEBUG) &&
- snmp_send_trap_func &&
- (LOG_CAT_L7VSD_SNMPAGENT != cat)) {
+ if ((tmp_level <= LOG_LV_DEBUG) &&
+ snmp_send_trap_func &&
+ (LOG_CAT_L7VSD_SNMPAGENT != cat)) {
trapmessage trap_msg;
trap_msg.type = trapmessage::DEBUG_LOG;
trap_msg.message = buf.str();
- error_code err;
+ error_code err;
//send trap message
snmp_send_trap_func(trap_msg, err);
}
* @param snmp send trap function object
* @retrun void
*/
- void set_snmp_send_trap_func(const snmp_send_trap_func_type func) {
+ void set_snmp_send_trap_func(const snmp_send_trap_func_type func) {
snmp_send_trap_func = func;
}
}
/*!
- * set log trap disable
+ * set log trap disable
* @retrun void
*/
- void logtrap_disable() {
+ void logtrap_disable() {
logtrap_enabled = false;
}
//! @class mibdata
//! @brief this class is mib data cache class.
- class mibdata : private boost::noncopyable
- {
- protected:
- netsnmp_table_data_set* vs_table;
- netsnmp_table_data_set* rs_table;
- int vs_table_size;
- int rs_table_size;
- int replication_state;
+class mibdata : private boost::noncopyable
+{
+protected:
+ netsnmp_table_data_set *vs_table;
+ netsnmp_table_data_set *rs_table;
+ int vs_table_size;
+ int rs_table_size;
+ int replication_state;
- mibdata() {};
- ~mibdata() {};
- mibdata(const mibdata &);
- mibdata& operator=(const mibdata &);
+ mibdata() {};
+ ~mibdata() {};
+ mibdata(const mibdata &);
+ mibdata &operator=(const mibdata &);
- /*!
- * update virtual service table information.
- *
- * @param l7vsd * l7vsd pointer
- * @param error_code & error code
- * @retrun void
- */
- void update_vs_table(l7vsd *, error_code &);
+ /*!
+ * update virtual service table information.
+ *
+ * @param l7vsd * l7vsd pointer
+ * @param error_code & error code
+ * @retrun void
+ */
+ void update_vs_table(l7vsd *, error_code &);
- /*!
- * update real server table information.
- *
- * @param const std::vector<rsdata> & temporary real server list
- * @param error_code & error code
- * @retrun void
- */
- void update_rs_table(const std::vector<rsdata> &, error_code &);
+ /*!
+ * update real server table information.
+ *
+ * @param const std::vector<rsdata> & temporary real server list
+ * @param error_code & error code
+ * @retrun void
+ */
+ void update_rs_table(const std::vector<rsdata> &, error_code &);
- /*!
- * update replication state.
- *
- * @param l7vsd * l7vsd pointer
- * @param error_code & error code
- * @retrun void
- */
- void update_replication_state(l7vsd *, error_code &);
+ /*!
+ * update replication state.
+ *
+ * @param l7vsd * l7vsd pointer
+ * @param error_code & error code
+ * @retrun void
+ */
+ void update_replication_state(l7vsd *, error_code &);
- public:
- /*!
- * get mibdata instance.
- *
- * @retrun mibdata instance
- */
- static mibdata& get_instance();
+public:
+ /*!
+ * get mibdata instance.
+ *
+ * @retrun mibdata instance
+ */
+ static mibdata &get_instance();
- /*!
- * collect mibdata in l7vsd.
- *
- * @param l7vsd * l7vsd pointer
- * @param error_code & error code
- * @retrun void
- */
- void collect_mibdata(l7vsd *, error_code &);
+ /*!
+ * collect mibdata in l7vsd.
+ *
+ * @param l7vsd * l7vsd pointer
+ * @param error_code & error code
+ * @retrun void
+ */
+ void collect_mibdata(l7vsd *, error_code &);
- /*!
- * set virtual service data set.
- *
- * @param netsnmp_table_data_set * virtual service data set
- * @retrun void
- */
- void set_vs_table(netsnmp_table_data_set *);
+ /*!
+ * set virtual service data set.
+ *
+ * @param netsnmp_table_data_set * virtual service data set
+ * @retrun void
+ */
+ void set_vs_table(netsnmp_table_data_set *);
- /*!
- * set real server data set.
- *
- * @param netsnmp_table_data_set * real server data set
- * @retrun void
- */
- void set_rs_table(netsnmp_table_data_set *);
+ /*!
+ * set real server data set.
+ *
+ * @param netsnmp_table_data_set * real server data set
+ * @retrun void
+ */
+ void set_rs_table(netsnmp_table_data_set *);
- /*!
- * get virtual service table size
- *
- * @retrun int virtual service table size
- */
- inline int get_vs_table_size() {
- return vs_table_size;
- }
+ /*!
+ * get virtual service table size
+ *
+ * @retrun int virtual service table size
+ */
+ inline int get_vs_table_size() {
+ return vs_table_size;
+ }
- /*!
- * get replication state.
- *
- * @retrun int replication state
- */
- inline int get_replication_state() {
- return replication_state;
- }
- };
+ /*!
+ * get replication state.
+ *
+ * @retrun int replication state
+ */
+ inline int get_replication_state() {
+ return replication_state;
+ }
+};
}
#endif //__MIBDATA_H__
//! @enum STATS_MODE_TAG
//! @brief statistic mode type.
enum STATS_MODE_TAG {
- MODE_BASE = 0,
- MODE_HTTP
+ MODE_BASE = 0,
+ MODE_HTTP
};
//! constructor
};
//! destructor
- ~http_stats(){};
+ ~http_stats() {};
//! http request counts
atomic<unsigned long long> http_requests;
//! get base statistic object.
//! @return base statistic object.
- virtual stats_base& get_stats()
- {
+ virtual stats_base &get_stats() {
return stats;
}
};
fwdmode(in.fwdmode)
{}
- realserver_element &operator=(const realserver_element &elem)
- {
+ realserver_element &operator=(const realserver_element &elem) {
nactive = elem.nactive;
ninact = elem.ninact;
tcp_endpoint = elem.tcp_endpoint;
return *this;
}
- friend bool operator==(const realserver_element &rselem1, const realserver_element &rselem2)
- {
+ friend bool operator==(const realserver_element &rselem1, const realserver_element &rselem2) {
return rselem1.tcp_endpoint == rselem2.tcp_endpoint &&
rselem1.udp_endpoint == rselem2.udp_endpoint &&
rselem1.weight == rselem2.weight &&
rselem1.fwdmode == rselem2.fwdmode;
}
- friend bool operator!=(const realserver_element &rselem1, const realserver_element &rselem2)
- {
+ friend bool operator!=(const realserver_element &rselem1, const realserver_element &rselem2) {
return rselem1.tcp_endpoint != rselem2.tcp_endpoint ||
rselem1.udp_endpoint != rselem2.udp_endpoint ||
rselem1.weight != rselem2.weight ||
rselem1.fwdmode != rselem2.fwdmode;
}
- friend bool operator<(const realserver_element &rselem1, const realserver_element &rselem2)
- {
+ friend bool operator<(const realserver_element &rselem1, const realserver_element &rselem2) {
if (rselem1.tcp_endpoint < rselem2.tcp_endpoint) {
return true;
- }
- else if (rselem1.tcp_endpoint != rselem2.tcp_endpoint) {
+ } else if (rselem1.tcp_endpoint != rselem2.tcp_endpoint) {
return false;
- }
- else if (rselem1.weight < rselem2.weight) {
+ } else if (rselem1.weight < rselem2.weight) {
return true;
- }
- else if (rselem1.weight > rselem2.weight) {
+ } else if (rselem1.weight > rselem2.weight) {
return false;
- }
- else {
+ } else {
return rselem1.fwdmode < rselem2.fwdmode;
}
}
const std::string get_fwdmode_str() {
return fwdmode == FWD_MASQ ? "Masq"
- : fwdmode == FWD_TPROXY ? "Tproxy"
- : "Unknown";
+ : fwdmode == FWD_TPROXY ? "Tproxy"
+ : "Unknown";
}
template <typename Elem, typename Traits>
- friend std::basic_ostream<Elem, Traits>& operator<<(std::basic_ostream<Elem, Traits>& os, const realserver_element &elem)
- {
+ friend std::basic_ostream<Elem, Traits>& operator<<(std::basic_ostream<Elem, Traits>& os, const realserver_element &elem) {
os << "realserver_element={";
os << boost::format("nactive=%d, "
"ninact=%d, "
//! @param[in] archive
//! @param[in] version
template <class Archive>
- void serialize(Archive &ar, const unsigned int version)
- {
+ void serialize(Archive &ar, const unsigned int version) {
ar &nactive;
ar &ninact;
ar &tcp_endpoint;
boost::mutex &get_downthread_mutex();
void session_stop() {
- session->set_virtual_service_message(tcp_session::SESSION_END, boost::asio::ip::tcp::endpoint() );
+ session->set_virtual_service_message(tcp_session::SESSION_END, boost::asio::ip::tcp::endpoint());
}
void session_sorry_mode_change(int sorry_flag) {
if (INT_MAX == sorry_flag)
- session->set_virtual_service_message(tcp_session::SORRY_STATE_DISABLE, boost::asio::ip::tcp::endpoint() );
+ session->set_virtual_service_message(tcp_session::SORRY_STATE_DISABLE, boost::asio::ip::tcp::endpoint());
else if (0 != sorry_flag)
- session->set_virtual_service_message(tcp_session::SORRY_STATE_ENABLE, boost::asio::ip::tcp::endpoint() );
+ session->set_virtual_service_message(tcp_session::SORRY_STATE_ENABLE, boost::asio::ip::tcp::endpoint());
}
void session_sorry_enable() {
- session->set_virtual_service_message(tcp_session::SORRY_STATE_ENABLE, boost::asio::ip::tcp::endpoint() );
+ session->set_virtual_service_message(tcp_session::SORRY_STATE_ENABLE, boost::asio::ip::tcp::endpoint());
}
void session_sorry_disable() {
- session->set_virtual_service_message(tcp_session::SORRY_STATE_DISABLE, boost::asio::ip::tcp::endpoint() );
+ session->set_virtual_service_message(tcp_session::SORRY_STATE_DISABLE, boost::asio::ip::tcp::endpoint());
}
void session_pause_on() {
- session->set_virtual_service_message(tcp_session::SESSION_PAUSE_ON, boost::asio::ip::tcp::endpoint() );
+ session->set_virtual_service_message(tcp_session::SESSION_PAUSE_ON, boost::asio::ip::tcp::endpoint());
}
void session_pause_off() {
- session->set_virtual_service_message(tcp_session::SESSION_PAUSE_OFF, boost::asio::ip::tcp::endpoint() );
+ session->set_virtual_service_message(tcp_session::SESSION_PAUSE_OFF, boost::asio::ip::tcp::endpoint());
}
void session_accesslog_output_mode_on() {
- session->set_virtual_service_message(tcp_session::ACCESS_LOG_ON, boost::asio::ip::tcp::endpoint() );
+ session->set_virtual_service_message(tcp_session::ACCESS_LOG_ON, boost::asio::ip::tcp::endpoint());
}
void session_accesslog_output_mode_off() {
- session->set_virtual_service_message(tcp_session::ACCESS_LOG_OFF, boost::asio::ip::tcp::endpoint() );
+ session->set_virtual_service_message(tcp_session::ACCESS_LOG_OFF, boost::asio::ip::tcp::endpoint());
}
void session_access_log_output_mode_change(int accesslog_flag) {
if (accesslog_flag == true)
- session->set_virtual_service_message(tcp_session::ACCESS_LOG_ON, boost::asio::ip::tcp::endpoint() );
+ session->set_virtual_service_message(tcp_session::ACCESS_LOG_ON, boost::asio::ip::tcp::endpoint());
else if (accesslog_flag == false)
- session->set_virtual_service_message(tcp_session::ACCESS_LOG_OFF, boost::asio::ip::tcp::endpoint() );
+ session->set_virtual_service_message(tcp_session::ACCESS_LOG_OFF, boost::asio::ip::tcp::endpoint());
}
- void session_realserver_remove( const boost::asio::ip::tcp::endpoint& in ){
- session->set_virtual_service_message( tcp_session::REALSERVER_REMOVE, in );
- }
+ void session_realserver_remove(const boost::asio::ip::tcp::endpoint &in) {
+ session->set_virtual_service_message(tcp_session::REALSERVER_REMOVE, in);
+ }
};
namespace l7vs
{
- struct snmp_info {
- enum SNMP_OPTION_FLAG_TAG {
- SNMP_ENABLE_OPTION_FLAG = 0x0001,
- SNMP_LOGTRAP_OPTION_FLAG = 0x0002,
- SNMP_LOGTRAP_LEVEL_OPTION_FLAG = 0x0004,
- SNMP_INTERVAL_OPTION_FLAG = 0x0008,
- SNMP_REFRESH_OPTION_FLAG = 0x0010,
- SNMP_REFRESH_ALL_OPTION_FLAG = 0x0020,
- SNMP_TCP_SERVICE_OPTION_FLAG = 0x0040,
- SNMP_PROTOCOL_MODULE_OPTION_FLAG = 0x0080
- };
- unsigned int enabled;
- unsigned int logtrap_enabled;
- LOG_LEVEL_TAG logtrap_level;
- unsigned int interval;
- time_t start_date;
- time_t request_last_date;
- time_t trap_last_date;
- unsigned long long snmp_get_requests;
- unsigned long long snmp_set_requests;
- unsigned long long snmp_trap_count;
- boost::asio::ip::tcp::endpoint vs_endpoint;
- std::string protocol;
- int option_set_flag;
+struct snmp_info {
+ enum SNMP_OPTION_FLAG_TAG {
+ SNMP_ENABLE_OPTION_FLAG = 0x0001,
+ SNMP_LOGTRAP_OPTION_FLAG = 0x0002,
+ SNMP_LOGTRAP_LEVEL_OPTION_FLAG = 0x0004,
+ SNMP_INTERVAL_OPTION_FLAG = 0x0008,
+ SNMP_REFRESH_OPTION_FLAG = 0x0010,
+ SNMP_REFRESH_ALL_OPTION_FLAG = 0x0020,
+ SNMP_TCP_SERVICE_OPTION_FLAG = 0x0040,
+ SNMP_PROTOCOL_MODULE_OPTION_FLAG = 0x0080
+ };
+ unsigned int enabled;
+ unsigned int logtrap_enabled;
+ LOG_LEVEL_TAG logtrap_level;
+ unsigned int interval;
+ time_t start_date;
+ time_t request_last_date;
+ time_t trap_last_date;
+ unsigned long long snmp_get_requests;
+ unsigned long long snmp_set_requests;
+ unsigned long long snmp_trap_count;
+ boost::asio::ip::tcp::endpoint vs_endpoint;
+ std::string protocol;
+ int option_set_flag;
- snmp_info() : enabled(0), logtrap_enabled(0), logtrap_level(LOG_LV_NONE),
- interval(0), start_date(0),
- request_last_date(0), trap_last_date(0),
- snmp_get_requests(0ull), snmp_set_requests(0ull), snmp_trap_count(0ull),option_set_flag(0) {}
- snmp_info(const snmp_info &in)
- : enabled(in.enabled),
- logtrap_enabled(in.logtrap_enabled),
- logtrap_level(in.logtrap_level),
- interval(in.interval),
- start_date(in.start_date),
- request_last_date(in.request_last_date),
- trap_last_date(in.trap_last_date),
- snmp_get_requests(in.snmp_get_requests),
- snmp_set_requests(in.snmp_set_requests),
- snmp_trap_count(in.snmp_trap_count),
- vs_endpoint(in.vs_endpoint),
- protocol(in.protocol),
- option_set_flag(in.option_set_flag) {}
- snmp_info &operator=(const snmp_info &in) {
- enabled = in.enabled;
- logtrap_enabled = in.logtrap_enabled;
- logtrap_level = in.logtrap_level;
- interval = in.interval;
- start_date = in.start_date;
- request_last_date = in.request_last_date;
- trap_last_date = in.trap_last_date;
- snmp_get_requests = in.snmp_get_requests;
- snmp_set_requests = in.snmp_set_requests;
- snmp_trap_count = in.snmp_trap_count;
- vs_endpoint = in.vs_endpoint;
- protocol = in.protocol;
- option_set_flag = in.option_set_flag;
+ snmp_info() : enabled(0), logtrap_enabled(0), logtrap_level(LOG_LV_NONE),
+ interval(0), start_date(0),
+ request_last_date(0), trap_last_date(0),
+ snmp_get_requests(0ull), snmp_set_requests(0ull), snmp_trap_count(0ull), option_set_flag(0) {}
+ snmp_info(const snmp_info &in)
+ : enabled(in.enabled),
+ logtrap_enabled(in.logtrap_enabled),
+ logtrap_level(in.logtrap_level),
+ interval(in.interval),
+ start_date(in.start_date),
+ request_last_date(in.request_last_date),
+ trap_last_date(in.trap_last_date),
+ snmp_get_requests(in.snmp_get_requests),
+ snmp_set_requests(in.snmp_set_requests),
+ snmp_trap_count(in.snmp_trap_count),
+ vs_endpoint(in.vs_endpoint),
+ protocol(in.protocol),
+ option_set_flag(in.option_set_flag) {}
+ snmp_info &operator=(const snmp_info &in) {
+ enabled = in.enabled;
+ logtrap_enabled = in.logtrap_enabled;
+ logtrap_level = in.logtrap_level;
+ interval = in.interval;
+ start_date = in.start_date;
+ request_last_date = in.request_last_date;
+ trap_last_date = in.trap_last_date;
+ snmp_get_requests = in.snmp_get_requests;
+ snmp_set_requests = in.snmp_set_requests;
+ snmp_trap_count = in.snmp_trap_count;
+ vs_endpoint = in.vs_endpoint;
+ protocol = in.protocol;
+ option_set_flag = in.option_set_flag;
- return *this;
- }
- template <typename Elem, typename Traits>
- friend std::basic_ostream<Elem, Traits>& operator<<(
- std::basic_ostream<Elem, Traits>& os,
- const snmp_info &info) {
- static const int MAX_TIME_LEN = 20;
- char start_date[MAX_TIME_LEN] = {0};
- char request_last_date[MAX_TIME_LEN] = {0};
- char trap_last_date[MAX_TIME_LEN] = {0};
- strftime(start_date, sizeof(start_date),
- "%Y-%m-%d %H:%M:%S", gmtime(&(info.start_date)));
- strftime(request_last_date, sizeof(request_last_date),
- "%Y-%m-%d %H:%M:%S", gmtime(&(info.request_last_date)));
- strftime(trap_last_date, sizeof(trap_last_date),
- "%Y-%m-%d %H:%M:%S", gmtime(&(info.trap_last_date)));
+ return *this;
+ }
+ template <typename Elem, typename Traits>
+ friend std::basic_ostream<Elem, Traits>& operator<<(
+ std::basic_ostream<Elem, Traits>& os,
+ const snmp_info &info) {
+ static const int MAX_TIME_LEN = 20;
+ char start_date[MAX_TIME_LEN] = {0};
+ char request_last_date[MAX_TIME_LEN] = {0};
+ char trap_last_date[MAX_TIME_LEN] = {0};
+ strftime(start_date, sizeof(start_date),
+ "%Y-%m-%d %H:%M:%S", gmtime(&(info.start_date)));
+ strftime(request_last_date, sizeof(request_last_date),
+ "%Y-%m-%d %H:%M:%S", gmtime(&(info.request_last_date)));
+ strftime(trap_last_date, sizeof(trap_last_date),
+ "%Y-%m-%d %H:%M:%S", gmtime(&(info.trap_last_date)));
- os << "{";
- os << boost::format("flag=%d; "
- "logtrap=%d; "
- "logtrap_level=%s; "
- "interval=%d; "
- "start_date=%s; "
- "request_last_date = %s; "
- "trap_last_date = %s ;"
- "snmp_get_requests = %d ;"
- "snmp_set_requests = %d ;"
- "snmp_trap_count= %d; "
- "vs_endpoint= %s:%d; "
- "protocol = %s; "
- "option_set_flag = %x }")
- % info.enabled
- % info.logtrap_enabled
- % info.logtrap_level
- % info.interval
- % (info.start_date == 0 ? "none" : start_date)
- % (info.request_last_date == 0 ? "none" : request_last_date)
- % (info.trap_last_date == 0 ? "none" : trap_last_date)
- % info.snmp_get_requests
- % info.snmp_set_requests
- % info.snmp_trap_count
- % info.vs_endpoint.address().to_string()
- % info.vs_endpoint.port()
- % info.protocol
- % info.option_set_flag;
- return os;
+ os << "{";
+ os << boost::format("flag=%d; "
+ "logtrap=%d; "
+ "logtrap_level=%s; "
+ "interval=%d; "
+ "start_date=%s; "
+ "request_last_date = %s; "
+ "trap_last_date = %s ;"
+ "snmp_get_requests = %d ;"
+ "snmp_set_requests = %d ;"
+ "snmp_trap_count= %d; "
+ "vs_endpoint= %s:%d; "
+ "protocol = %s; "
+ "option_set_flag = %x }")
+ % info.enabled
+ % info.logtrap_enabled
+ % info.logtrap_level
+ % info.interval
+ % (info.start_date == 0 ? "none" : start_date)
+ % (info.request_last_date == 0 ? "none" : request_last_date)
+ % (info.trap_last_date == 0 ? "none" : trap_last_date)
+ % info.snmp_get_requests
+ % info.snmp_set_requests
+ % info.snmp_trap_count
+ % info.vs_endpoint.address().to_string()
+ % info.vs_endpoint.port()
+ % info.protocol
+ % info.option_set_flag;
+ return os;
- }
+ }
private:
- friend class boost::serialization::access;
- template <class Archive > void serialize(Archive &ar, const unsigned int version) {
- ar & enabled;
- ar & logtrap_enabled;
- ar & logtrap_level;
- ar & interval;
- ar & start_date;
- ar & request_last_date;
- ar & trap_last_date;
- ar & snmp_get_requests;
- ar & snmp_set_requests;
- ar & snmp_trap_count;
- ar & vs_endpoint;
- ar & protocol;
- ar & option_set_flag;
+ friend class boost::serialization::access;
+ template <class Archive > void serialize(Archive &ar, const unsigned int version) {
+ ar &enabled;
+ ar &logtrap_enabled;
+ ar &logtrap_level;
+ ar &interval;
+ ar &start_date;
+ ar &request_last_date;
+ ar &trap_last_date;
+ ar &snmp_get_requests;
+ ar &snmp_set_requests;
+ ar &snmp_trap_count;
+ ar &vs_endpoint;
+ ar &protocol;
+ ar &option_set_flag;
- }
+ }
- };
+};
- struct rsdata {
- int index;
- int vs_index;
- int address_type;
- char address[128];
- int port;
- int forward;
- int weigth;
- int active_conn;
- int inactive_conn;
- };
+struct rsdata {
+ int index;
+ int vs_index;
+ int address_type;
+ char address[128];
+ int port;
+ int forward;
+ int weigth;
+ int active_conn;
+ int inactive_conn;
+};
}
//! @class snmpagent
//! @brief this class is snmpagent class.
- class snmpagent : private boost::noncopyable
- {
- public:
- /*!
- * constructor.
- *
- * @param[in] l7vsd pointer
- */
- snmpagent(l7vsd *);
-
- /*!
- * destructor.
- *
- */
- ~snmpagent() {};
-
- /*!
- * push the trap message into trap message queue.
- *
- * @param[in] in_trapmessage is trap message
- * @param[in/out] err is error code
- * @retrun void
- */
- static void push_trapmessage(trapmessage &in_trapmessage, error_code& err);
-
- /*!
- * set snmp function enable
- *
- * @retrun void
- */
- static void enable();
-
- /*!
- * set snmp function disable
- *
- * @retrun void
- */
- static void disable();
-
- /*!
- * set mib cache update interval.
- *
- * @param[in] in_interval is cache update interval
- * @retrun void
- */
- static void set_interval(const unsigned int in_interval);
-
- /*!
- * set log trap enable
- * @retrun void
- */
- static void logtrap_enable();
-
- /*!
- * set log trap disable
- * @retrun void
- */
- static void logtrap_disable();
-
- /*!
- * set log trap level.
- *
- * @param[in] in_level is log trap level
- * @retrun void
- */
- static void set_logtrap_level(const LOG_LEVEL_TAG in_level);
-
- /*!
- * get snmp information.
- *
- * @return snmp information
- */
- static snmp_info get_snmp_info();
-
- /*!
- * start snmp function.
- *
- * @param[in/out] error_code is error code
- * @return void
- */
- static void start(error_code&);
-
- /*!
- * stop snmp function.
- *
- * @return void
- */
- static void stop();
-
- /*!
- * refresh all the statistics.
- *
- * @return void
- */
- static void refresh_all_statistics();
-
- /*!
- * refresh a special virtual service's statistics.
- *
- * @param[in] vs_endpoint is virtual service's endpoint
- * @param[in] protocol is virtual service's protocol
- * @return void
- */
- static void refresh_statistics(const boost::asio::ip::tcp::endpoint &vs_endpoint,
- const std::string &protocol);
- /*!
- * finalize.
- *
- * @return void
- */
- void finalize();
- protected:
- /*!
- * constructor.
- *
- */
- snmpagent(){};
-
- };
+class snmpagent : private boost::noncopyable
+{
+public:
+ /*!
+ * constructor.
+ *
+ * @param[in] l7vsd pointer
+ */
+ snmpagent(l7vsd *);
+
+ /*!
+ * destructor.
+ *
+ */
+ ~snmpagent() {};
+
+ /*!
+ * push the trap message into trap message queue.
+ *
+ * @param[in] in_trapmessage is trap message
+ * @param[in/out] err is error code
+ * @retrun void
+ */
+ static void push_trapmessage(trapmessage &in_trapmessage, error_code &err);
+
+ /*!
+ * set snmp function enable
+ *
+ * @retrun void
+ */
+ static void enable();
+
+ /*!
+ * set snmp function disable
+ *
+ * @retrun void
+ */
+ static void disable();
+
+ /*!
+ * set mib cache update interval.
+ *
+ * @param[in] in_interval is cache update interval
+ * @retrun void
+ */
+ static void set_interval(const unsigned int in_interval);
+
+ /*!
+ * set log trap enable
+ * @retrun void
+ */
+ static void logtrap_enable();
+
+ /*!
+ * set log trap disable
+ * @retrun void
+ */
+ static void logtrap_disable();
+
+ /*!
+ * set log trap level.
+ *
+ * @param[in] in_level is log trap level
+ * @retrun void
+ */
+ static void set_logtrap_level(const LOG_LEVEL_TAG in_level);
+
+ /*!
+ * get snmp information.
+ *
+ * @return snmp information
+ */
+ static snmp_info get_snmp_info();
+
+ /*!
+ * start snmp function.
+ *
+ * @param[in/out] error_code is error code
+ * @return void
+ */
+ static void start(error_code &);
+
+ /*!
+ * stop snmp function.
+ *
+ * @return void
+ */
+ static void stop();
+
+ /*!
+ * refresh all the statistics.
+ *
+ * @return void
+ */
+ static void refresh_all_statistics();
+
+ /*!
+ * refresh a special virtual service's statistics.
+ *
+ * @param[in] vs_endpoint is virtual service's endpoint
+ * @param[in] protocol is virtual service's protocol
+ * @return void
+ */
+ static void refresh_statistics(const boost::asio::ip::tcp::endpoint &vs_endpoint,
+ const std::string &protocol);
+ /*!
+ * finalize.
+ *
+ * @return void
+ */
+ void finalize();
+protected:
+ /*!
+ * constructor.
+ *
+ */
+ snmpagent() {};
+
+};
}
#endif //__SUBAGENT_H__
//! @class snmpagent_impl
//! @brief this class is snmpagent implement class.
- class snmpagent_impl : private boost::noncopyable
- {
-
- public:
-
- //! trap function type
- typedef int trapfunc(const std::string&);
-
- //!trap function map type
- typedef std::map<trapmessage::TRAP_TYPE_TAG, trapfunc*> trapfunc_type;
-
- //!string log level map type
- typedef std::map<std::string, LOG_LEVEL_TAG> string_loglevel_map_type;
- protected:
- bool initialized;
- bool start_flag;
- l7vsd *vsd;
- trapfunc_type trapfunc_map;
- atomic<unsigned int> trap_polling_interval;
- atomic<unsigned int> trap_queue_max_size;
- atomic<unsigned int> enabled;
- unsigned int logtrap_enabled;
- LOG_LEVEL_TAG logtrap_level;
- atomic<unsigned int> interval;
- atomic<time_t> start_date;
- atomic<time_t> request_last_date;
- atomic<time_t> trap_last_date;
- atomic<unsigned long long> snmp_get_requests;
- atomic<unsigned long long> snmp_set_requests;
- atomic<unsigned long long> snmp_trap_count;
- std::deque<trapmessage> trap_msg_queue;
- boost::condition trap_msg_queue_condition;
- boost::mutex trap_msg_queue_condition_mutex;
- string_loglevel_map_type string_loglevel_map;
- boost::posix_time::ptime mib_collect_last_time;
- boost::thread trap_thread;
- boost::thread process_mib_thread;
-
- snmpagent_impl() {};
- ~snmpagent_impl() {};
- snmpagent_impl(const snmpagent_impl&);
- snmpagent_impl& operator=(const snmpagent_impl &);
-
- /*!
- * process mib get item thread function.
- *
- * @retrun void
- */
- void process_mib_run();
-
- /*!
- * process trap thread function.
- *
- * @retrun void
- */
- void trap_run();
-
- /*!
- * check mib data timeout.
- *
- * @retrun void
- */
- bool check_timeout();
-
- /*!
- * load configure file setting.
- *
- * @retrun void
- */
- void load_config();
-
- public:
-
- /*!
- * create and return a snmpagent_impl instance.
- *
- * @retrun snmpagent_impl & snmpagent_impl' instance
- */
- static snmpagent_impl &get_instance();
-
- /*!
- * snmpagent_impl class initialize.
- *
- * @param error_code & error code
- * @retrun void
- */
- void init(error_code &);
-
- /*!
- * push the trap message into trap message queue.
- *
- * @param[in] in_trapmessage is trap message
- * @param[in/out] err is error code
- * @retrun void
- */
- void push_trapmessage(trapmessage &in_trapmessage, error_code& err);
-
- /*!
- * snmpagent function start.
- *
- * @param[in/out] error_code is error code
- * @retrun void
- */
- void start(error_code&);
-
- /*!
- * snmpagent function stop.
- *
- * @retrun void
- */
- void stop();
-
- /*!
- * set snmp function enable
- *
- * @retrun void
- */
- void enable();
-
- /*!
- * set snmp function disable
- *
- * @retrun void
- */
- void disable();
-
- /*!
- * set log trap enable
- * @retrun void
- */
- void logtrap_enable();
-
- /*!
- * set log trap disable
- * @retrun void
- */
- void logtrap_disable();
-
- /*!
- * set log trap level.
- *
- * @param[in] in_level is log trap level
- * @retrun void
- */
- void set_logtrap_level(const LOG_LEVEL_TAG in_level);
-
- /*!
- * set mib cache update interval.
- *
- * @param[in] in_interval is cache update interval
- * @retrun void
- */
- void set_interval(const unsigned int in_interval);
-
- /*!
- * refresh all the statistics.
- *
- * @return void
- */
- void refresh_all_statistics();
-
- /*!
- * refresh a special virtual service's statistics.
- *
- * @param[in] vs_endpoint is virtual service's endpoint
- * @param[in] protocol is virtual service's protocol
- * @return void
- */
- void refresh_statistics(const boost::asio::ip::tcp::endpoint &vs_endpoint, const std::string &protocol);
-
- /*!
- * set vsd information.
- *
- * @param[in] vsd is vsd pointer.
- * @retrun void
- */
- void set_vsd_info(l7vsd *vsd);
-
- /*!
- * get snmp information.
- *
- * @retrun snmp_info is snmp information.
- */
- snmp_info get_snmp_info();
-
- /*!
- * collect mib data.
- *
- * @param[in] error_code is err code.
- * @retrun void
- */
- void collect_mibdata(error_code &);
-
- /*!
- * finalize.
- *
- * @retrun void
- */
- void finalize();
-
- /*!
- * increment get request count.
- *
- * @retrun void
- */
- void increment_getrequest_count();
-
- /*!
- * increment set request count.
- *
- * @retrun void
- */
- void increment_setrequest_count();
-
- /*!
- * update last request date.
- *
- * @retrun void
- */
- void update_last_request_date();
- };
+class snmpagent_impl : private boost::noncopyable
+{
+
+public:
+
+ //! trap function type
+ typedef int trapfunc(const std::string &);
+
+ //!trap function map type
+ typedef std::map<trapmessage::TRAP_TYPE_TAG, trapfunc *> trapfunc_type;
+
+ //!string log level map type
+ typedef std::map<std::string, LOG_LEVEL_TAG> string_loglevel_map_type;
+protected:
+ bool initialized;
+ bool start_flag;
+ l7vsd *vsd;
+ trapfunc_type trapfunc_map;
+ atomic<unsigned int> trap_polling_interval;
+ atomic<unsigned int> trap_queue_max_size;
+ atomic<unsigned int> enabled;
+ unsigned int logtrap_enabled;
+ LOG_LEVEL_TAG logtrap_level;
+ atomic<unsigned int> interval;
+ atomic<time_t> start_date;
+ atomic<time_t> request_last_date;
+ atomic<time_t> trap_last_date;
+ atomic<unsigned long long> snmp_get_requests;
+ atomic<unsigned long long> snmp_set_requests;
+ atomic<unsigned long long> snmp_trap_count;
+ std::deque<trapmessage> trap_msg_queue;
+ boost::condition trap_msg_queue_condition;
+ boost::mutex trap_msg_queue_condition_mutex;
+ string_loglevel_map_type string_loglevel_map;
+ boost::posix_time::ptime mib_collect_last_time;
+ boost::thread trap_thread;
+ boost::thread process_mib_thread;
+
+ snmpagent_impl() {};
+ ~snmpagent_impl() {};
+ snmpagent_impl(const snmpagent_impl &);
+ snmpagent_impl &operator=(const snmpagent_impl &);
+
+ /*!
+ * process mib get item thread function.
+ *
+ * @retrun void
+ */
+ void process_mib_run();
+
+ /*!
+ * process trap thread function.
+ *
+ * @retrun void
+ */
+ void trap_run();
+
+ /*!
+ * check mib data timeout.
+ *
+ * @retrun void
+ */
+ bool check_timeout();
+
+ /*!
+ * load configure file setting.
+ *
+ * @retrun void
+ */
+ void load_config();
+
+public:
+
+ /*!
+ * create and return a snmpagent_impl instance.
+ *
+ * @retrun snmpagent_impl & snmpagent_impl' instance
+ */
+ static snmpagent_impl &get_instance();
+
+ /*!
+ * snmpagent_impl class initialize.
+ *
+ * @param error_code & error code
+ * @retrun void
+ */
+ void init(error_code &);
+
+ /*!
+ * push the trap message into trap message queue.
+ *
+ * @param[in] in_trapmessage is trap message
+ * @param[in/out] err is error code
+ * @retrun void
+ */
+ void push_trapmessage(trapmessage &in_trapmessage, error_code &err);
+
+ /*!
+ * snmpagent function start.
+ *
+ * @param[in/out] error_code is error code
+ * @retrun void
+ */
+ void start(error_code &);
+
+ /*!
+ * snmpagent function stop.
+ *
+ * @retrun void
+ */
+ void stop();
+
+ /*!
+ * set snmp function enable
+ *
+ * @retrun void
+ */
+ void enable();
+
+ /*!
+ * set snmp function disable
+ *
+ * @retrun void
+ */
+ void disable();
+
+ /*!
+ * set log trap enable
+ * @retrun void
+ */
+ void logtrap_enable();
+
+ /*!
+ * set log trap disable
+ * @retrun void
+ */
+ void logtrap_disable();
+
+ /*!
+ * set log trap level.
+ *
+ * @param[in] in_level is log trap level
+ * @retrun void
+ */
+ void set_logtrap_level(const LOG_LEVEL_TAG in_level);
+
+ /*!
+ * set mib cache update interval.
+ *
+ * @param[in] in_interval is cache update interval
+ * @retrun void
+ */
+ void set_interval(const unsigned int in_interval);
+
+ /*!
+ * refresh all the statistics.
+ *
+ * @return void
+ */
+ void refresh_all_statistics();
+
+ /*!
+ * refresh a special virtual service's statistics.
+ *
+ * @param[in] vs_endpoint is virtual service's endpoint
+ * @param[in] protocol is virtual service's protocol
+ * @return void
+ */
+ void refresh_statistics(const boost::asio::ip::tcp::endpoint &vs_endpoint, const std::string &protocol);
+
+ /*!
+ * set vsd information.
+ *
+ * @param[in] vsd is vsd pointer.
+ * @retrun void
+ */
+ void set_vsd_info(l7vsd *vsd);
+
+ /*!
+ * get snmp information.
+ *
+ * @retrun snmp_info is snmp information.
+ */
+ snmp_info get_snmp_info();
+
+ /*!
+ * collect mib data.
+ *
+ * @param[in] error_code is err code.
+ * @retrun void
+ */
+ void collect_mibdata(error_code &);
+
+ /*!
+ * finalize.
+ *
+ * @retrun void
+ */
+ void finalize();
+
+ /*!
+ * increment get request count.
+ *
+ * @retrun void
+ */
+ void increment_getrequest_count();
+
+ /*!
+ * increment set request count.
+ *
+ * @retrun void
+ */
+ void increment_setrequest_count();
+
+ /*!
+ * update last request date.
+ *
+ * @retrun void
+ */
+ void update_last_request_date();
+};
}
* @param[in] error_code& is trap error code
* @retrun void
*/
-void init_snmp_handles(error_code& err);
+void init_snmp_handles(error_code &err);
/*!
* unregister snmp handler.
* @param[in] error_code& is trap error code
* @retrun void
*/
-void initialize_virtual_service_table(error_code& err);
+void initialize_virtual_service_table(error_code &err);
/*!
* initialize real server table data set.
* @param[in] error_code& is trap error code
* @retrun void
*/
-void initialize_real_server_table(error_code& err);
+void initialize_real_server_table(error_code &err);
/*!
* send service start trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_service_start(const std::string&);
+int trap_service_start(const std::string &);
/*!
* send service stop trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_service_stop(const std::string&);
+int trap_service_stop(const std::string &);
/*!
* send virtual service add trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_vs_add(const std::string&);
+int trap_vs_add(const std::string &);
/*!
* send virtual service change trap.
* @param[in] std::string is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_vs_change(const std::string&);
+int trap_vs_change(const std::string &);
/*!
* send virtual service remove trap.
* @param[in] std::string is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_vs_remove(const std::string&);
+int trap_vs_remove(const std::string &);
/*!
* send real server add trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_rs_add(const std::string&);
+int trap_rs_add(const std::string &);
/*!
* send real server change trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_rs_change(const std::string&);
+int trap_rs_change(const std::string &);
/*!
* send real server remove trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_rs_remove(const std::string&);
+int trap_rs_remove(const std::string &);
/*!
* send upstream QoS alert on trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_up_qos_alert_on(const std::string&);
+int trap_up_qos_alert_on(const std::string &);
/*!
* send upstream QoS alert off trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_up_qos_alert_off(const std::string&);
+int trap_up_qos_alert_off(const std::string &);
/*!
* send downstream QoS alert on trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_down_qos_alert_on(const std::string&);
+int trap_down_qos_alert_on(const std::string &);
/*!
* send downstream QoS alert off trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_down_qos_alert_off(const std::string&);
+int trap_down_qos_alert_off(const std::string &);
/*!
* send session pool alert on trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_sessionpool_alert_on(const std::string&);
+int trap_sessionpool_alert_on(const std::string &);
/*!
* send session pool alert off trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_sessionpool_alert_off(const std::string&);
+int trap_sessionpool_alert_off(const std::string &);
/*!
* send fatal log trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_fatal(const std::string&);
+int trap_fatal(const std::string &);
/*!
* send error log trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_error(const std::string&);
+int trap_error(const std::string &);
/*!
* send warn log trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_warn(const std::string&);
+int trap_warn(const std::string &);
/*!
* send info log trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_info(const std::string&);
+int trap_info(const std::string &);
/*!
* send debug log trap.
* @param[in] const std::string& is trap message
* @retrun int success:SNMP_ERR_NOERROR failed:SNMP_ERR_GENERR
*/
-int trap_debug(const std::string&);
+int trap_debug(const std::string &);
/*
* column number definitions for table l7vsVsTable
SESSION_PAUSE_OFF,
ACCESS_LOG_ON,
ACCESS_LOG_OFF,
- REALSERVER_REMOVE
+ REALSERVER_REMOVE
};
//! constructor
const int set_ssl_handshake_time_out,
logger_implement_access *set_access_logger);
- l7vs::atomic<unsigned long long> *now_connect_count;
+ l7vs::atomic<unsigned long long> *now_connect_count;
//! destructor
virtual ~tcp_session();
session_result_message initialize();
//! get reference client side socket
//! @return reference client side socket
- tcp_socket& get_client_socket();
+ tcp_socket &get_client_socket();
//! get reference client side ssl socket
//! @return reference client side ssl socket
- ssl_socket& get_client_ssl_socket();
+ ssl_socket &get_client_ssl_socket();
//! message from parent virtualservice
//! @param[in] message is tcp virtualservice message type
void set_virtual_service_message(
const TCP_VIRTUAL_SERVICE_MESSAGE_TAG message,
- const boost::asio::ip::tcp::endpoint );
+ const boost::asio::ip::tcp::endpoint);
//! up stream thread main function
void up_thread_run();
//! down stream thread main function
void down_thread_run();
- //! realserver remove
- //! @param[in] target endpoint
- void realserver_remove( boost::asio::ip::tcp::endpoint& );
+ //! realserver remove
+ //! @param[in] target endpoint
+ void realserver_remove(boost::asio::ip::tcp::endpoint &);
protected:
- typedef data_buff_base<boost::asio::ip::tcp> tcp_data;
+ typedef data_buff_base<boost::asio::ip::tcp> tcp_data;
typedef boost::asio::ip::tcp::endpoint endpoint;
typedef boost::shared_ptr< tcp_socket > tcp_socket_ptr;
typedef boost::function< void(TCP_PROCESS_TYPE_TAG) > tcp_session_func;
//! up thread call function type
enum UP_THREAD_FUNC_TYPE_TAG {
- UP_FUNC_NONE = 0, //! up thread function none.
+ UP_FUNC_NONE = 0, //! up thread function none.
UP_FUNC_CLIENT_ACCEPT, //! up_thread_client_accept function
UP_FUNC_CLIENT_ACCEPT_EVENT, //! up_thread_client_accept_event function
- UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT, //! up_thread_client_accept_fail_event function
+ UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT, //! up_thread_client_accept_fail_event function
UP_FUNC_CLIENT_DISCONNECT, //! up_thread_client_disconnect function
UP_FUNC_CLIENT_DISCONNECT_EVENT, //! up_thread_client_disconnect_event function
UP_FUNC_CLIENT_RECEIVE, //! up_thread_client_receive function
- UP_FUNC_CLIENT_ARECEIVE_HANDLE_EVENT, //! up_thread_client_asnc_read_some_handler function
- UP_FUNC_CLIENT_HANDLE_ARECIEVE, //! up_thread_client_handle_async_read_some function
+ UP_FUNC_CLIENT_ARECEIVE_HANDLE_EVENT, //! up_thread_client_asnc_read_some_handler function
+ UP_FUNC_CLIENT_HANDLE_ARECIEVE, //! up_thread_client_handle_async_read_some function
UP_FUNC_CLIENT_RESPOND_SEND, //! up_thread_client_respond function
UP_FUNC_CLIENT_RESPOND_SEND_EVENT, //! up_thread_client_respond_event function
UP_FUNC_REALSERVER_GET_DEST_EVENT, //! up_thread_realserver_get_destination_event function
UP_FUNC_REALSERVER_CONNECT_EVENT, //! up_thread_realserver_connect_event function
UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT, //! up_thread_realserver_connection_fail_event function
UP_FUNC_REALSERVER_SEND, //! up_thread_realserver_send function
- UP_FUNC_REALSERVER_ASEND_HANDLE_EVENT, //! up_thread_realserver_async_write_some_handler function
- UP_FUNC_REALSERVER_HANDLE_ASEND, //! up_thread_realserver_handle_async_write_some function
+ UP_FUNC_REALSERVER_ASEND_HANDLE_EVENT, //! up_thread_realserver_async_write_some_handler function
+ UP_FUNC_REALSERVER_HANDLE_ASEND, //! up_thread_realserver_handle_async_write_some function
UP_FUNC_REALSERVER_DISCONNECT, //! up_thread_realserver_disconnect function
UP_FUNC_REALSERVER_DISCONNECT_EVENT, //! up_thread_realserver_disconnect_event function
- UP_FUNC_REALSERVER_ALL_DISCONNECT, //! up_thread_realserver_asll_disconnect function
+ UP_FUNC_REALSERVER_ALL_DISCONNECT, //! up_thread_realserver_asll_disconnect function
UP_FUNC_REALSERVER_CHECK, //! up_thread_realserver_check function
UP_FUNC_SORRYSERVER_GET_DEST, //! up_thread_sorryserver_get_destination_event function
UP_FUNC_SORRYSERVER_CONNECT, //! up_thread_sorryserver_connect function
UP_FUNC_SORRYSERVER_CONNECT_EVENT, //! up_thread_sorryserver_connect_event function
UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT, //! up_thread_sorryserver_connection_fail_event function
UP_FUNC_SORRYSERVER_SEND, //! up_thread_sorryserver_send function
- UP_FUNC_SORRYSERVER_ASEND_HANDLE_EVENT, //! up_thread_sorryserver_async_read_some_handler function
- UP_FUNC_SORRYSERVER_HANDLE_ASEND, //! up_thread_sorryserver_handle_async_read_some function
+ UP_FUNC_SORRYSERVER_ASEND_HANDLE_EVENT, //! up_thread_sorryserver_async_read_some_handler function
+ UP_FUNC_SORRYSERVER_HANDLE_ASEND, //! up_thread_sorryserver_handle_async_read_some function
UP_FUNC_SORRYSERVER_DISCONNECT, //! up_thread_sorryserver_disconnect function
UP_FUNC_SORRYSERVER_MOD_DISCONNECT, //! up_thread_sorryserver_mod_disconnect function
UP_FUNC_SORRYSERVER_DISCONNECT_EVENT, //! up_thread_sorryserver_disconnect_event function
UP_FUNC_SORRY_ENABLE_EVENT, //! up_thread_sorry_enable_event function
UP_FUNC_SORRY_DISABLE_EVENT, //! up_thread_sorry_disable_event function
- UP_FUNC_PAUSE_ON_EVENT, //! up_thread_pasue_on_event function
- UP_FUNC_PAUSE_OFF_EVENT, //! up_thread_pasue_off_event function
+ UP_FUNC_PAUSE_ON_EVENT, //! up_thread_pasue_on_event function
+ UP_FUNC_PAUSE_OFF_EVENT, //! up_thread_pasue_off_event function
UP_FUNC_EXIT //! up_thread_exit function
};
//! down thread call function type
enum DOWN_THREAD_FUNC_TYPE_TAG {
- DOWN_FUNC_NONE = 0,
+ DOWN_FUNC_NONE = 0,
DOWN_FUNC_CLIENT_DISCONNECT, //! down_thread_client_disconnect function
DOWN_FUNC_CLIENT_DISCONNECT_EVENT, //! down_thread_client_disconnect_event function
DOWN_FUNC_CLIENT_CONNECTION_CHK, //! down_thread_client_connection_chk_event function
DOWN_FUNC_CLIENT_SEND, //! down_thread_client_send function
- DOWN_FUNC_CLIENT_ASEND_HANDLE_EVENT, //! down_thread_client_async_write_some_handler function
- DOWN_FUNC_CLIENT_HANDLE_ASEND, //! down_thread_client_handle_async_write_some function
+ DOWN_FUNC_CLIENT_ASEND_HANDLE_EVENT, //! down_thread_client_async_write_some_handler function
+ DOWN_FUNC_CLIENT_HANDLE_ASEND, //! down_thread_client_handle_async_write_some function
DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT, //! down_thread_client_respond_event function
DOWN_FUNC_REALSERVER_RECEIVE, //! down_thread_realserver_receive function
- DOWN_FUNC_REALSERVER_ARECEIVE_HANDLE_EVENT, //! down_thread_realserver_async_read_some_handler function
- DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE, //! down_thread_realserver_handle_async_read_some function
+ DOWN_FUNC_REALSERVER_ARECEIVE_HANDLE_EVENT, //! down_thread_realserver_async_read_some_handler function
+ DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE, //! down_thread_realserver_handle_async_read_some function
DOWN_FUNC_REALSERVER_DISCONNECT, //! down_thread_realserver_disconnect function
DOWN_FUNC_REALSERVER_DISCONNECT_EVENT, //! down_thread_realserver_disconnect_event function
DOWN_FUNC_REALSERVER_ALL_DISCONNECT, //! down_thread_all_realserver_disconnect function
DOWN_FUNC_SORRYSERVER_RECEIVE, //! down_thread_sorryserver_receive function
- DOWN_FUNC_SORRYSERVER_ARECEIVE_HANDLE_EVENT, //! down_thread_sorryserver_async_read_some_handler function
- DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE, //! down_thread_sorryserver_handle_async_read_some function
+ DOWN_FUNC_SORRYSERVER_ARECEIVE_HANDLE_EVENT, //! down_thread_sorryserver_async_read_some_handler function
+ DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE, //! down_thread_sorryserver_handle_async_read_some function
DOWN_FUNC_SORRYSERVER_DISCONNECT, //! down_thread_sorryserver_disconnect function
DOWN_FUNC_SORRYSERVER_MOD_DISCONNECT, //! down_thread_sorryserver_mod_disconnect function
DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT, //! down_thread_sorryserver_disconnect_event function
DOWN_FUNC_SORRY_ENABLE_EVENT, //! down_thread_sorry_enable_event function
DOWN_FUNC_SORRY_DISABLE_EVENT, //! down_thread_sorry_disable_event function
- DOWN_FUNC_PAUSE_ON_EVENT, //! down_thread_pause_on_event function
- DOWN_FUNC_PAUSE_OFF_EVENT, //! down_thraed_pause_off_event function
+ DOWN_FUNC_PAUSE_ON_EVENT, //! down_thread_pause_on_event function
+ DOWN_FUNC_PAUSE_OFF_EVENT, //! down_thraed_pause_off_event function
DOWN_FUNC_EXIT //! down_thread_exit function
};
- #ifdef DEBUG
- class u_pair : public std::pair< UP_THREAD_FUNC_TYPE_TAG, tcp_session_func >{
- public:
- u_pair& operator=( const u_pair& in ){
- if( in.first == UP_FUNC_NONE )
- throw std::string( "UP_FUNC_NONE insert" );
- std::pair< UP_THREAD_FUNC_TYPE_TAG, tcp_session_func >::operator=( in );
- return *this;
- }
- u_pair& operator=( const std::pair< UP_THREAD_FUNC_TYPE_TAG, tcp_session_func >& in ){
- if( in.first == UP_FUNC_NONE )
- throw std::string( "UP_FUNC_NONE insert" );
- std::pair< UP_THREAD_FUNC_TYPE_TAG, tcp_session_func >::operator=( in );
- return *this;
- }
- };
- typedef u_pair up_thread_function_pair;
- #else
+#ifdef DEBUG
+ class u_pair : public std::pair< UP_THREAD_FUNC_TYPE_TAG, tcp_session_func >
+ {
+ public:
+ u_pair &operator=(const u_pair &in) {
+ if (in.first == UP_FUNC_NONE)
+ throw std::string("UP_FUNC_NONE insert");
+ std::pair< UP_THREAD_FUNC_TYPE_TAG, tcp_session_func >::operator=(in);
+ return *this;
+ }
+ u_pair &operator=(const std::pair< UP_THREAD_FUNC_TYPE_TAG, tcp_session_func >& in) {
+ if (in.first == UP_FUNC_NONE)
+ throw std::string("UP_FUNC_NONE insert");
+ std::pair< UP_THREAD_FUNC_TYPE_TAG, tcp_session_func >::operator=(in);
+ return *this;
+ }
+ };
+ typedef u_pair up_thread_function_pair;
+#else
typedef std::pair< UP_THREAD_FUNC_TYPE_TAG, tcp_session_func >
up_thread_function_pair;
- #endif
-
-
- #ifdef DEBUG
- class d_pair : public std::pair< DOWN_THREAD_FUNC_TYPE_TAG, tcp_session_func >{
- public:
- d_pair& operator=( const d_pair& in ){
- if( in.first == DOWN_FUNC_NONE )
- throw std::string( "DOWN_FUNC_NONE insert" );
- std::pair< DOWN_THREAD_FUNC_TYPE_TAG, tcp_session_func>::operator=( in );
- return *this;
- }
- d_pair& operator=( const std::pair< DOWN_THREAD_FUNC_TYPE_TAG, tcp_session_func >& in ){
- if( in.first == DOWN_FUNC_NONE )
- throw std::string( "DOWN_FUNC_NONE insert" );
- std::pair< DOWN_THREAD_FUNC_TYPE_TAG, tcp_session_func >::operator=( in );
- return *this;
- }
- };
- typedef d_pair down_thread_function_pair;
- #else
+#endif
+
+
+#ifdef DEBUG
+ class d_pair : public std::pair< DOWN_THREAD_FUNC_TYPE_TAG, tcp_session_func >
+ {
+ public:
+ d_pair &operator=(const d_pair &in) {
+ if (in.first == DOWN_FUNC_NONE)
+ throw std::string("DOWN_FUNC_NONE insert");
+ std::pair< DOWN_THREAD_FUNC_TYPE_TAG, tcp_session_func>::operator=(in);
+ return *this;
+ }
+ d_pair &operator=(const std::pair< DOWN_THREAD_FUNC_TYPE_TAG, tcp_session_func >& in) {
+ if (in.first == DOWN_FUNC_NONE)
+ throw std::string("DOWN_FUNC_NONE insert");
+ std::pair< DOWN_THREAD_FUNC_TYPE_TAG, tcp_session_func >::operator=(in);
+ return *this;
+ }
+ };
+ typedef d_pair down_thread_function_pair;
+#else
typedef std::pair< DOWN_THREAD_FUNC_TYPE_TAG, tcp_session_func >
down_thread_function_pair;
- #endif
+#endif
//! tcp_session use io service
- boost::asio::io_service& parent_dispatcher;
+ boost::asio::io_service &parent_dispatcher;
//! parent virtualservice
virtualservice_tcp &parent_service;
//! thread main loop exit flag
DOWNTHREAD_COMPLETE
};
UPTHREAD_STATUS_TAG upthread_status;
- boost::mutex upthread_status_mutex;
- boost::condition upthread_status_cond;
+ boost::mutex upthread_status_mutex;
+ boost::condition upthread_status_cond;
DOWNTHREAD_STATUS_TAG downthread_status;
- boost::mutex downthread_status_mutex;
- boost::condition downthread_status_cond;
+ boost::mutex downthread_status_mutex;
+ boost::condition downthread_status_cond;
//! up thread id
boost::thread::id up_thread_id;
protocol_module_base *protocol_module;
//! client socket
tcp_socket client_socket;
- //! realserver socket
- tcp_socket_ptr realserver_socket;
- //! realserver socket mutex
- boost::mutex realserver_socket_mutex;
- //! realserver endpoint
- boost::asio::ip::tcp::endpoint realserver_endpoint;
+ //! realserver socket
+ tcp_socket_ptr realserver_socket;
+ //! realserver socket mutex
+ boost::mutex realserver_socket_mutex;
+ //! realserver endpoint
+ boost::asio::ip::tcp::endpoint realserver_endpoint;
//! sorryserver socket
tcp_socket_ptr sorryserver_socket;
- //! sorryserver endpoint
- boost::asio::ip::tcp::endpoint sorryserver_endpoint;
+ //! sorryserver endpoint
+ boost::asio::ip::tcp::endpoint sorryserver_endpoint;
//! module function mutex (handle_response_send_inform)
wr_mutex module_function_response_send_inform_mutex;
//! module function mutex (handle_client_disconnect)
tcp_ssl_socket client_ssl_socket;
//! ssl context
boost::asio::ssl::context &ssl_context;
- //! ssl handshake callback handle
- void up_thread_client_handshake_handle( const boost::system::error_code& );
- //! ssl handshake time
- boost::xtime start_handshake_time;
- //! ssl handshake fail event
- void up_thread_client_accept_fail_event( const TCP_PROCESS_TYPE_TAG process_type );
- //! accept error code
- boost::system::error_code handshake_error_code;
+ //! ssl handshake callback handle
+ void up_thread_client_handshake_handle(const boost::system::error_code &);
+ //! ssl handshake time
+ boost::xtime start_handshake_time;
+ //! ssl handshake fail event
+ void up_thread_client_accept_fail_event(const TCP_PROCESS_TYPE_TAG process_type);
+ //! accept error code
+ boost::system::error_code handshake_error_code;
//! ssl session cache flag
bool ssl_cache_flag;
//! ssl handshake timeout
//! socket option
tcp_socket_option_info socket_opt_info;
- //! connecting endpoint
- endpoint connecting_endpoint;
- //! connecting socket
- tcp_socket_ptr connecting_socket;
-
- //! endpoint data to string information
- //! @param[in] endpoint is target endpoint object
- virtual std::string endpoint_to_string(
+ //! connecting endpoint
+ endpoint connecting_endpoint;
+ //! connecting socket
+ tcp_socket_ptr connecting_socket;
+
+ //! endpoint data to string information
+ //! @param[in] endpoint is target endpoint object
+ virtual std::string endpoint_to_string(
const boost::asio::ip::tcp::endpoint &target_endpoint);
//! up thread accept client side
//! @param[in] process_type is process type
virtual void up_thread_sorryserver_get_destination_event(
const TCP_PROCESS_TYPE_TAG process_type);
- //! up thread sorryserver async_connect handler
- //! @param[in] error is error code object
- virtual void up_thread_sorryserver_connect_handler(
- const boost::system::error_code &error );
+ //! up thread sorryserver async_connect handler
+ //! @param[in] error is error code object
+ virtual void up_thread_sorryserver_connect_handler(
+ const boost::system::error_code &error);
//! up thread connect sorryserver
//! @param[in] process_type is process type
virtual void up_thread_sorryserver_connect(
virtual void up_thread_realserver_check(
const TCP_PROCESS_TYPE_TAG process_type);
- //! up thread session pause on event
- virtual void up_thread_session_pause_on_event(
- const TCP_PROCESS_TYPE_TAG );
+ //! up thread session pause on event
+ virtual void up_thread_session_pause_on_event(
+ const TCP_PROCESS_TYPE_TAG);
- //! up thread session pause off event
- virtual void up_thread_session_pause_off_event(
- const TCP_PROCESS_TYPE_TAG );
+ //! up thread session pause off event
+ virtual void up_thread_session_pause_off_event(
+ const TCP_PROCESS_TYPE_TAG);
- virtual void up_thread_client_async_read_some_handler( const boost::system::error_code& error_code, std::size_t len );
- virtual void up_thread_client_handle_async_read_some( const TCP_PROCESS_TYPE_TAG );
- virtual void up_thread_realserver_async_write_some_handler(const boost::system::error_code& error_code, std::size_t len );
- virtual void up_thread_realserver_handle_async_write_some( const TCP_PROCESS_TYPE_TAG );
- virtual void up_thread_sorryserver_async_write_some_handler( const boost::system::error_code& error_code, std::size_t len );
- virtual void up_thread_sorryserver_handle_async_write_some( const TCP_PROCESS_TYPE_TAG );
- virtual void down_thread_realserver_async_read_some_handler(const boost::system::error_code& error_code, std::size_t len );
- virtual void down_thread_realserver_handle_async_read_some( const TCP_PROCESS_TYPE_TAG );
- virtual void down_thread_client_async_write_some_handler( const boost::system::error_code& error_code, std::size_t len );
- virtual void down_thread_client_handle_async_write_some( const TCP_PROCESS_TYPE_TAG );
- virtual void down_thread_sorryserver_async_read_some_handler( const boost::system::error_code& error_code, std::size_t len );
- virtual void down_thread_sorryserver_handle_async_read_some( const TCP_PROCESS_TYPE_TAG );
+ virtual void up_thread_client_async_read_some_handler(const boost::system::error_code &error_code, std::size_t len);
+ virtual void up_thread_client_handle_async_read_some(const TCP_PROCESS_TYPE_TAG);
+ virtual void up_thread_realserver_async_write_some_handler(const boost::system::error_code &error_code, std::size_t len);
+ virtual void up_thread_realserver_handle_async_write_some(const TCP_PROCESS_TYPE_TAG);
+ virtual void up_thread_sorryserver_async_write_some_handler(const boost::system::error_code &error_code, std::size_t len);
+ virtual void up_thread_sorryserver_handle_async_write_some(const TCP_PROCESS_TYPE_TAG);
+ virtual void down_thread_realserver_async_read_some_handler(const boost::system::error_code &error_code, std::size_t len);
+ virtual void down_thread_realserver_handle_async_read_some(const TCP_PROCESS_TYPE_TAG);
+ virtual void down_thread_client_async_write_some_handler(const boost::system::error_code &error_code, std::size_t len);
+ virtual void down_thread_client_handle_async_write_some(const TCP_PROCESS_TYPE_TAG);
+ virtual void down_thread_sorryserver_async_read_some_handler(const boost::system::error_code &error_code, std::size_t len);
+ virtual void down_thread_sorryserver_handle_async_read_some(const TCP_PROCESS_TYPE_TAG);
//! down thread receive from realserver and raise module event of handle_realserver_recv
//! @param[in] process_type is process type
virtual void down_thread_all_socket_close(void);
- //! down thread realserver check event
- virtual void down_thread_realserver_check(
- const TCP_PROCESS_TYPE_TAG process_type );
+ //! down thread realserver check event
+ virtual void down_thread_realserver_check(
+ const TCP_PROCESS_TYPE_TAG process_type);
- //! down thread session pause on event
- virtual void down_thread_session_pause_on_event(
- const TCP_PROCESS_TYPE_TAG );
+ //! down thread session pause on event
+ virtual void down_thread_session_pause_on_event(
+ const TCP_PROCESS_TYPE_TAG);
- //! down thread session pause off event
- virtual void down_thread_session_pause_off_event(
- const TCP_PROCESS_TYPE_TAG );
+ //! down thread session pause off event
+ virtual void down_thread_session_pause_off_event(
+ const TCP_PROCESS_TYPE_TAG);
//! millisecond to boost::xtime converter
virtual void to_time(int in, boost::xtime &xt);
std::string func_tag_to_string(UP_THREAD_FUNC_TYPE_TAG in) {
return
in == UP_FUNC_CLIENT_ACCEPT ? "UP_FUNC_CLIENT_ACCEPT"
- : in == UP_FUNC_CLIENT_ACCEPT_EVENT ? "UP_FUNC_CLIENT_ACCEPT_EVENT"
- : in == UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT ? "UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT"
- : in == UP_FUNC_CLIENT_DISCONNECT ? "UP_FUNC_CLIENT_DISCONNECT"
- : in == UP_FUNC_CLIENT_DISCONNECT_EVENT ? "UP_FUNC_CLIENT_DISCONNECT_EVENT"
- : in == UP_FUNC_CLIENT_RECEIVE ? "UP_FUNC_CLIENT_RECEIVE"
- : in == UP_FUNC_CLIENT_ARECEIVE_HANDLE_EVENT ? "UP_FUNC_CLIENT_ARECIEVE_HANDLE_EVENT"
- : in == UP_FUNC_CLIENT_HANDLE_ARECIEVE ? "UP_FUNC_CLIENT_HANDLE_ARECIEVE"
- : in == UP_FUNC_CLIENT_RESPOND_SEND ? "UP_FUNC_CLIENT_RESPOND_SEND"
- : in == UP_FUNC_CLIENT_RESPOND_SEND_EVENT ? "UP_FUNC_CLIENT_RESPOND_SEND_EVENT"
- : in == UP_FUNC_REALSERVER_GET_DEST_EVENT ? "UP_FUNC_REALSERVER_GET_DEST_EVENT"
- : in == UP_FUNC_REALSERVER_CONNECT ? "UP_FUNC_REALSERVER_CONNECT"
- : in == UP_FUNC_REALSERVER_CONNECT_EVENT ? "UP_FUNC_REALSERVER_CONNECT_EVENT"
- : in == UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT ? "UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT"
- : in == UP_FUNC_REALSERVER_SEND ? "UP_FUNC_REALSERVER_SEND"
- : in == UP_FUNC_REALSERVER_ASEND_HANDLE_EVENT ? "UP_FUNC_REALSERVER_ASEND_HANDLE_EVENT"
- : in == UP_FUNC_REALSERVER_HANDLE_ASEND ? "UP_FUNC_REALSERVER_HANDLE_ASEND"
- : in == UP_FUNC_REALSERVER_DISCONNECT ? "UP_FUNC_REALSERVER_DISCONNECT"
- : in == UP_FUNC_REALSERVER_DISCONNECT_EVENT ? "UP_FUNC_REALSERVER_DISCONNECT_EVENT"
- : in == UP_FUNC_REALSERVER_ALL_DISCONNECT ? "UP_FUNC_REALSERVER_ALL_DISCONNECT"
- : in == UP_FUNC_REALSERVER_CHECK ? "UP_FUNC_REALSERVER_CHECK"
- : in == UP_FUNC_SORRYSERVER_GET_DEST ? "UP_FUNC_SORRYSERVER_GET_DEST"
- : in == UP_FUNC_SORRYSERVER_CONNECT ? "UP_FUNC_SORRYSERVER_CONNECT"
- : in == UP_FUNC_SORRYSERVER_CONNECT_EVENT ? "UP_FUNC_SORRYSERVER_CONNECT_EVENT"
- : in == UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT ? "UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT"
- : in == UP_FUNC_SORRYSERVER_SEND ? "UP_FUNC_SORRYSERVER_SEND"
- : in == UP_FUNC_SORRYSERVER_ASEND_HANDLE_EVENT ? "UP_FUNC_SORRYSERVER_ASEND_HANDLE_EVENT"
- : in == UP_FUNC_SORRYSERVER_HANDLE_ASEND ? "UP_FUNC_SORRYSERVER_HANDLE_ASEND"
- : in == UP_FUNC_SORRYSERVER_DISCONNECT ? "UP_FUNC_SORRYSERVER_DISCONNECT"
- : in == UP_FUNC_SORRYSERVER_MOD_DISCONNECT ? "UP_FUNC_SORRYSERVER_MOD_DISCONNECT"
- : in == UP_FUNC_SORRYSERVER_DISCONNECT_EVENT ? "UP_FUNC_SORRYSERVER_DISCONNECT_EVENT"
- : in == UP_FUNC_SORRY_ENABLE_EVENT ? "UP_FUNC_SORRY_ENABLE_EVENT"
- : in == UP_FUNC_SORRY_DISABLE_EVENT ? "UP_FUNC_SORRY_DISABLE_EVENT"
- : in == UP_FUNC_PAUSE_ON_EVENT ? "UP_FUNC_PAUSE_ON_EVENT"
- : in == UP_FUNC_PAUSE_OFF_EVENT ? "UP_FUNC_PAUSE_OFF_EVENT"
- : in == UP_FUNC_EXIT ? "UP_FUNC_EXIT"
- : "NOT_FOUND"
- ;
+ : in == UP_FUNC_CLIENT_ACCEPT_EVENT ? "UP_FUNC_CLIENT_ACCEPT_EVENT"
+ : in == UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT ? "UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT"
+ : in == UP_FUNC_CLIENT_DISCONNECT ? "UP_FUNC_CLIENT_DISCONNECT"
+ : in == UP_FUNC_CLIENT_DISCONNECT_EVENT ? "UP_FUNC_CLIENT_DISCONNECT_EVENT"
+ : in == UP_FUNC_CLIENT_RECEIVE ? "UP_FUNC_CLIENT_RECEIVE"
+ : in == UP_FUNC_CLIENT_ARECEIVE_HANDLE_EVENT ? "UP_FUNC_CLIENT_ARECIEVE_HANDLE_EVENT"
+ : in == UP_FUNC_CLIENT_HANDLE_ARECIEVE ? "UP_FUNC_CLIENT_HANDLE_ARECIEVE"
+ : in == UP_FUNC_CLIENT_RESPOND_SEND ? "UP_FUNC_CLIENT_RESPOND_SEND"
+ : in == UP_FUNC_CLIENT_RESPOND_SEND_EVENT ? "UP_FUNC_CLIENT_RESPOND_SEND_EVENT"
+ : in == UP_FUNC_REALSERVER_GET_DEST_EVENT ? "UP_FUNC_REALSERVER_GET_DEST_EVENT"
+ : in == UP_FUNC_REALSERVER_CONNECT ? "UP_FUNC_REALSERVER_CONNECT"
+ : in == UP_FUNC_REALSERVER_CONNECT_EVENT ? "UP_FUNC_REALSERVER_CONNECT_EVENT"
+ : in == UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT ? "UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT"
+ : in == UP_FUNC_REALSERVER_SEND ? "UP_FUNC_REALSERVER_SEND"
+ : in == UP_FUNC_REALSERVER_ASEND_HANDLE_EVENT ? "UP_FUNC_REALSERVER_ASEND_HANDLE_EVENT"
+ : in == UP_FUNC_REALSERVER_HANDLE_ASEND ? "UP_FUNC_REALSERVER_HANDLE_ASEND"
+ : in == UP_FUNC_REALSERVER_DISCONNECT ? "UP_FUNC_REALSERVER_DISCONNECT"
+ : in == UP_FUNC_REALSERVER_DISCONNECT_EVENT ? "UP_FUNC_REALSERVER_DISCONNECT_EVENT"
+ : in == UP_FUNC_REALSERVER_ALL_DISCONNECT ? "UP_FUNC_REALSERVER_ALL_DISCONNECT"
+ : in == UP_FUNC_REALSERVER_CHECK ? "UP_FUNC_REALSERVER_CHECK"
+ : in == UP_FUNC_SORRYSERVER_GET_DEST ? "UP_FUNC_SORRYSERVER_GET_DEST"
+ : in == UP_FUNC_SORRYSERVER_CONNECT ? "UP_FUNC_SORRYSERVER_CONNECT"
+ : in == UP_FUNC_SORRYSERVER_CONNECT_EVENT ? "UP_FUNC_SORRYSERVER_CONNECT_EVENT"
+ : in == UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT ? "UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT"
+ : in == UP_FUNC_SORRYSERVER_SEND ? "UP_FUNC_SORRYSERVER_SEND"
+ : in == UP_FUNC_SORRYSERVER_ASEND_HANDLE_EVENT ? "UP_FUNC_SORRYSERVER_ASEND_HANDLE_EVENT"
+ : in == UP_FUNC_SORRYSERVER_HANDLE_ASEND ? "UP_FUNC_SORRYSERVER_HANDLE_ASEND"
+ : in == UP_FUNC_SORRYSERVER_DISCONNECT ? "UP_FUNC_SORRYSERVER_DISCONNECT"
+ : in == UP_FUNC_SORRYSERVER_MOD_DISCONNECT ? "UP_FUNC_SORRYSERVER_MOD_DISCONNECT"
+ : in == UP_FUNC_SORRYSERVER_DISCONNECT_EVENT ? "UP_FUNC_SORRYSERVER_DISCONNECT_EVENT"
+ : in == UP_FUNC_SORRY_ENABLE_EVENT ? "UP_FUNC_SORRY_ENABLE_EVENT"
+ : in == UP_FUNC_SORRY_DISABLE_EVENT ? "UP_FUNC_SORRY_DISABLE_EVENT"
+ : in == UP_FUNC_PAUSE_ON_EVENT ? "UP_FUNC_PAUSE_ON_EVENT"
+ : in == UP_FUNC_PAUSE_OFF_EVENT ? "UP_FUNC_PAUSE_OFF_EVENT"
+ : in == UP_FUNC_EXIT ? "UP_FUNC_EXIT"
+ : "NOT_FOUND"
+ ;
}
std::string func_tag_to_string(DOWN_THREAD_FUNC_TYPE_TAG in) {
return
in == DOWN_FUNC_CLIENT_DISCONNECT ? "DOWN_FUNC_CLIENT_DISCONNECT"
- : in == DOWN_FUNC_CLIENT_DISCONNECT_EVENT ? "DOWN_FUNC_CLIENT_DISCONNECT_EVENT"
- : in == DOWN_FUNC_CLIENT_CONNECTION_CHK ? "DOWN_FUNC_CLIENT_CONNECTION_CHK"
- : in == DOWN_FUNC_CLIENT_SEND ? "DOWN_FUNC_CLIENT_SEND"
- : in == DOWN_FUNC_CLIENT_ASEND_HANDLE_EVENT ? "DOWN_FUNC_CLIENT_ASEND_HANDLE_EVENT"
- : in == DOWN_FUNC_CLIENT_HANDLE_ASEND ? "DOWN_FUNC_CLIENT_HANDLE_ASEND"
- : in == DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT ? "DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT"
- : in == DOWN_FUNC_REALSERVER_RECEIVE ? "DOWN_FUNC_REALSERVER_RECEIVE"
- : in == DOWN_FUNC_REALSERVER_ARECEIVE_HANDLE_EVENT ? "DOWN_FUNC_REALSERVER_ARECEIVE_HANDLE_EVENT"
- : in == DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE ? "DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE"
- : in == DOWN_FUNC_REALSERVER_DISCONNECT ? "DOWN_FUNC_REALSERVER_DISCONNECT"
- : in == DOWN_FUNC_REALSERVER_DISCONNECT_EVENT ? "DOWN_FUNC_REALSERVER_DISCONNECT_EVENT"
- : in == DOWN_FUNC_SORRYSERVER_RECEIVE ? "DOWN_FUNC_SORRYSERVER_RECEIVE"
- : in == DOWN_FUNC_SORRYSERVER_ARECEIVE_HANDLE_EVENT ? "DOWN_FUNC_SORRYSERVER_ARECEIVE_HANDLE_EVENT"
- : in == DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE ? "DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE"
- : in == DOWN_FUNC_SORRYSERVER_DISCONNECT ? "DOWN_FUNC_SORRYSERVER_DISCONNECT"
- : in == DOWN_FUNC_SORRYSERVER_MOD_DISCONNECT ? "DOWN_FUNC_SORRYSERVER_MOD_DISCONNECT"
- : in == DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT ? "DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT"
- : in == DOWN_FUNC_SORRY_ENABLE_EVENT ? "DOWN_FUNC_SORRY_ENABLE_EVENT"
- : in == DOWN_FUNC_SORRY_DISABLE_EVENT ? "DOWN_FUNC_SORRY_DISABLE_EVENT"
- : in == DOWN_FUNC_PAUSE_ON_EVENT ? "DOWN_FUNC_PAUSE_ON_EVENT"
- : in == DOWN_FUNC_PAUSE_OFF_EVENT ? "DOWN_FUNC_PAUSE_OFF_EVENT"
- : in == DOWN_FUNC_EXIT ? "DOWN_FUNC_EXIT"
- : "NOT_FOUND"
- ;
+ : in == DOWN_FUNC_CLIENT_DISCONNECT_EVENT ? "DOWN_FUNC_CLIENT_DISCONNECT_EVENT"
+ : in == DOWN_FUNC_CLIENT_CONNECTION_CHK ? "DOWN_FUNC_CLIENT_CONNECTION_CHK"
+ : in == DOWN_FUNC_CLIENT_SEND ? "DOWN_FUNC_CLIENT_SEND"
+ : in == DOWN_FUNC_CLIENT_ASEND_HANDLE_EVENT ? "DOWN_FUNC_CLIENT_ASEND_HANDLE_EVENT"
+ : in == DOWN_FUNC_CLIENT_HANDLE_ASEND ? "DOWN_FUNC_CLIENT_HANDLE_ASEND"
+ : in == DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT ? "DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT"
+ : in == DOWN_FUNC_REALSERVER_RECEIVE ? "DOWN_FUNC_REALSERVER_RECEIVE"
+ : in == DOWN_FUNC_REALSERVER_ARECEIVE_HANDLE_EVENT ? "DOWN_FUNC_REALSERVER_ARECEIVE_HANDLE_EVENT"
+ : in == DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE ? "DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE"
+ : in == DOWN_FUNC_REALSERVER_DISCONNECT ? "DOWN_FUNC_REALSERVER_DISCONNECT"
+ : in == DOWN_FUNC_REALSERVER_DISCONNECT_EVENT ? "DOWN_FUNC_REALSERVER_DISCONNECT_EVENT"
+ : in == DOWN_FUNC_SORRYSERVER_RECEIVE ? "DOWN_FUNC_SORRYSERVER_RECEIVE"
+ : in == DOWN_FUNC_SORRYSERVER_ARECEIVE_HANDLE_EVENT ? "DOWN_FUNC_SORRYSERVER_ARECEIVE_HANDLE_EVENT"
+ : in == DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE ? "DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE"
+ : in == DOWN_FUNC_SORRYSERVER_DISCONNECT ? "DOWN_FUNC_SORRYSERVER_DISCONNECT"
+ : in == DOWN_FUNC_SORRYSERVER_MOD_DISCONNECT ? "DOWN_FUNC_SORRYSERVER_MOD_DISCONNECT"
+ : in == DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT ? "DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT"
+ : in == DOWN_FUNC_SORRY_ENABLE_EVENT ? "DOWN_FUNC_SORRY_ENABLE_EVENT"
+ : in == DOWN_FUNC_SORRY_DISABLE_EVENT ? "DOWN_FUNC_SORRY_DISABLE_EVENT"
+ : in == DOWN_FUNC_PAUSE_ON_EVENT ? "DOWN_FUNC_PAUSE_ON_EVENT"
+ : in == DOWN_FUNC_PAUSE_OFF_EVENT ? "DOWN_FUNC_PAUSE_OFF_EVENT"
+ : in == DOWN_FUNC_EXIT ? "DOWN_FUNC_EXIT"
+ : "NOT_FOUND"
+ ;
+ }
+
+#ifdef DEBUG
+ std::string func_tag_to_string(TCP_VIRTUAL_SERVICE_MESSAGE_TAG in) {
+ return
+ in == SORRY_STATE_ENABLE ? "SORRY_STATE_ENABLE"
+ : in == SORRY_STATE_DISABLE ? "SORRY_STATE_DISABLE"
+ : in == SESSION_END ? "SESSION_END"
+ : in == SESSION_PAUSE_ON ? "SESSION_PAUSE_ON"
+ : in == SESSION_PAUSE_OFF ? "SESSION_PAUSE_OFF"
+ : in == ACCESS_LOG_ON ? "ACCESS_LOG_ON"
+ : in == ACCESS_LOG_OFF ? "ACCESS_LOG_OFF"
+ : in == REALSERVER_REMOVE ? "REALSREVER_REMOVE"
+ : "NOT_FOUND"
+ ;
}
-#ifdef DEBUG
- std::string func_tag_to_string(TCP_VIRTUAL_SERVICE_MESSAGE_TAG in ){
- return
- in == SORRY_STATE_ENABLE ? "SORRY_STATE_ENABLE"
- : in == SORRY_STATE_DISABLE ? "SORRY_STATE_DISABLE"
- : in == SESSION_END ? "SESSION_END"
- : in == SESSION_PAUSE_ON ? "SESSION_PAUSE_ON"
- : in == SESSION_PAUSE_OFF ? "SESSION_PAUSE_OFF"
- : in == ACCESS_LOG_ON ? "ACCESS_LOG_ON"
- : in == ACCESS_LOG_OFF ? "ACCESS_LOG_OFF"
- : in == REALSERVER_REMOVE ? "REALSREVER_REMOVE"
- : "NOT_FOUND"
- ;
- }
-
- std::string func_tag_to_string( protocol_module_base::EVENT_TAG in ){
- return
- in == protocol_module_base::INITIALIZE ? "INITIALIZE"
- : in == protocol_module_base::ACCEPT ? "ACCEPT"
- : in == protocol_module_base::CLIENT_RECV ? "CLIENT_RECV"
- : in == protocol_module_base::REALSERVER_SELECT ? "REALSERVER_SELECT"
- : in == protocol_module_base::REALSERVER_CONNECT ? "REALSERVER_CONNECT"
- : in == protocol_module_base::REALSERVER_SEND ? "REALSERVER_SEND"
- : in == protocol_module_base::SORRYSERVER_SELECT ? "SORRYSERVER_SELECT"
- : in == protocol_module_base::SORRYSERVER_CONNECT ? "SORRYSERVER_CONNECT"
- : in == protocol_module_base::SORRYSERVER_SEND ? "SORRYSERVER_SEND"
- : in == protocol_module_base::REALSERVER_RECV ? "REALSERVER_RECV"
- : in == protocol_module_base::SORRYSERVER_RECV ? "SORRYSERVER_RECV"
- : in == protocol_module_base::CLIENT_SELECT ? "CLIENT_SELECT"
- : in == protocol_module_base::CLIENT_CONNECTION_CHECK ? "CLIENT_CONNECTION_CHECK"
- : in == protocol_module_base::CLIENT_SEND ? "CLIENT_SEND"
- : in == protocol_module_base::CLIENT_RESPONSE_SEND ? "CLIENT_RESPONSE_SEND"
- : in == protocol_module_base::REALSERVER_DISCONNECT ? "REALSERVER_DISCONNECT"
- : in == protocol_module_base::SORRYSERVER_DISCONNECT ? "SORRYSERVER_DISCONNECT"
- : in == protocol_module_base::CLIENT_DISCONNECT ? "CLIENT_DISCONNECT"
- : in == protocol_module_base::REALSERVER_CLOSE ? "REALSERVER_CLOSE"
- : in == protocol_module_base::FINALIZE ? "FINALIZE"
- : in == protocol_module_base::STOP ? "STOP"
- : "NOT_FOUND"
- ;
- }
+ std::string func_tag_to_string(protocol_module_base::EVENT_TAG in) {
+ return
+ in == protocol_module_base::INITIALIZE ? "INITIALIZE"
+ : in == protocol_module_base::ACCEPT ? "ACCEPT"
+ : in == protocol_module_base::CLIENT_RECV ? "CLIENT_RECV"
+ : in == protocol_module_base::REALSERVER_SELECT ? "REALSERVER_SELECT"
+ : in == protocol_module_base::REALSERVER_CONNECT ? "REALSERVER_CONNECT"
+ : in == protocol_module_base::REALSERVER_SEND ? "REALSERVER_SEND"
+ : in == protocol_module_base::SORRYSERVER_SELECT ? "SORRYSERVER_SELECT"
+ : in == protocol_module_base::SORRYSERVER_CONNECT ? "SORRYSERVER_CONNECT"
+ : in == protocol_module_base::SORRYSERVER_SEND ? "SORRYSERVER_SEND"
+ : in == protocol_module_base::REALSERVER_RECV ? "REALSERVER_RECV"
+ : in == protocol_module_base::SORRYSERVER_RECV ? "SORRYSERVER_RECV"
+ : in == protocol_module_base::CLIENT_SELECT ? "CLIENT_SELECT"
+ : in == protocol_module_base::CLIENT_CONNECTION_CHECK ? "CLIENT_CONNECTION_CHECK"
+ : in == protocol_module_base::CLIENT_SEND ? "CLIENT_SEND"
+ : in == protocol_module_base::CLIENT_RESPONSE_SEND ? "CLIENT_RESPONSE_SEND"
+ : in == protocol_module_base::REALSERVER_DISCONNECT ? "REALSERVER_DISCONNECT"
+ : in == protocol_module_base::SORRYSERVER_DISCONNECT ? "SORRYSERVER_DISCONNECT"
+ : in == protocol_module_base::CLIENT_DISCONNECT ? "CLIENT_DISCONNECT"
+ : in == protocol_module_base::REALSERVER_CLOSE ? "REALSERVER_CLOSE"
+ : in == protocol_module_base::FINALIZE ? "FINALIZE"
+ : in == protocol_module_base::STOP ? "STOP"
+ : "NOT_FOUND"
+ ;
+ }
#endif
#include "basic_tcp_socket.h"
-namespace l7vs {
+namespace l7vs
+{
-class tcp_socket : public basic_tcp_socket< boost::asio::ip::tcp::socket> {
+class tcp_socket : public basic_tcp_socket< boost::asio::ip::tcp::socket>
+{
public:
- //typedefs
- typedef boost::function< void( const boost::system::error_code& )> connect_handler_t;
-
- // constractor
- tcp_socket( boost::asio::io_service& io_service, const tcp_socket_option_info set_option)
- : basic_tcp_socket< boost::asio::ip::tcp::socket>( io_service, set_option ){
- my_socket.reset( new boost::asio::ip::tcp::socket( io_service_ ) );
- }
-
- // destractor
- ~tcp_socket(){}
-
- // set option
- virtual void setoption( boost::system::error_code& error_code ){
- // non blocking mode
- boost::asio::socket_base::non_blocking_io cmd(true);
- my_socket->io_control( cmd, error_code );
- if( unlikely( error_code ) ){
- boost::format fmt( "Thread ID[%d] socket option(NON_BLOCKING_MODE) set fail : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogError(LOG_CAT_L7VSD_SESSION,100,fmt.str(),__FILE__,__LINE__ );
- }
- // set TCP_NODELAY option
- if( opt_info.nodelay_opt ){
- boost::asio::ip::tcp::no_delay option( opt_info.nodelay_val );
- my_socket->set_option(option, error_code);
- if( unlikely( error_code ) ){
- boost::format fmt( "Thread ID[%d] socket option(TCP_NODELAY) set failed" );
- fmt % boost::this_thread::get_id();
- Logger::putLogError(LOG_CAT_L7VSD_SESSION,100,fmt.str(), __FILE__, __LINE__ );
- }
- }
- // set TCP_CORK option
- if( opt_info.cork_opt ){
- int val = opt_info.cork_val;
- int err = ::setsockopt( my_socket->native(), IPPROTO_TCP, TCP_CORK, &val, sizeof(int) );
- if( unlikely(err) ){
- error_code = boost::system::error_code( errno, boost::asio::error::get_system_category() );
- boost::format fmt( "Thread ID[%d] socket option(TCP_CORK) set failed" );
- fmt % boost::this_thread::get_id();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION, 101, fmt.str(), __FILE__, __LINE__ );
- }
- }
- }
-
- // connect
- virtual bool connect( const boost::asio::ip::tcp::endpoint& connect_endpoint, boost::system::error_code& error_code ){
- rd_scoped_lock lock( close_mutex );
- my_socket->connect( connect_endpoint, error_code );
- setoption( error_code );
- return error_code ? false : true;
- }
-
- // async connect
- virtual void async_connect( const boost::asio::ip::tcp::endpoint& connect_endpoint, connect_handler_t handler ){
- rd_scoped_lock lock( close_mutex );
- my_socket->async_connect( connect_endpoint, handler );
- }
-
- virtual bool shutdown( boost::system::error_code& error_code ){
- rd_scoped_lock lock( close_mutex );
+ //typedefs
+ typedef boost::function< void(const boost::system::error_code &)> connect_handler_t;
+
+ // constractor
+ tcp_socket(boost::asio::io_service &io_service, const tcp_socket_option_info set_option)
+ : basic_tcp_socket< boost::asio::ip::tcp::socket>(io_service, set_option) {
+ my_socket.reset(new boost::asio::ip::tcp::socket(io_service_));
+ }
+
+ // destractor
+ ~tcp_socket() {}
+
+ // set option
+ virtual void setoption(boost::system::error_code &error_code) {
+ // non blocking mode
+ boost::asio::socket_base::non_blocking_io cmd(true);
+ my_socket->io_control(cmd, error_code);
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] socket option(NON_BLOCKING_MODE) set fail : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 100, fmt.str(), __FILE__, __LINE__);
+ }
+ // set TCP_NODELAY option
+ if (opt_info.nodelay_opt) {
+ boost::asio::ip::tcp::no_delay option(opt_info.nodelay_val);
+ my_socket->set_option(option, error_code);
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] socket option(TCP_NODELAY) set failed");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 100, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ // set TCP_CORK option
+ if (opt_info.cork_opt) {
+ int val = opt_info.cork_val;
+ int err = ::setsockopt(my_socket->native(), IPPROTO_TCP, TCP_CORK, &val, sizeof(int));
+ if (unlikely(err)) {
+ error_code = boost::system::error_code(errno, boost::asio::error::get_system_category());
+ boost::format fmt("Thread ID[%d] socket option(TCP_CORK) set failed");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 101, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ }
+
+ // connect
+ virtual bool connect(const boost::asio::ip::tcp::endpoint &connect_endpoint, boost::system::error_code &error_code) {
+ rd_scoped_lock lock(close_mutex);
+ my_socket->connect(connect_endpoint, error_code);
+ setoption(error_code);
+ return error_code ? false : true;
+ }
+
+ // async connect
+ virtual void async_connect(const boost::asio::ip::tcp::endpoint &connect_endpoint, connect_handler_t handler) {
+ rd_scoped_lock lock(close_mutex);
+ my_socket->async_connect(connect_endpoint, handler);
+ }
+
+ virtual bool shutdown(boost::system::error_code &error_code) {
+ rd_scoped_lock lock(close_mutex);
my_socket->shutdown(boost::asio::ip::tcp::socket::shutdown_both, error_code);
return error_code ? false : true;
}
- // close
- virtual bool close( boost::system::error_code& error_code ){
- rd_scoped_lock lock( close_mutex );
- if( is_open() ) my_socket->close(error_code);
- return error_code ? false : true;
- }
-
- // readsome
- virtual std::size_t read_some( const boost::asio::mutable_buffers_1& buffer, boost::system::error_code& error_code ){
- if( opt_info.quickack_opt ) set_quickack( error_code );
- return basic_tcp_socket< boost::asio::ip::tcp::socket >::read_some( buffer, error_code );
- }
-
- // async_read_some
- virtual void async_read_some( const boost::asio::mutable_buffers_1& buffer, async_rw_handler_t& handle ){
- boost::system::error_code error_code;
- if( opt_info.quickack_opt ) set_quickack( error_code );
- basic_tcp_socket< boost::asio::ip::tcp::socket >::async_read_some( buffer, handle );
- }
-
- // is_open
- virtual bool is_open(){
- return my_socket->is_open();
- }
-
- // open
- virtual void open( const boost::asio::ip::tcp::endpoint& endpoint ){
- boost::system::error_code error_code;
- endpoint.address().is_v4() ? my_socket->open( boost::asio::ip::tcp::v4(), error_code )
- : my_socket->open( boost::asio::ip::tcp::v6(), error_code );
- if( error_code ){
- boost::format fmt( "Thread ID[%d] open error : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION,100,fmt.str(),__FILE__,__LINE__ );
- }
- }
-
- #ifdef IP_TRANSPARENT
- virtual void set_transparent( const boost::asio::ip::tcp::endpoint& client_endpoint, boost::system::error_code& error_code ){
- int ip_socket_level;
- client_endpoint.address().is_v4()
- ? ip_socket_level = SOL_IP
- : ip_socket_level = SOL_IPV6;
- // set IP_TRANSPARENT
- int on = 1;
- int err = ::setsockopt( my_socket->native(), ip_socket_level, IP_TRANSPARENT, &on, sizeof( on ) );
- if( err ){
- error_code = boost::system::error_code( errno, boost::asio::error::get_system_category() );
- return;
- }
-
- // bind client address
- my_socket->bind( client_endpoint, error_code );
- }
- #endif
+ // close
+ virtual bool close(boost::system::error_code &error_code) {
+ rd_scoped_lock lock(close_mutex);
+ if (is_open()) my_socket->close(error_code);
+ return error_code ? false : true;
+ }
+
+ // readsome
+ virtual std::size_t read_some(const boost::asio::mutable_buffers_1 &buffer, boost::system::error_code &error_code) {
+ if (opt_info.quickack_opt) set_quickack(error_code);
+ return basic_tcp_socket< boost::asio::ip::tcp::socket >::read_some(buffer, error_code);
+ }
+
+ // async_read_some
+ virtual void async_read_some(const boost::asio::mutable_buffers_1 &buffer, async_rw_handler_t &handle) {
+ boost::system::error_code error_code;
+ if (opt_info.quickack_opt) set_quickack(error_code);
+ basic_tcp_socket< boost::asio::ip::tcp::socket >::async_read_some(buffer, handle);
+ }
+
+ // is_open
+ virtual bool is_open() {
+ return my_socket->is_open();
+ }
+
+ // open
+ virtual void open(const boost::asio::ip::tcp::endpoint &endpoint) {
+ boost::system::error_code error_code;
+ endpoint.address().is_v4() ? my_socket->open(boost::asio::ip::tcp::v4(), error_code)
+ : my_socket->open(boost::asio::ip::tcp::v6(), error_code);
+ if (error_code) {
+ boost::format fmt("Thread ID[%d] open error : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 100, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+
+#ifdef IP_TRANSPARENT
+ virtual void set_transparent(const boost::asio::ip::tcp::endpoint &client_endpoint, boost::system::error_code &error_code) {
+ int ip_socket_level;
+ client_endpoint.address().is_v4()
+ ? ip_socket_level = SOL_IP
+ : ip_socket_level = SOL_IPV6;
+ // set IP_TRANSPARENT
+ int on = 1;
+ int err = ::setsockopt(my_socket->native(), ip_socket_level, IP_TRANSPARENT, &on, sizeof(on));
+ if (err) {
+ error_code = boost::system::error_code(errno, boost::asio::error::get_system_category());
+ return;
+ }
+
+ // bind client address
+ my_socket->bind(client_endpoint, error_code);
+ }
+#endif
protected:
- virtual void set_quickack( boost::system::error_code& error_code ){
- int err = ::setsockopt( my_socket->native(), IPPROTO_TCP, TCP_QUICKACK, &opt_info.quickack_val, sizeof( opt_info.quickack_val ) );
- if( err ) error_code = boost::system::error_code( errno, boost::asio::error::get_system_category() );
- }
+ virtual void set_quickack(boost::system::error_code &error_code) {
+ int err = ::setsockopt(my_socket->native(), IPPROTO_TCP, TCP_QUICKACK, &opt_info.quickack_val, sizeof(opt_info.quickack_val));
+ if (err) error_code = boost::system::error_code(errno, boost::asio::error::get_system_category());
+ }
-}; //tcp_socket
+}; //tcp_socket
-} // namespace l7vs
+} // namespace l7vs
#endif//TCP_SOCKET_H
*
**********************************************************************/
-#ifndef TCP_SSL_SOCKET_H
-#define TCP_SSL_SOCKET_H
+#ifndef TCP_SSL_SOCKET_H
+#define TCP_SSL_SOCKET_H
#include <boost/asio/ssl.hpp>
#include "basic_tcp_socket.h"
-namespace l7vs{
+namespace l7vs
+{
-typedef boost::asio::ssl::stream<boost::asio::ip::tcp::socket> ssl_socket;
+typedef boost::asio::ssl::stream<boost::asio::ip::tcp::socket> ssl_socket;
-class tcp_ssl_socket : public basic_tcp_socket< ssl_socket > {
+class tcp_ssl_socket : public basic_tcp_socket< ssl_socket >
+{
public:
- // typedef
- typedef boost::function< void ( const boost::system::error_code& ) > async_handshake_handler_t;
-
- // constructor
- tcp_ssl_socket(
- boost::asio::io_service& io_service,
- const tcp_socket_option_info set_option,
- boost::asio::ssl::context& context )
- : basic_tcp_socket< ssl_socket >( io_service, set_option ),
- context_( context ),
- ssl_strand(io_service),
- handshake_con(0),
- read_con(0),
- write_con(0){
- my_socket.reset( new ssl_socket( io_service_, context_ ) );
- }
- //destructor
- ~tcp_ssl_socket(){}
-
- // handshake
- virtual bool handshake( boost::system::error_code &error_code ){
- boost::mutex::scoped_lock lock( ssl_mutex );
- my_socket->handshake( boost::asio::ssl::stream_base::server, error_code );
- return error_code ? false : true;
- }
- //async handshake
- virtual void async_handshake( async_handshake_handler_t handler ){
- boost::mutex::scoped_lock lock( ssl_mutex );
- handshake_con++;
- my_socket->async_handshake( boost::asio::ssl::stream_base::server, ssl_strand.wrap(handler) );
- }
-
- // option setting
- virtual void setoption( boost::system::error_code& error_code ){
- // non blocking mode
- boost::asio::socket_base::non_blocking_io cmd( true );
- my_socket->lowest_layer().io_control( cmd, error_code );
- if( unlikely( error_code ) ) {
- boost::format fmt( "Thread ID[%d] socket option(NON_BLOCKING_MODE) set fail : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogError(LOG_CAT_L7VSD_SESSION,100,fmt.str(),__FILE__,__LINE__ );
- }
- // set TCP_NODELAY option
- if( opt_info.nodelay_opt ){
- boost::asio::ip::tcp::no_delay cmd( opt_info.nodelay_val );
- my_socket->lowest_layer().set_option( cmd, error_code );
- if( unlikely( error_code ) ){
- boost::format fmt( "Thread ID[%d] socket option(TCP_NODELAY) set failed" );
- fmt % boost::this_thread::get_id();
- Logger::putLogError(LOG_CAT_L7VSD_SESSION,100,fmt.str(), __FILE__, __LINE__ );
- }
- }
- // set TCP_CORK
- if( opt_info.cork_opt ){
- int val = opt_info.cork_val;
- int err = ::setsockopt( my_socket->lowest_layer().native(), IPPROTO_TCP, TCP_CORK, &val, sizeof(int) );
- if( unlikely( err ) ){
- error_code = boost::system::error_code( errno, boost::asio::error::get_system_category() );
- boost::format fmt( "Thread ID[%d] socket option(TCP_CORK) set failed" );
- fmt % boost::this_thread::get_id();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION, 101, fmt.str(), __FILE__, __LINE__ );
- }
- }
- }
-
- // close
- virtual bool close( boost::system::error_code& error_code ){
- boost::mutex::scoped_lock lock( ssl_mutex );
- if( my_socket->lowest_layer().is_open() ){
- my_socket->lowest_layer().shutdown( boost::asio::ip::tcp::socket::shutdown_both, error_code );
- if (unlikely(error_code)){
- boost::format fmt( "Thread ID[%d] ssl_socket lowest_layer shutdown fail: %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
- }
-
- my_socket->lowest_layer().close( error_code );
- if( error_code ){
- boost::format fmt( "Thread ID[%d] ssl_socket lowest_layer close fail: %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION, 102, fmt.str(), __FILE__, __LINE__ );
- }
- }
- return error_code ? false : true;
- }
-
-
- virtual bool shutdown( boost::system::error_code& error_code ){
- boost::mutex::scoped_lock lock( ssl_mutex );
- my_socket->shutdown( error_code );
- return error_code ? false : true;
- }
-
- virtual std::size_t read_some( const boost::asio::mutable_buffers_1& buffers, boost::system::error_code& error_code ){
- boost::mutex::scoped_lock lock( ssl_mutex );
- if( write_con > 0 ){
- error_code = boost::asio::error::try_again;
+ // typedef
+ typedef boost::function< void (const boost::system::error_code &) > async_handshake_handler_t;
+
+ // constructor
+ tcp_ssl_socket(
+ boost::asio::io_service &io_service,
+ const tcp_socket_option_info set_option,
+ boost::asio::ssl::context &context)
+ : basic_tcp_socket< ssl_socket >(io_service, set_option),
+ context_(context),
+ ssl_strand(io_service),
+ handshake_con(0),
+ read_con(0),
+ write_con(0) {
+ my_socket.reset(new ssl_socket(io_service_, context_));
+ }
+ //destructor
+ ~tcp_ssl_socket() {}
+
+ // handshake
+ virtual bool handshake(boost::system::error_code &error_code) {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ my_socket->handshake(boost::asio::ssl::stream_base::server, error_code);
+ return error_code ? false : true;
+ }
+ //async handshake
+ virtual void async_handshake(async_handshake_handler_t handler) {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ handshake_con++;
+ my_socket->async_handshake(boost::asio::ssl::stream_base::server, ssl_strand.wrap(handler));
+ }
+
+ // option setting
+ virtual void setoption(boost::system::error_code &error_code) {
+ // non blocking mode
+ boost::asio::socket_base::non_blocking_io cmd(true);
+ my_socket->lowest_layer().io_control(cmd, error_code);
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] socket option(NON_BLOCKING_MODE) set fail : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 100, fmt.str(), __FILE__, __LINE__);
+ }
+ // set TCP_NODELAY option
+ if (opt_info.nodelay_opt) {
+ boost::asio::ip::tcp::no_delay cmd(opt_info.nodelay_val);
+ my_socket->lowest_layer().set_option(cmd, error_code);
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] socket option(TCP_NODELAY) set failed");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 100, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ // set TCP_CORK
+ if (opt_info.cork_opt) {
+ int val = opt_info.cork_val;
+ int err = ::setsockopt(my_socket->lowest_layer().native(), IPPROTO_TCP, TCP_CORK, &val, sizeof(int));
+ if (unlikely(err)) {
+ error_code = boost::system::error_code(errno, boost::asio::error::get_system_category());
+ boost::format fmt("Thread ID[%d] socket option(TCP_CORK) set failed");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 101, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ }
+
+ // close
+ virtual bool close(boost::system::error_code &error_code) {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ if (my_socket->lowest_layer().is_open()) {
+ my_socket->lowest_layer().shutdown(boost::asio::ip::tcp::socket::shutdown_both, error_code);
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] ssl_socket lowest_layer shutdown fail: %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+
+ my_socket->lowest_layer().close(error_code);
+ if (error_code) {
+ boost::format fmt("Thread ID[%d] ssl_socket lowest_layer close fail: %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 102, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ return error_code ? false : true;
+ }
+
+
+ virtual bool shutdown(boost::system::error_code &error_code) {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ my_socket->shutdown(error_code);
+ return error_code ? false : true;
+ }
+
+ virtual std::size_t read_some(const boost::asio::mutable_buffers_1 &buffers, boost::system::error_code &error_code) {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ if (write_con > 0) {
+ error_code = boost::asio::error::try_again;
return 0;
- }
- if( opt_info.quickack_opt ) set_quickack( error_code );
- return my_socket->read_some( buffers, error_code );
- }
-
- virtual void async_read_some( const boost::asio::mutable_buffers_1& buffer, async_rw_handler_t& handle ){
- boost::mutex::scoped_lock lock( ssl_mutex );
- boost::system::error_code error_code;
- read_con++;
- if( opt_info.quickack_opt ) set_quickack( error_code );
- my_socket->async_read_some( buffer, ssl_strand.wrap(handle) );
- }
-
- virtual size_t write_some( const boost::asio::const_buffers_1& buffer, boost::system::error_code& error_code ){
- boost::mutex::scoped_lock lock( ssl_mutex );
-
- if( read_con > 0 ){
- error_code = boost::asio::error::try_again;
+ }
+ if (opt_info.quickack_opt) set_quickack(error_code);
+ return my_socket->read_some(buffers, error_code);
+ }
+
+ virtual void async_read_some(const boost::asio::mutable_buffers_1 &buffer, async_rw_handler_t &handle) {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ boost::system::error_code error_code;
+ read_con++;
+ if (opt_info.quickack_opt) set_quickack(error_code);
+ my_socket->async_read_some(buffer, ssl_strand.wrap(handle));
+ }
+
+ virtual size_t write_some(const boost::asio::const_buffers_1 &buffer, boost::system::error_code &error_code) {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+
+ if (read_con > 0) {
+ error_code = boost::asio::error::try_again;
return 0;
- }
- return my_socket->write_some( buffer, error_code );
- }
-
- virtual void async_write_some( const boost::asio::const_buffers_1& buffer, tcp_socket::async_rw_handler_t& handle ){
- boost::mutex::scoped_lock lock( ssl_mutex );
- write_con++;
- my_socket->async_write_some( buffer, ssl_strand.wrap(handle) );
- }
-
- // socket remake
- virtual void clear_socket(){
- boost::mutex::scoped_lock lock( ssl_mutex );
- my_socket.reset( new ssl_socket( io_service_, context_ ) );
-
- }
-
- // get socket
- virtual ssl_socket& get_socket(){
- return *my_socket;
- }
- virtual bool is_open(){ return my_socket->lowest_layer().is_open(); }
-
- void decrement_handshake_con(){
- boost::mutex::scoped_lock lock( ssl_mutex );
- handshake_con--;
- ssl_cond.notify_one();
- }
-
- int get_handshake_con(){
- return handshake_con;
- }
-
- void decrement_read_con(){
- boost::mutex::scoped_lock lock( ssl_mutex );
- read_con--;
- ssl_cond.notify_one();
- }
-
- int get_read_con(){
- return read_con;
- }
-
- void decrement_write_con(){
- boost::mutex::scoped_lock lock( ssl_mutex );
- write_con--;
- ssl_cond.notify_one();
- }
-
- int get_write_con(){
- return write_con;
- }
-
- void wait_async_event_all_end(){
- boost::mutex::scoped_lock lock( ssl_mutex );
- while( handshake_con > 0 || read_con > 0 || write_con > 0 ){
- boost::format fmt( "handshake_con : %d read_con = %d write_con = %d " );
+ }
+ return my_socket->write_some(buffer, error_code);
+ }
+
+ virtual void async_write_some(const boost::asio::const_buffers_1 &buffer, tcp_socket::async_rw_handler_t &handle) {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ write_con++;
+ my_socket->async_write_some(buffer, ssl_strand.wrap(handle));
+ }
+
+ // socket remake
+ virtual void clear_socket() {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ my_socket.reset(new ssl_socket(io_service_, context_));
+
+ }
+
+ // get socket
+ virtual ssl_socket &get_socket() {
+ return *my_socket;
+ }
+ virtual bool is_open() {
+ return my_socket->lowest_layer().is_open();
+ }
+
+ void decrement_handshake_con() {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ handshake_con--;
+ ssl_cond.notify_one();
+ }
+
+ int get_handshake_con() {
+ return handshake_con;
+ }
+
+ void decrement_read_con() {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ read_con--;
+ ssl_cond.notify_one();
+ }
+
+ int get_read_con() {
+ return read_con;
+ }
+
+ void decrement_write_con() {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ write_con--;
+ ssl_cond.notify_one();
+ }
+
+ int get_write_con() {
+ return write_con;
+ }
+
+ void wait_async_event_all_end() {
+ boost::mutex::scoped_lock lock(ssl_mutex);
+ while (handshake_con > 0 || read_con > 0 || write_con > 0) {
+ boost::format fmt("handshake_con : %d read_con = %d write_con = %d ");
fmt % handshake_con % read_con % write_con ;
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
ssl_cond.wait(lock);
- }
+ }
}
protected:
- //! ssl context reference
- boost::asio::ssl::context& context_;
- //! ssl mutex
- boost::mutex ssl_mutex;
- boost::condition ssl_cond;
- boost::asio::strand ssl_strand;
- //! set quick ack
- int handshake_con;
- int read_con;
- int write_con;
-
- virtual void set_quickack( boost::system::error_code& error_code ){
- int err = ::setsockopt( my_socket->lowest_layer().native(), IPPROTO_TCP, TCP_QUICKACK, &opt_info.quickack_val, sizeof( opt_info.quickack_val ) );
- if( err ) error_code = boost::system::error_code( errno, boost::asio::error::get_system_category() );
- }
-
-}; //class tcp_ssl_socket
-
-} //namespace l7vs
-#endif //TCP_SSL_SOCKET_H
+ //! ssl context reference
+ boost::asio::ssl::context &context_;
+ //! ssl mutex
+ boost::mutex ssl_mutex;
+ boost::condition ssl_cond;
+ boost::asio::strand ssl_strand;
+ //! set quick ack
+ int handshake_con;
+ int read_con;
+ int write_con;
+
+ virtual void set_quickack(boost::system::error_code &error_code) {
+ int err = ::setsockopt(my_socket->lowest_layer().native(), IPPROTO_TCP, TCP_QUICKACK, &opt_info.quickack_val, sizeof(opt_info.quickack_val));
+ if (err) error_code = boost::system::error_code(errno, boost::asio::error::get_system_category());
+ }
+
+}; //class tcp_ssl_socket
+
+} //namespace l7vs
+#endif //TCP_SSL_SOCKET_H
class tcp_thread_message : private boost::noncopyable
{
public:
-#ifdef DEBUG
- std::string func_tag_name;
+#ifdef DEBUG
+ std::string func_tag_name;
#endif
//! constructor
tcp_thread_message() {}
namespace l7vs
{
- //! snmp trap message struct
- struct trapmessage {
- enum TRAP_TYPE_TAG {
- SERVICE_START = 0,
- SERVICE_STOP,
- VIRTUALSERVICE_ADD,
- VIRTUALSERVICE_CHANGE,
- VIRTUALSERVICE_REMOVE,
- REALSERVER_ADD,
- REALSERVER_CHANGE,
- REALSERVER_REMOVE,
- UPQOS_ALERT_ON,
- UPQOS_ALERT_OFF,
- DOWNQOS_ALERT_ON,
- DOWNQOS_ALERT_OFF,
- SESSIONPOOL_ALERT_ON,
- SESSIONPOOL_ALERT_OFF,
- DEBUG_LOG,
- INFO_LOG,
- WARN_LOG,
- ERROR_LOG,
- FATAL_LOG
- };
-
- std::string message;
- TRAP_TYPE_TAG type;
+//! snmp trap message struct
+struct trapmessage {
+ enum TRAP_TYPE_TAG {
+ SERVICE_START = 0,
+ SERVICE_STOP,
+ VIRTUALSERVICE_ADD,
+ VIRTUALSERVICE_CHANGE,
+ VIRTUALSERVICE_REMOVE,
+ REALSERVER_ADD,
+ REALSERVER_CHANGE,
+ REALSERVER_REMOVE,
+ UPQOS_ALERT_ON,
+ UPQOS_ALERT_OFF,
+ DOWNQOS_ALERT_ON,
+ DOWNQOS_ALERT_OFF,
+ SESSIONPOOL_ALERT_ON,
+ SESSIONPOOL_ALERT_OFF,
+ DEBUG_LOG,
+ INFO_LOG,
+ WARN_LOG,
+ ERROR_LOG,
+ FATAL_LOG
};
- //! typedef snmp send trap func type
- typedef boost::function<void(trapmessage&, error_code&)>
- snmp_send_trap_func_type;
+ std::string message;
+ TRAP_TYPE_TAG type;
+};
+
+//! typedef snmp send trap func type
+typedef boost::function<void(trapmessage &, error_code &)>
+snmp_send_trap_func_type;
}
#endif //__TRAPMESSAGE_H__
const static int SCHEDULER_PRIORITY = 20;
//! Default upstream QoS alert on threshold
- const static int UPQOS_ALERT_ON_SIZE_DEFAULT = 85;
+ const static int UPQOS_ALERT_ON_SIZE_DEFAULT = 85;
//! Default upstream QoS alert off threshold
const static int UPQOS_ALERT_OFF_SIZE_DEFAULT = 50;
//! Default downstream QoS alert on threshold
//! Default session pool alert on threshold
const static int SESSIONPOOL_ALERT_ON_SIZE_DEFAULT = 5;
//! Default session pool alert off threshold
- const static int SESSIONPOOL_ALERT_OFF_SIZE_DEFAULT= 8;
+ const static int SESSIONPOOL_ALERT_OFF_SIZE_DEFAULT = 8;
static const int IO_SERVICE_THREADS_NUM = 1;
protected:
unsigned long long session_pool_alert_on;
unsigned long long session_pool_alert_off;
parameter_data() : nic_realserver_side(RS_SIDE_NIC_NAME_DEFAULT),
- session_pool_size(SESSION_POOL_NUM_DEFAULT),
- bps_interval(BPS_INTERVAL_DEFAULT),
- rep_interval(REP_INTERVAL_DEFAULT),
- qos_up_alert_on(UPQOS_ALERT_ON_SIZE_DEFAULT),
- qos_up_alert_off(UPQOS_ALERT_OFF_SIZE_DEFAULT),
- qos_down_alert_on(DOWNQOS_ALERT_ON_SIZE_DEFAULT),
- qos_down_alert_off(DOWNQOS_ALERT_OFF_SIZE_DEFAULT),
- session_pool_alert_on(SESSIONPOOL_ALERT_ON_SIZE_DEFAULT),
- session_pool_alert_off(SESSIONPOOL_ALERT_OFF_SIZE_DEFAULT) {}
+ session_pool_size(SESSION_POOL_NUM_DEFAULT),
+ bps_interval(BPS_INTERVAL_DEFAULT),
+ rep_interval(REP_INTERVAL_DEFAULT),
+ qos_up_alert_on(UPQOS_ALERT_ON_SIZE_DEFAULT),
+ qos_up_alert_off(UPQOS_ALERT_OFF_SIZE_DEFAULT),
+ qos_down_alert_on(DOWNQOS_ALERT_ON_SIZE_DEFAULT),
+ qos_down_alert_off(DOWNQOS_ALERT_OFF_SIZE_DEFAULT),
+ session_pool_alert_on(SESSIONPOOL_ALERT_ON_SIZE_DEFAULT),
+ session_pool_alert_off(SESSIONPOOL_ALERT_OFF_SIZE_DEFAULT) {}
};
boost::thread::id this_id;
const replication &rep; //! replication reference
Logger log;
- boost::shared_ptr< boost::asio::io_service >
- dispatcher; //! dispatcher service
- boost::shared_ptr< boost::asio::io_service::work > work;
+ boost::shared_ptr< boost::asio::io_service >
+ dispatcher; //! dispatcher service
+ boost::shared_ptr< boost::asio::io_service::work > work;
deadline_timer_ptr_type calc_bps_timer; //! timer object
deadline_timer_ptr_type replication_timer; //! timer object
deadline_timer_ptr_type protomod_rep_timer; //! timer object
// protocol module option string
std::string protocol_module_for_indication_options;
- bool upqos_alert_flag; //! upstream QoS alert flag
+ bool upqos_alert_flag; //! upstream QoS alert flag
bool downqos_alert_flag; //! downstream QoS alert flag
bool sessionpool_alert_flag; //! sessionpool alert flag
virtual bool operator==(const virtualservice_base &) = 0;
virtual bool operator!=(const virtualservice_base &) = 0;
- void rs_list_lock() { // rs_list_ref_cont is atomic numeric. this numeric not use lock.
+ void rs_list_lock() { // rs_list_ref_cont is atomic numeric. this numeric not use lock.
rs_list_ref_count++;
}
void rs_list_unlock() {
virtual void clear_inact();
- virtual bool is_realserver_transparent( const boost::asio::ip::tcp::endpoint& );
+ virtual bool is_realserver_transparent(const boost::asio::ip::tcp::endpoint &);
};
//!
typedef std::map< std::string, std::string >
accesslog_argument_map_type;
protected:
- boost::shared_ptr< boost::asio::ip::tcp::acceptor > acceptor_;
+ boost::shared_ptr< boost::asio::ip::tcp::acceptor > acceptor_;
session_queue_type pool_sessions;
- tcp_session* waiting_session;
+ tcp_session *waiting_session;
session_map_type active_sessions;
l7vs::atomic<unsigned long long>
active_count;
std::string ssl_file_name;
// SSL context
boost::shared_ptr<boost::asio::ssl::context>
- sslcontext;
+ sslcontext;
// SSL context parameter
std::string ca_dir;
std::string ca_file;
return vs->clear_inact();
}
- bool is_realserver_transparent( const boost::asio::ip::tcp::endpoint& endpoint ){
- return vs->is_realserver_transparent( endpoint );
- }
+ bool is_realserver_transparent(const boost::asio::ip::tcp::endpoint &endpoint) {
+ return vs->is_realserver_transparent(endpoint);
+ }
};
} //namespace l7vs
int socket_option_tcp_quickack;
std::string socket_option_string;
- unsigned long long http_total_count;
+ unsigned long long http_total_count;
unsigned long long http_get_count;
unsigned long long http_post_count;
// constructor
virtualservice_element()
- : udpmode(false),
- sorry_maxconnection(0LL),
- sorry_flag(0),
- sorry_fwdmode(FWD_NONE),
- qos_upstream(0ULL),
- qos_downstream(0ULL),
- throughput_upstream(0ULL),
- throughput_downstream(0ULL),
- access_log_flag(0),
- socket_option_tcp_defer_accept(0),
- socket_option_tcp_nodelay(0),
- socket_option_tcp_cork(0),
- socket_option_tcp_quickack(0),
- http_total_count(0ULL),
- http_get_count(0ULL),
- http_post_count(0ULL) {}
+ : udpmode(false),
+ sorry_maxconnection(0LL),
+ sorry_flag(0),
+ sorry_fwdmode(FWD_NONE),
+ qos_upstream(0ULL),
+ qos_downstream(0ULL),
+ throughput_upstream(0ULL),
+ throughput_downstream(0ULL),
+ access_log_flag(0),
+ socket_option_tcp_defer_accept(0),
+ socket_option_tcp_nodelay(0),
+ socket_option_tcp_cork(0),
+ socket_option_tcp_quickack(0),
+ http_total_count(0ULL),
+ http_get_count(0ULL),
+ http_post_count(0ULL) {}
virtualservice_element(const virtualservice_element &in)
: udpmode(in.udpmode),
- tcp_accept_endpoint(in.tcp_accept_endpoint),
- udp_recv_endpoint(in.udp_recv_endpoint),
- protocol_module_name(in.protocol_module_name),
- schedule_module_name(in.schedule_module_name),
- sorry_maxconnection(in.sorry_maxconnection),
- sorry_endpoint(in.sorry_endpoint),
- sorry_flag(in.sorry_flag),
- sorry_fwdmode(in.sorry_fwdmode),
- qos_upstream(in.qos_upstream),
- qos_downstream(in.qos_downstream),
- throughput_upstream(in.throughput_upstream),
- throughput_downstream(in.throughput_downstream),
- ssl_file_name(in.ssl_file_name),
- access_log_flag(in.access_log_flag),
- access_log_file_name(in.access_log_file_name),
- access_log_rotate_key_info(in.access_log_rotate_key_info),
- access_log_rotate_verbose_info(in.access_log_rotate_verbose_info),
- protocol_module_for_indication_options(in.protocol_module_for_indication_options),
- socket_option_tcp_defer_accept(in.socket_option_tcp_defer_accept),
- socket_option_tcp_nodelay(in.socket_option_tcp_nodelay),
- socket_option_tcp_cork(in.socket_option_tcp_cork),
- socket_option_tcp_quickack(in.socket_option_tcp_quickack),
- socket_option_string(in.socket_option_string),
- http_total_count(in.http_total_count),
- http_get_count(in.http_get_count),
- http_post_count(in.http_post_count)
- {
+ tcp_accept_endpoint(in.tcp_accept_endpoint),
+ udp_recv_endpoint(in.udp_recv_endpoint),
+ protocol_module_name(in.protocol_module_name),
+ schedule_module_name(in.schedule_module_name),
+ sorry_maxconnection(in.sorry_maxconnection),
+ sorry_endpoint(in.sorry_endpoint),
+ sorry_flag(in.sorry_flag),
+ sorry_fwdmode(in.sorry_fwdmode),
+ qos_upstream(in.qos_upstream),
+ qos_downstream(in.qos_downstream),
+ throughput_upstream(in.throughput_upstream),
+ throughput_downstream(in.throughput_downstream),
+ ssl_file_name(in.ssl_file_name),
+ access_log_flag(in.access_log_flag),
+ access_log_file_name(in.access_log_file_name),
+ access_log_rotate_key_info(in.access_log_rotate_key_info),
+ access_log_rotate_verbose_info(in.access_log_rotate_verbose_info),
+ protocol_module_for_indication_options(in.protocol_module_for_indication_options),
+ socket_option_tcp_defer_accept(in.socket_option_tcp_defer_accept),
+ socket_option_tcp_nodelay(in.socket_option_tcp_nodelay),
+ socket_option_tcp_cork(in.socket_option_tcp_cork),
+ socket_option_tcp_quickack(in.socket_option_tcp_quickack),
+ socket_option_string(in.socket_option_string),
+ http_total_count(in.http_total_count),
+ http_get_count(in.http_get_count),
+ http_post_count(in.http_post_count) {
protocol_args.clear();
BOOST_FOREACH(std::string str, in.protocol_args) {
protocol_args.push_back(str);
}
}
- virtualservice_element &operator=(const virtualservice_element &in)
- {
+ virtualservice_element &operator=(const virtualservice_element &in) {
udpmode = in.udpmode;
tcp_accept_endpoint = in.tcp_accept_endpoint;
udp_recv_endpoint = in.udp_recv_endpoint;
socket_option_tcp_cork = in.socket_option_tcp_cork;
socket_option_tcp_quickack = in.socket_option_tcp_quickack;
socket_option_string = in.socket_option_string;
- http_total_count = in.http_total_count;
+ http_total_count = in.http_total_count;
http_get_count = in.http_get_count;
http_post_count = in.http_post_count;
protocol_args.clear();
return *this;
}
- friend bool operator==(const virtualservice_element &elem1, const virtualservice_element &elem2)
- {
+ friend bool operator==(const virtualservice_element &elem1, const virtualservice_element &elem2) {
if (elem1.udpmode == elem2.udpmode &&
elem1.tcp_accept_endpoint == elem2.tcp_accept_endpoint &&
elem1.udp_recv_endpoint == elem2.udp_recv_endpoint &&
elem1.socket_option_tcp_cork == elem2.socket_option_tcp_cork &&
elem1.socket_option_tcp_quickack == elem2.socket_option_tcp_quickack &&
elem1.socket_option_string == elem2.socket_option_string &&
- elem1.http_total_count == elem2.http_total_count &&
+ elem1.http_total_count == elem2.http_total_count &&
elem1.http_get_count == elem2.http_get_count &&
elem1.http_post_count == elem2.http_post_count) {
return false;
}
- friend bool operator!=(const virtualservice_element &elem1, const virtualservice_element &elem2)
- {
+ friend bool operator!=(const virtualservice_element &elem1, const virtualservice_element &elem2) {
if (elem1.udpmode == elem2.udpmode &&
elem1.tcp_accept_endpoint == elem2.tcp_accept_endpoint &&
elem1.udp_recv_endpoint == elem2.udp_recv_endpoint &&
elem1.socket_option_tcp_cork == elem2.socket_option_tcp_cork &&
elem1.socket_option_tcp_quickack == elem2.socket_option_tcp_quickack &&
elem1.socket_option_string == elem2.socket_option_string &&
- elem1.http_total_count == elem2.http_total_count &&
+ elem1.http_total_count == elem2.http_total_count &&
elem1.http_get_count == elem2.http_get_count &&
- elem1.http_post_count == elem2.http_post_count ) {
+ elem1.http_post_count == elem2.http_post_count) {
if (elem1.realserver_vector.size() != elem2.realserver_vector.size()) {
return true;
return true;
}
- friend bool operator<(const virtualservice_element &elem1, const virtualservice_element &elem2)
- {
+ friend bool operator<(const virtualservice_element &elem1, const virtualservice_element &elem2) {
if (!elem1.udpmode && !elem2.udpmode) {
return elem1.tcp_accept_endpoint < elem2.tcp_accept_endpoint;
} else if (elem1.udpmode && elem2.udpmode) {
}
template <typename Elem, typename Traits>
- friend std::basic_ostream<Elem, Traits>& operator<<(std::basic_ostream<Elem, Traits>& os, const virtualservice_element &elem)
- {
+ friend std::basic_ostream<Elem, Traits>& operator<<(std::basic_ostream<Elem, Traits>& os, const virtualservice_element &elem) {
os << "virtualservice_element={";
os << boost::format("udpmode=%s, "
"tcp_accept_endpoint=%s, "
"socket_option_tcp_cork=%d, "
"socket_option_tcp_quickack=%d, "
"socket_option_string=%s; "
- "http_total_count=%d; "
+ "http_total_count=%d; "
"http_get_count=%d; "
"http_post_count=%d; }")
% args
% elem.socket_option_tcp_cork
% elem.socket_option_tcp_quickack
% elem.socket_option_string
- % elem.http_total_count
+ % elem.http_total_count
% elem.http_get_count
% elem.http_post_count;
const std::string get_fwdmode_str() {
return sorry_fwdmode == FWD_MASQ ? "Masq"
- : sorry_fwdmode == FWD_TPROXY ? "Tproxy"
- : "Unknown";
+ : sorry_fwdmode == FWD_TPROXY ? "Tproxy"
+ : "Unknown";
}
private:
//! @param[in] archive
//! @param[in] version
template <class Archive>
- void serialize(Archive &ar, const unsigned int version)
- {
+ void serialize(Archive &ar, const unsigned int version) {
ar &udpmode;
ar &tcp_accept_endpoint;
ar &udp_recv_endpoint;
ar &socket_option_tcp_cork;
ar &socket_option_tcp_quickack;
ar &socket_option_string;
- ar &http_total_count;
+ ar &http_total_count;
ar &http_get_count;
ar &http_post_count;
}
bool check_result = false;
if (likely(buffer != NULL)) {
- if ( strncmp("GET", buffer, 3) == 0 )
- {
+ if (strncmp("GET", buffer, 3) == 0) {
check_result = true;
}
}
bool check_result = false;
if (likely(buffer != NULL)) {
- if ( strncmp("POST", buffer, 4) == 0 )
- {
+ if (strncmp("POST", buffer, 4) == 0) {
check_result = true;
}
}
//---------- DEBUG LOG START ------------------------------
if (unlikely(LOG_LV_DEBUG == getloglevel())) {
boost::format outform("function in : [increment_stats] : "
- "http_get_requests = [%d], "
- "http_post_requests = [%d], "
- "http_requests = [%d]");
+ "http_get_requests = [%d], "
+ "http_post_requests = [%d], "
+ "http_requests = [%d]");
outform % http_stats_info.http_get_requests.get() %
- http_stats_info.http_post_requests.get() %
- http_stats_info.http_requests.get();
+ http_stats_info.http_post_requests.get() %
+ http_stats_info.http_requests.get();
putLogDebug(28,
outform.str(),
__FILE__,
//---------- DEBUG LOG END ------------------------------
if (buffer != NULL && statistic == true) {
- if (is_get_request(buffer)) {
- http_stats_info.http_get_requests++;
- }
- else if (is_post_request(buffer)) {
- http_stats_info.http_post_requests++;
- }
-
- http_stats_info.http_requests++;
+ if (is_get_request(buffer)) {
+ http_stats_info.http_get_requests++;
+ } else if (is_post_request(buffer)) {
+ http_stats_info.http_post_requests++;
+ }
+
+ http_stats_info.http_requests++;
}
//---------- DEBUG LOG START ------------------------------
"http_requests = [%d]");
outform % http_stats_info.http_get_requests.get() %
- http_stats_info.http_post_requests.get() %
- http_stats_info.http_requests.get();
+ http_stats_info.http_post_requests.get() %
+ http_stats_info.http_requests.get();
putLogDebug(29,
outform.str(),
//! get base statistic object.
//! @return base statistic object.
- stats_base& get_stats()
- {
+ stats_base &get_stats() {
return http_stats_info;
}
};
bool check_result = false;
if (likely(buffer != NULL)) {
- if ( strncmp("GET", buffer, 3) == 0 )
- {
+ if (strncmp("GET", buffer, 3) == 0) {
return true;
}
}
bool check_result = false;
if (likely(buffer != NULL)) {
- if ( strncmp("POST", buffer, 4) == 0 )
- {
+ if (strncmp("POST", buffer, 4) == 0) {
return true;
}
}
namespace l7vs
{
- class ip_protocol_module_base : public protocol_module_base
- {
- protected:
- //! http statistic information
- http_stats http_stats_info;
-
- public:
+class ip_protocol_module_base : public protocol_module_base
+{
+protected:
+ //! http statistic information
+ http_stats http_stats_info;
- //! constructor
- ip_protocol_module_base(std::string in_modulename) : protocol_module_base(in_modulename) {};
+public:
- //! destructor
- virtual ~ip_protocol_module_base() {};
+ //! constructor
+ ip_protocol_module_base(std::string in_modulename) : protocol_module_base(in_modulename) {};
+ //! destructor
+ virtual ~ip_protocol_module_base() {};
- //! get base statistic object.
- //! @return base statistic object.
- stats_base& get_stats() {
- return http_stats_info;
- }
- //! increment http statistics
- //! @param const char* buffer
- void increment_stats(const char *buffer) {
- if (buffer != NULL && statistic == true) {
- if (http_utility::is_get_request(buffer)) {
- http_stats_info.http_get_requests++;
- } else if (http_utility::is_post_request(buffer)) {
- http_stats_info.http_post_requests++;
- }
+ //! get base statistic object.
+ //! @return base statistic object.
+ stats_base &get_stats() {
+ return http_stats_info;
+ }
- http_stats_info.http_requests++;
+ //! increment http statistics
+ //! @param const char* buffer
+ void increment_stats(const char *buffer) {
+ if (buffer != NULL && statistic == true) {
+ if (http_utility::is_get_request(buffer)) {
+ http_stats_info.http_get_requests++;
+ } else if (http_utility::is_post_request(buffer)) {
+ http_stats_info.http_post_requests++;
}
+
+ http_stats_info.http_requests++;
}
- };
+ }
+};
} // namespace l7vsd
bool no_reschedule_flag = false;
bool forward_checked = false;
bool sorryuri_checked = false;
- bool stats_checked = false;
+ bool stats_checked = false;
// cf RFC 2396 (A. Collected BNF for URI)
sregex sorry_uri_regex
= +('/' >>
*(
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') |
- '%' >> repeat<2>(xdigit) |
- (set = ':', '@', '&', '=', '+', '$', ',')
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') |
+ '%' >> repeat<2>(xdigit) |
+ (set = ':', '@', '&', '=', '+', '$', ',')
)
>>
*(';' >>
*(
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) | // escaped
- (set = ':', '@', '&', '=', '+', '$', ',')
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) | // escaped
+ (set = ':', '@', '&', '=', '+', '$', ',')
) // pchar
- ) // param
- ) // segment
+ ) // param
+ ) // segment
>>
!('?' >>
*(
- (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) // escaped
+ (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) // escaped
) // uric
- ) // query
+ ) // query
>>
!('#' >>
*(
- (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) // escaped
+ (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) // escaped
) // uric
- ); // fragment
+ ); // fragment
typedef std::vector<std::string>::const_iterator vec_str_it;
break;
}
}
- //option string = "-c/--statistic"
- else if (*it == "-c" || *it == "--statistic") {
+ //option string = "-c/--statistic"
+ else if (*it == "-c" || *it == "--statistic") {
//statistic flag is OFF
if (!stats_checked) {
//next item exist
- if(++it != it_end) {
- //collect statistic flag must be 0 or 1
- if(*it == "0" || *it == "1"){
+ if (++it != it_end) {
+ //collect statistic flag must be 0 or 1
+ if (*it == "0" || *it == "1") {
//check OK
//set statistic flag ON
- stats_checked = true; }
- else {
+ stats_checked = true;
+ } else {
std::ostringstream ostr;
ostr << "'-c/--statistic' option value '" << *it << "' is not a valid value.";
check_result.flag = false;
//set check result message
check_result.message = ostr.str();
- putLogError(600114, check_result.message, __FILE__, __LINE__);
- //loop break
- break;
- }
- }
- //next item is not exist
- else {
- //set check flag false
- check_result.flag = false;
- //set check result message
- check_result.message = "You have to set option value '-c/--statistic'.";
- putLogError(600115, check_result.message, __FILE__,__LINE__);
- //loop break
- break;
- }
- }
- //statistic flag is ON
- else {
- //set check result flag false
- check_result.flag = false;
- //set check result message
- check_result.message = "Cannot set multiple option '-c/--statistic'.";
- putLogError(600116, check_result.message, __FILE__,__LINE__);
- //loop break
- break;
- }
- }
+ putLogError(600114, check_result.message, __FILE__, __LINE__);
+ //loop break
+ break;
+ }
+ }
+ //next item is not exist
+ else {
+ //set check flag false
+ check_result.flag = false;
+ //set check result message
+ check_result.message = "You have to set option value '-c/--statistic'.";
+ putLogError(600115, check_result.message, __FILE__, __LINE__);
+ //loop break
+ break;
+ }
+ }
+ //statistic flag is ON
+ else {
+ //set check result flag false
+ check_result.flag = false;
+ //set check result message
+ check_result.message = "Cannot set multiple option '-c/--statistic'.";
+ putLogError(600116, check_result.message, __FILE__, __LINE__);
+ //loop break
+ break;
+ }
+ }
//other option string
else {
//set check result flag false
//! @return result.flag true is parameter is no problem.
//! @return result.flag false is parameter is problem.
protocol_module_base::check_message_result protocol_module_ip::set_parameter(const std::vector <
- std::string > & args)
+ std::string > & args)
{
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- boost::format formatter("in_function : protocol_module_base::check_message_result "
- "protocol_module_ip::set_parameter("
- "const std::vector<std::string>& args) : args = %s.");
- std::string argsdump;
- for (std::vector<std::string>::const_iterator it = args.begin(); it != args.end(); ++it) {
- argsdump += *it;
- argsdump += " ";
- }
- formatter % argsdump;
- putLogDebug(600017, formatter.str(), __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
-
- //set check result flag true
- check_message_result check_result;
- check_result.flag = true;
- bool timeout_flag = false;
- bool reschedule_flag = false;
- bool no_reschedule_flag = false;
- bool forward_checked = false;
- bool sorryuri_checked = false;
- bool stats_checked = false;
- boost::format formatter;
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ boost::format formatter("in_function : protocol_module_base::check_message_result "
+ "protocol_module_ip::set_parameter("
+ "const std::vector<std::string>& args) : args = %s.");
+ std::string argsdump;
+ for (std::vector<std::string>::const_iterator it = args.begin(); it != args.end(); ++it) {
+ argsdump += *it;
+ argsdump += " ";
+ }
+ formatter % argsdump;
+ putLogDebug(600017, formatter.str(), __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+
+ //set check result flag true
+ check_message_result check_result;
+ check_result.flag = true;
+ bool timeout_flag = false;
+ bool reschedule_flag = false;
+ bool no_reschedule_flag = false;
+ bool forward_checked = false;
+ bool sorryuri_checked = false;
+ bool stats_checked = false;
+ boost::format formatter;
// cf RFC 2396 (A. Collected BNF for URI)
sregex sorry_uri_regex
= +('/' >>
*(
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') |
- '%' >> repeat<2>(xdigit) |
- (set = ':', '@', '&', '=', '+', '$', ',')
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') |
+ '%' >> repeat<2>(xdigit) |
+ (set = ':', '@', '&', '=', '+', '$', ',')
)
>>
*(';' >>
*(
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) | // escaped
- (set = ':', '@', '&', '=', '+', '$', ',')
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) | // escaped
+ (set = ':', '@', '&', '=', '+', '$', ',')
) // pchar
- ) // param
- ) // segment
+ ) // param
+ ) // segment
>>
!('?' >>
*(
- (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) // escaped
+ (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) // escaped
) // uric
- ) // query
+ ) // query
>>
!('#' >>
*(
- (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) // escaped
+ (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) // escaped
) // uric
- ); // fragment
-
- typedef std::vector<std::string>::const_iterator vec_str_it;
-
- //set forwarded flag true
- forwarded_for = 1;
-
- try {
- vec_str_it it = args.begin();
- vec_str_it it_end = args.end();
-
- for (; it != it_end;) {
-
- if (*it == "-T" || *it == "--timeout") {
- // timeout
- if (!timeout_flag) {
- // not set timeout option
- ++it;
- // next parameter exist check
- if (it != it_end) {
- // next parameter exist
- if ((*it).substr(0, 1) == "-" || (*it).substr(0, 2) == "--") {
- continue;
- }
-
- try {
- unsigned long ultimeout = 0;
- ultimeout = boost::lexical_cast<unsigned long>(*it);
- // int max value check
- if (ultimeout > INT_MAX) {
- check_result.flag = false;
- formatter.parse("'-T/--timeout' option value '%s' is too large.");
- formatter % *it;
- check_result.message = formatter.str();
- putLogError(600013, check_result.message, __FILE__, __LINE__);
- break;
- } else {
- timeout_flag = true;
- timeout = ultimeout;
- ++it;
- continue;
- }
- } catch (boost::bad_lexical_cast &e) {
- // not numeric character
- check_result.flag = false;
- formatter.parse("'-T/--timeout' option value '%s' is not numeric character.");
- formatter % *it;
- check_result.message = formatter.str();
- putLogError(600014, check_result.message, __FILE__, __LINE__);
- break;
- }
- } else {
- break;
- }
- } else {
- // already set timeout
- check_result.flag = false;
- check_result.message = "Cannot set multiple option '-T/--timeout'.";
- putLogError(600015, check_result.message, __FILE__, __LINE__);
- break;
-
- }
- } else if (*it == "-R" || *it == "--reschedule") {
- // reschedule
- if (!no_reschedule_flag) {
- // not set no-reschedule flag
- reschedule_flag = true;
- reschedule = 1;
- } else {
- // already set no-reschedule flag
- check_result.flag = false;
- check_result.message = "You have to choose either of reschedule or no-reschedule.";
- putLogError(600016, check_result.message, __FILE__, __LINE__);
- break;
- }
- } else if (*it == "-N" || *it == "--no-reschedule") {
- // no-reschedule
- if (!reschedule_flag) {
- // not set reschedule flag
- no_reschedule_flag = true;
- reschedule = 0;
-
- } else {
- // already set reschedule flag
- check_result.flag = false;
- check_result.message = "You have to choose either of reschedule or no-reschedule.";
- putLogError(600017, check_result.message, __FILE__, __LINE__);
- break;
- }
- }
- //option string = "-F"
- else if (*it == "-F" || *it == "--forwarded-for") {
- //set forwarded flag ON
- forward_checked = true;
- forwarded_for = FORWARDED_FOR_ON;
- }
- //option string = "-S"
- else if (*it == "-S" || *it == "--sorry-uri") {
- //sorryURI flag = OFF
- if (!sorryuri_checked) {
- //next item exist
- if (++it != it_end) {
- if (!it->empty() && (it->substr(0, 1) == "-" || it->substr(0, 2) == "--")) {
- //set check result flag false
- check_result.flag = false;
- //set check result message
- check_result.message = "You have to set option value '-S/--sorry-uri'.";
- //loop break
- break;
- }
- //next option string's length > 127
- if (it->size() > MAX_OPTION_SIZE - 1) {
- std::ostringstream ostr;
- ostr << "'-S/--sorry-uri' option value '" << *it << "' is too long.";
-
- //set check result flag false
- check_result.flag = false;
- //set check result message
- check_result.message = ostr.str();
- putLogError(600018, check_result.message, __FILE__,
- __LINE__);
- //loop break
- break;
- }
- //next option string's length <= 127
- else {
- //regex check
- //check OK
- if (regex_match(*it, sorry_uri_regex)) {
- sorryuri_checked = true;
- memcpy(sorry_uri.data(), it->c_str(), it->size());
- }
- //check NG
- else {
- std::ostringstream ostr;
- ostr << "'-S/--sorry-uri' option value '" << *it << "' is not a valid URI.";
-
- //set check result flag false
- check_result.flag = false;
- //set check result message
- check_result.message = ostr.str();
- putLogError(600019, check_result.message, __FILE__,
- __LINE__);
- break;
- }
- }
- }
- //next item not exist
- else {
- //set check result flag false
- check_result.flag = false;
- //set check result message
- check_result.message = "You have to set option value '-S/--sorry-uri'.";
- putLogError(600020, check_result.message, __FILE__,
- __LINE__);
- break;
- }
- }
-
- //sorryURI flag = ON
- else {
- //set check result flag false
- check_result.flag = false;
- //set check result message
- check_result.message = "Cannot set multiple option '-S/--sorry-uri'.";
- putLogError(600021, check_result.message, __FILE__,__LINE__);
- break;
- }
- }
-
- //option string = "-c/--statistic"
- else if (*it == "-c" || *it == "--statistic") {
- //statistic flag is OFF
- if (!stats_checked) {
- //next item exist
- if(++it != it_end) {
- //collect statistic flag must be 0 or 1
- if(*it == "0" || *it == "1"){
- //check OK
- //set statistic flag ON
- stats_checked = true;
-
- //set collect statistic flag
- statistic = boost::lexical_cast<int>(*it); }
- else {
- std::ostringstream ostr;
- ostr << "'-c/--statistic' option value '" << *it << "' is not a valid value.";
-
- //set check result flag false
- check_result.flag = false;
- //set check result message
- check_result.message = ostr.str();
- putLogError(600117, check_result.message, __FILE__, __LINE__);
- //loop break
- break;
- }
- }
- //next item is not exist
- else {
- //set check flag false
- check_result.flag = false;
- //set check result message
- check_result.message = "You have to set option value '-c/--statistic'.";
- putLogError(600118, check_result.message, __FILE__,__LINE__);
- //loop break
- break;
- }
- }
- //statistic flag is ON
- else {
- //set check result flag false
- check_result.flag = false;
- //set check result message
- check_result.message = "Cannot set multiple option '-c/--statistic'.";
- putLogError(600119, check_result.message, __FILE__,__LINE__);
- //loop break
- break;
- }
- }
- //others
- else {
- //set check result flag false
- check_result.flag = false;
- //set check result message
- check_result.message = "Option error.";
- putLogError(600022, check_result.message, __FILE__, __LINE__);
-
- break;
- }
- ++it;
- }
-
- // result check
- if (check_result.flag) {
- // set timeout default value
- if (!timeout_flag) {
- timeout = 3600;
- }
-
- // set reschedule default value
- if (!reschedule_flag) {
- reschedule = 0;
- }
- //forward flag = OFF
- if (!forward_checked) {
- forwarded_for = 0;
- }
- //collect statistic flag = OFF
- if (!stats_checked) {
- statistic = COLLECT_STATS_OFF;
- }
- }
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- boost::format formatter("function : protocol_module_ip::check_message_result "
- "protocol_module_ip::set_parameter(const std::vector<std::string>& args) : "
- "timeout = %d, reschedule = %d.");
- formatter % timeout % reschedule;
- putLogDebug(600018, formatter.str(), __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
-
- unsigned int data_size = 0;
- void *data_addr = NULL;
- data_addr = replication_pay_memory(get_name(), &data_size);
-
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- putLogDebug(600019, "function : protocol_module_ip::check_message_result protocol_module_ip::"
- "set_parameter() : replication_pay_memory() end.", __FILE__, __LINE__);
- boost::format formatter("function : protocol_module_ip::check_message_result protocol_module_ip::"
- "set_parameter() : data_addr = &(%d), data_size = %d.");
- formatter % data_addr % data_size;
- putLogDebug(600020, formatter.str(), __FILE__, __LINE__);
- }
-
- /*------DEBUG LOG END------*/
- if (data_addr == NULL || data_size <= 0) {
- // replication area is null
- putLogInfo(600000, "Replication area is null.", __FILE__, __LINE__);
-
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- putLogDebug(600021, "function : protocol_module_ip::check_message_result "
- "protocol_module_ip::set_parameter() : "
- "Replication area is null.", __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
- }
-
- // create ip_replication_data_processor
- replication_data_processor = new ip_replication_data_processor(
- static_cast<char *>(data_addr),
- data_size,
- virtual_service_endpoint_tcp,
- getloglevel,
- putLogFatal,
- putLogError,
- putLogWarn,
- putLogInfo,
- putLogDebug);
-
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void *>(replication_data_processor)
- % sizeof(ip_replication_data_processor);
- putLogDebug(600022, formatter.str(), __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
-
- replication_data_processor->register_replication_area_lock(replication_area_lock);
-
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- putLogDebug(600023, "function : protocol_module_ip::check_message_result protocol_module_ip::"
- "set_parameter() : register_replication_area_lock() end.", __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
-
- replication_data_processor->register_replication_area_unlock(replication_area_unlock);
-
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- putLogDebug(600024, "function : protocol_module_ip::check_message_result protocol_module_ip::"
- "set_parameter() : register_replication_area_unlock() end.", __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
-
- // create ip_session_data_processor
- ip_data_processor = new ip_session_data_processor(
- timeout,
- replication_data_processor,
- getloglevel,
- putLogFatal,
- putLogError,
- putLogWarn,
- putLogInfo,
- putLogDebug);
-
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- boost::format formatter("new : address = &(%d), size = %lu.");
- formatter % static_cast<void *>(ip_data_processor)
- % sizeof(ip_session_data_processor);
- putLogDebug(600025, formatter.str(), __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
-
- // restore data from replication area
- ip_replication_data *redata = replication_data_processor->get_replication_area();
-
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- putLogDebug(600026, "function : protocol_module_ip::check_message_result protocol_module_ip::"
- "set_parameter() : get_replication_area() end.", __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
-
- if (data_addr) {
- replication_area_lock();
-
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- putLogDebug(600027, "function : protocol_module_ip::check_message_result protocol_module_ip::"
- "set_parameter() : replication_area_lock() end.", __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
-
- ip_data_processor->read_session_data_from_replication_area(redata);
-
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- putLogDebug(600028, "function : protocol_module_ip::check_message_result protocol_module_ip::"
- "set_parameter() : read_session_data_from_replication_area() end.", __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
-
- replication_area_unlock();
-
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- putLogDebug(600029, "function : protocol_module_ip::check_message_result protocol_module_ip::"
- "set_parameter() : replication_area_unlock() end.", __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
- }
- } catch (const std::bad_alloc &ba) {
- if (replication_data_processor) {
- delete replication_data_processor;
- replication_data_processor = NULL;
- }
-
- if (ip_data_processor) {
- delete ip_data_processor;
- ip_data_processor = NULL;
- }
-
- std::cerr << "protocol_module_ip::set_parameter() : exception : Could not allocate memory." << std::endl;
- check_result.flag = false;
- check_result.message = "Could not allocate memory.";
- putLogError(600023, check_result.message, __FILE__, __LINE__);
- } catch (const std::exception &ex) {
- if (replication_data_processor) {
- delete replication_data_processor;
- replication_data_processor = NULL;
- }
-
- if (ip_data_processor) {
- delete ip_data_processor;
- ip_data_processor = NULL;
- }
-
- check_result.flag = false;
- std::cerr << "protocol_module_ip::set_parameter() : exception : error = " << ex.what() << std::endl;
- boost::format formatter("function : protocol_module_ip::check_message_result "
- "protocol_module_ip::set_parameter() : exception : error = %s.");
- formatter % ex.what();
- putLogError(600024, formatter.str(), __FILE__, __LINE__);
- } catch (...) {
- if (replication_data_processor) {
- delete replication_data_processor;
- replication_data_processor = NULL;
- }
-
- if (ip_data_processor) {
- delete ip_data_processor;
- ip_data_processor = NULL;
- }
-
- check_result.flag = false;
- std::cerr << "protocol_module_ip::set_parameter() : Unknown exception." << std::endl;
- putLogError(600025, "function : protocol_module_ip::check_message_result protocol_module_ip::"
- "set_parameter() : Unknown exception.", __FILE__, __LINE__);
- }
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- boost::format formatter("out_function : protocol_module_ip::check_message_result "
- "protocol_module_ip::set_parameter("
- "const std::vector<std::string>& args) : return_value = ("
- "check_message_result.flag = %d, check_message_result.message = %s).");
- formatter % check_result.flag % check_result.message;
- putLogDebug(600030, formatter.str(), __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
- return check_result;
+ ); // fragment
+
+ typedef std::vector<std::string>::const_iterator vec_str_it;
+
+ //set forwarded flag true
+ forwarded_for = 1;
+
+ try {
+ vec_str_it it = args.begin();
+ vec_str_it it_end = args.end();
+
+ for (; it != it_end;) {
+
+ if (*it == "-T" || *it == "--timeout") {
+ // timeout
+ if (!timeout_flag) {
+ // not set timeout option
+ ++it;
+ // next parameter exist check
+ if (it != it_end) {
+ // next parameter exist
+ if ((*it).substr(0, 1) == "-" || (*it).substr(0, 2) == "--") {
+ continue;
+ }
+
+ try {
+ unsigned long ultimeout = 0;
+ ultimeout = boost::lexical_cast<unsigned long>(*it);
+ // int max value check
+ if (ultimeout > INT_MAX) {
+ check_result.flag = false;
+ formatter.parse("'-T/--timeout' option value '%s' is too large.");
+ formatter % *it;
+ check_result.message = formatter.str();
+ putLogError(600013, check_result.message, __FILE__, __LINE__);
+ break;
+ } else {
+ timeout_flag = true;
+ timeout = ultimeout;
+ ++it;
+ continue;
+ }
+ } catch (boost::bad_lexical_cast &e) {
+ // not numeric character
+ check_result.flag = false;
+ formatter.parse("'-T/--timeout' option value '%s' is not numeric character.");
+ formatter % *it;
+ check_result.message = formatter.str();
+ putLogError(600014, check_result.message, __FILE__, __LINE__);
+ break;
+ }
+ } else {
+ break;
+ }
+ } else {
+ // already set timeout
+ check_result.flag = false;
+ check_result.message = "Cannot set multiple option '-T/--timeout'.";
+ putLogError(600015, check_result.message, __FILE__, __LINE__);
+ break;
+
+ }
+ } else if (*it == "-R" || *it == "--reschedule") {
+ // reschedule
+ if (!no_reschedule_flag) {
+ // not set no-reschedule flag
+ reschedule_flag = true;
+ reschedule = 1;
+ } else {
+ // already set no-reschedule flag
+ check_result.flag = false;
+ check_result.message = "You have to choose either of reschedule or no-reschedule.";
+ putLogError(600016, check_result.message, __FILE__, __LINE__);
+ break;
+ }
+ } else if (*it == "-N" || *it == "--no-reschedule") {
+ // no-reschedule
+ if (!reschedule_flag) {
+ // not set reschedule flag
+ no_reschedule_flag = true;
+ reschedule = 0;
+
+ } else {
+ // already set reschedule flag
+ check_result.flag = false;
+ check_result.message = "You have to choose either of reschedule or no-reschedule.";
+ putLogError(600017, check_result.message, __FILE__, __LINE__);
+ break;
+ }
+ }
+ //option string = "-F"
+ else if (*it == "-F" || *it == "--forwarded-for") {
+ //set forwarded flag ON
+ forward_checked = true;
+ forwarded_for = FORWARDED_FOR_ON;
+ }
+ //option string = "-S"
+ else if (*it == "-S" || *it == "--sorry-uri") {
+ //sorryURI flag = OFF
+ if (!sorryuri_checked) {
+ //next item exist
+ if (++it != it_end) {
+ if (!it->empty() && (it->substr(0, 1) == "-" || it->substr(0, 2) == "--")) {
+ //set check result flag false
+ check_result.flag = false;
+ //set check result message
+ check_result.message = "You have to set option value '-S/--sorry-uri'.";
+ //loop break
+ break;
+ }
+ //next option string's length > 127
+ if (it->size() > MAX_OPTION_SIZE - 1) {
+ std::ostringstream ostr;
+ ostr << "'-S/--sorry-uri' option value '" << *it << "' is too long.";
+
+ //set check result flag false
+ check_result.flag = false;
+ //set check result message
+ check_result.message = ostr.str();
+ putLogError(600018, check_result.message, __FILE__,
+ __LINE__);
+ //loop break
+ break;
+ }
+ //next option string's length <= 127
+ else {
+ //regex check
+ //check OK
+ if (regex_match(*it, sorry_uri_regex)) {
+ sorryuri_checked = true;
+ memcpy(sorry_uri.data(), it->c_str(), it->size());
+ }
+ //check NG
+ else {
+ std::ostringstream ostr;
+ ostr << "'-S/--sorry-uri' option value '" << *it << "' is not a valid URI.";
+
+ //set check result flag false
+ check_result.flag = false;
+ //set check result message
+ check_result.message = ostr.str();
+ putLogError(600019, check_result.message, __FILE__,
+ __LINE__);
+ break;
+ }
+ }
+ }
+ //next item not exist
+ else {
+ //set check result flag false
+ check_result.flag = false;
+ //set check result message
+ check_result.message = "You have to set option value '-S/--sorry-uri'.";
+ putLogError(600020, check_result.message, __FILE__,
+ __LINE__);
+ break;
+ }
+ }
+
+ //sorryURI flag = ON
+ else {
+ //set check result flag false
+ check_result.flag = false;
+ //set check result message
+ check_result.message = "Cannot set multiple option '-S/--sorry-uri'.";
+ putLogError(600021, check_result.message, __FILE__, __LINE__);
+ break;
+ }
+ }
+
+ //option string = "-c/--statistic"
+ else if (*it == "-c" || *it == "--statistic") {
+ //statistic flag is OFF
+ if (!stats_checked) {
+ //next item exist
+ if (++it != it_end) {
+ //collect statistic flag must be 0 or 1
+ if (*it == "0" || *it == "1") {
+ //check OK
+ //set statistic flag ON
+ stats_checked = true;
+
+ //set collect statistic flag
+ statistic = boost::lexical_cast<int>(*it);
+ } else {
+ std::ostringstream ostr;
+ ostr << "'-c/--statistic' option value '" << *it << "' is not a valid value.";
+
+ //set check result flag false
+ check_result.flag = false;
+ //set check result message
+ check_result.message = ostr.str();
+ putLogError(600117, check_result.message, __FILE__, __LINE__);
+ //loop break
+ break;
+ }
+ }
+ //next item is not exist
+ else {
+ //set check flag false
+ check_result.flag = false;
+ //set check result message
+ check_result.message = "You have to set option value '-c/--statistic'.";
+ putLogError(600118, check_result.message, __FILE__, __LINE__);
+ //loop break
+ break;
+ }
+ }
+ //statistic flag is ON
+ else {
+ //set check result flag false
+ check_result.flag = false;
+ //set check result message
+ check_result.message = "Cannot set multiple option '-c/--statistic'.";
+ putLogError(600119, check_result.message, __FILE__, __LINE__);
+ //loop break
+ break;
+ }
+ }
+ //others
+ else {
+ //set check result flag false
+ check_result.flag = false;
+ //set check result message
+ check_result.message = "Option error.";
+ putLogError(600022, check_result.message, __FILE__, __LINE__);
+
+ break;
+ }
+ ++it;
+ }
+
+ // result check
+ if (check_result.flag) {
+ // set timeout default value
+ if (!timeout_flag) {
+ timeout = 3600;
+ }
+
+ // set reschedule default value
+ if (!reschedule_flag) {
+ reschedule = 0;
+ }
+ //forward flag = OFF
+ if (!forward_checked) {
+ forwarded_for = 0;
+ }
+ //collect statistic flag = OFF
+ if (!stats_checked) {
+ statistic = COLLECT_STATS_OFF;
+ }
+ }
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ boost::format formatter("function : protocol_module_ip::check_message_result "
+ "protocol_module_ip::set_parameter(const std::vector<std::string>& args) : "
+ "timeout = %d, reschedule = %d.");
+ formatter % timeout % reschedule;
+ putLogDebug(600018, formatter.str(), __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+
+ unsigned int data_size = 0;
+ void *data_addr = NULL;
+ data_addr = replication_pay_memory(get_name(), &data_size);
+
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ putLogDebug(600019, "function : protocol_module_ip::check_message_result protocol_module_ip::"
+ "set_parameter() : replication_pay_memory() end.", __FILE__, __LINE__);
+ boost::format formatter("function : protocol_module_ip::check_message_result protocol_module_ip::"
+ "set_parameter() : data_addr = &(%d), data_size = %d.");
+ formatter % data_addr % data_size;
+ putLogDebug(600020, formatter.str(), __FILE__, __LINE__);
+ }
+
+ /*------DEBUG LOG END------*/
+ if (data_addr == NULL || data_size <= 0) {
+ // replication area is null
+ putLogInfo(600000, "Replication area is null.", __FILE__, __LINE__);
+
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ putLogDebug(600021, "function : protocol_module_ip::check_message_result "
+ "protocol_module_ip::set_parameter() : "
+ "Replication area is null.", __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+ }
+
+ // create ip_replication_data_processor
+ replication_data_processor = new ip_replication_data_processor(
+ static_cast<char *>(data_addr),
+ data_size,
+ virtual_service_endpoint_tcp,
+ getloglevel,
+ putLogFatal,
+ putLogError,
+ putLogWarn,
+ putLogInfo,
+ putLogDebug);
+
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ boost::format formatter("new : address = &(%d), size = %lu.");
+ formatter % static_cast<void *>(replication_data_processor)
+ % sizeof(ip_replication_data_processor);
+ putLogDebug(600022, formatter.str(), __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+
+ replication_data_processor->register_replication_area_lock(replication_area_lock);
+
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ putLogDebug(600023, "function : protocol_module_ip::check_message_result protocol_module_ip::"
+ "set_parameter() : register_replication_area_lock() end.", __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+
+ replication_data_processor->register_replication_area_unlock(replication_area_unlock);
+
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ putLogDebug(600024, "function : protocol_module_ip::check_message_result protocol_module_ip::"
+ "set_parameter() : register_replication_area_unlock() end.", __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+
+ // create ip_session_data_processor
+ ip_data_processor = new ip_session_data_processor(
+ timeout,
+ replication_data_processor,
+ getloglevel,
+ putLogFatal,
+ putLogError,
+ putLogWarn,
+ putLogInfo,
+ putLogDebug);
+
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ boost::format formatter("new : address = &(%d), size = %lu.");
+ formatter % static_cast<void *>(ip_data_processor)
+ % sizeof(ip_session_data_processor);
+ putLogDebug(600025, formatter.str(), __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+
+ // restore data from replication area
+ ip_replication_data *redata = replication_data_processor->get_replication_area();
+
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ putLogDebug(600026, "function : protocol_module_ip::check_message_result protocol_module_ip::"
+ "set_parameter() : get_replication_area() end.", __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+
+ if (data_addr) {
+ replication_area_lock();
+
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ putLogDebug(600027, "function : protocol_module_ip::check_message_result protocol_module_ip::"
+ "set_parameter() : replication_area_lock() end.", __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+
+ ip_data_processor->read_session_data_from_replication_area(redata);
+
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ putLogDebug(600028, "function : protocol_module_ip::check_message_result protocol_module_ip::"
+ "set_parameter() : read_session_data_from_replication_area() end.", __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+
+ replication_area_unlock();
+
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ putLogDebug(600029, "function : protocol_module_ip::check_message_result protocol_module_ip::"
+ "set_parameter() : replication_area_unlock() end.", __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+ }
+ } catch (const std::bad_alloc &ba) {
+ if (replication_data_processor) {
+ delete replication_data_processor;
+ replication_data_processor = NULL;
+ }
+
+ if (ip_data_processor) {
+ delete ip_data_processor;
+ ip_data_processor = NULL;
+ }
+
+ std::cerr << "protocol_module_ip::set_parameter() : exception : Could not allocate memory." << std::endl;
+ check_result.flag = false;
+ check_result.message = "Could not allocate memory.";
+ putLogError(600023, check_result.message, __FILE__, __LINE__);
+ } catch (const std::exception &ex) {
+ if (replication_data_processor) {
+ delete replication_data_processor;
+ replication_data_processor = NULL;
+ }
+
+ if (ip_data_processor) {
+ delete ip_data_processor;
+ ip_data_processor = NULL;
+ }
+
+ check_result.flag = false;
+ std::cerr << "protocol_module_ip::set_parameter() : exception : error = " << ex.what() << std::endl;
+ boost::format formatter("function : protocol_module_ip::check_message_result "
+ "protocol_module_ip::set_parameter() : exception : error = %s.");
+ formatter % ex.what();
+ putLogError(600024, formatter.str(), __FILE__, __LINE__);
+ } catch (...) {
+ if (replication_data_processor) {
+ delete replication_data_processor;
+ replication_data_processor = NULL;
+ }
+
+ if (ip_data_processor) {
+ delete ip_data_processor;
+ ip_data_processor = NULL;
+ }
+
+ check_result.flag = false;
+ std::cerr << "protocol_module_ip::set_parameter() : Unknown exception." << std::endl;
+ putLogError(600025, "function : protocol_module_ip::check_message_result protocol_module_ip::"
+ "set_parameter() : Unknown exception.", __FILE__, __LINE__);
+ }
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ boost::format formatter("out_function : protocol_module_ip::check_message_result "
+ "protocol_module_ip::set_parameter("
+ "const std::vector<std::string>& args) : return_value = ("
+ "check_message_result.flag = %d, check_message_result.message = %s).");
+ formatter % check_result.flag % check_result.message;
+ putLogDebug(600030, formatter.str(), __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+ return check_result;
}
//! parameter add
}
/*------DEBUG LOG END------*/
- boost::format option_formatter("--timeout %d%s %s --sorry-uri '%s' --statistic %d");
+ boost::format option_formatter("--timeout %d%s %s --sorry-uri '%s' --statistic %d");
option_formatter % timeout % (forwarded_for ? " --forwarded-for" : "") % (reschedule ? "--reschedule" : "--no-reschedule")
- % sorry_uri.c_array() % statistic;
+ % sorry_uri.c_array() % statistic;
option.assign(option_formatter.str());
/*-------- DEBUG LOG --------*/
putLogDebug(600051, formatter.str(), __FILE__, __LINE__);
}
/*------DEBUG LOG END------*/
- //sorry flag on
- if (session_data_ptr->sorry_flag == SORRY_FLAG_ON) {
- //set return status
- status = SORRYSERVER_SELECT;
- }
- //sorry flag off
- else {
- //set return status
- status = REALSERVER_SELECT;
- }
+ //sorry flag on
+ if (session_data_ptr->sorry_flag == SORRY_FLAG_ON) {
+ //set return status
+ status = SORRYSERVER_SELECT;
+ }
+ //sorry flag off
+ else {
+ //set return status
+ status = REALSERVER_SELECT;
+ }
//set last status
session_data_ptr->last_status = status;
}
- //increment http statistics
- increment_stats(session_data_ptr->data_buffer + session_data_ptr->data_offset);
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_ip::"
- "handle_client_recv() : call increment_stats : thread id : %d.");
- formatter % boost::this_thread::get_id();
- putLogDebug(600228, formatter.str(), __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
+ //increment http statistics
+ increment_stats(session_data_ptr->data_buffer + session_data_ptr->data_offset);
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_ip::"
+ "handle_client_recv() : call increment_stats : thread id : %d.");
+ formatter % boost::this_thread::get_id();
+ putLogDebug(600228, formatter.str(), __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
//set data state HTTP_HEADER
session_data_ptr->data_state = HTTP_HEADER;
std::string x_forwarded_for_context;
try {
- session_thread_data_map_mutex.lock();
+ session_thread_data_map_mutex.lock();
- //thread id check
- session_thread_data_map_it session_thread_it = session_thread_data_map.find(thread_id);
- if (unlikely(session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)) {
- boost::format formatter("Invalid thread id. thread id : %d.");
- formatter % boost::this_thread::get_id();
- putLogError(600045, formatter.str(), __FILE__, __LINE__);
- session_thread_data_map_mutex.unlock();
- throw - 1;
- }
+ //thread id check
+ session_thread_data_map_it session_thread_it = session_thread_data_map.find(thread_id);
+ if (unlikely(session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)) {
+ boost::format formatter("Invalid thread id. thread id : %d.");
+ formatter % boost::this_thread::get_id();
+ putLogError(600045, formatter.str(), __FILE__, __LINE__);
+ session_thread_data_map_mutex.unlock();
+ throw - 1;
+ }
- session_data_ptr = session_thread_it->second;
+ session_data_ptr = session_thread_it->second;
send_possible_size = std::min(session_data_ptr->current_message_rest_size,
session_data_ptr->data_length
);
- session_thread_data_map_mutex.unlock();
+ session_thread_data_map_mutex.unlock();
//buffer sequence is empty
if (session_data_ptr->buffer_sequence.empty()) {
}
}
-
- //increment http statistics
- increment_stats(session_data_ptr->data_buffer + session_data_ptr->data_offset);
- /*-------- DEBUG LOG --------*/
- if (unlikely(LOG_LV_DEBUG == getloglevel())) {
- boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_ip::"
- "handle_realserver_send() : call increment_stats : thread id : %d.");
- formatter % boost::this_thread::get_id();
- putLogDebug(600229, formatter.str(), __FILE__, __LINE__);
- }
- /*------DEBUG LOG END------*/
-
+
+ //increment http statistics
+ increment_stats(session_data_ptr->data_buffer + session_data_ptr->data_offset);
+ /*-------- DEBUG LOG --------*/
+ if (unlikely(LOG_LV_DEBUG == getloglevel())) {
+ boost::format formatter("function : protocol_module_base::EVENT_TAG protocol_module_ip::"
+ "handle_realserver_send() : call increment_stats : thread id : %d.");
+ formatter % boost::this_thread::get_id();
+ putLogDebug(600229, formatter.str(), __FILE__, __LINE__);
+ }
+ /*------DEBUG LOG END------*/
+
//set data state HTTP_HEADER
session_data_ptr->data_state = HTTP_HEADER;
}
namespace l7vs
{
-#ifdef DEBUG
-std::string eventtag_to_string( protocol_module_base::EVENT_TAG in ){
- return
- in == protocol_module_base::INITIALIZE ? "INITIALIZE"
- : in == protocol_module_base::ACCEPT ? "ACCEPT"
- : in == protocol_module_base::CLIENT_RECV ? "CLIENT_RECV"
- : in == protocol_module_base::REALSERVER_SELECT ? "REALSERVER_SELECT"
- : in == protocol_module_base::REALSERVER_CONNECT ? "REALSERVER_CONNECT"
- : in == protocol_module_base::REALSERVER_SEND ? "REALSERVER_SEND"
- : in == protocol_module_base::SORRYSERVER_SELECT ? "SORRYSERVER_SELECT"
- : in == protocol_module_base::SORRYSERVER_CONNECT ? "SORRYSERVER_CONNECT"
- : in == protocol_module_base::SORRYSERVER_SEND ? "SORRYSERVER_SEND"
- : in == protocol_module_base::REALSERVER_RECV ? "REALSERVER_RECV"
- : in == protocol_module_base::SORRYSERVER_RECV ? "SORRYSERVER_RECV"
- : in == protocol_module_base::CLIENT_SELECT ? "CLIENT_SELECT"
- : in == protocol_module_base::CLIENT_CONNECTION_CHECK ? "CLIENT_CONNECTION_CHECK"
- : in == protocol_module_base::CLIENT_SEND ? "CLIENT_SEND"
- : in == protocol_module_base::CLIENT_RESPONSE_SEND ? "CLIENT_RESPONSE_SEND"
- : in == protocol_module_base::REALSERVER_DISCONNECT ? "REALSERVER_DISCONNECT"
- : in == protocol_module_base::SORRYSERVER_DISCONNECT ? "SORRYSERVER_DISCONNECT"
- : in == protocol_module_base::CLIENT_DISCONNECT ? "CLIENT_DISCONNECT"
- : in == protocol_module_base::REALSERVER_CLOSE ? "REALSERVER_CLOSE"
- : in == protocol_module_base::FINALIZE ? "FINALIZE"
- : in == protocol_module_base::STOP ? "STOP"
- : "NOT_FOUND"
- ;
+#ifdef DEBUG
+std::string eventtag_to_string(protocol_module_base::EVENT_TAG in)
+{
+ return
+ in == protocol_module_base::INITIALIZE ? "INITIALIZE"
+ : in == protocol_module_base::ACCEPT ? "ACCEPT"
+ : in == protocol_module_base::CLIENT_RECV ? "CLIENT_RECV"
+ : in == protocol_module_base::REALSERVER_SELECT ? "REALSERVER_SELECT"
+ : in == protocol_module_base::REALSERVER_CONNECT ? "REALSERVER_CONNECT"
+ : in == protocol_module_base::REALSERVER_SEND ? "REALSERVER_SEND"
+ : in == protocol_module_base::SORRYSERVER_SELECT ? "SORRYSERVER_SELECT"
+ : in == protocol_module_base::SORRYSERVER_CONNECT ? "SORRYSERVER_CONNECT"
+ : in == protocol_module_base::SORRYSERVER_SEND ? "SORRYSERVER_SEND"
+ : in == protocol_module_base::REALSERVER_RECV ? "REALSERVER_RECV"
+ : in == protocol_module_base::SORRYSERVER_RECV ? "SORRYSERVER_RECV"
+ : in == protocol_module_base::CLIENT_SELECT ? "CLIENT_SELECT"
+ : in == protocol_module_base::CLIENT_CONNECTION_CHECK ? "CLIENT_CONNECTION_CHECK"
+ : in == protocol_module_base::CLIENT_SEND ? "CLIENT_SEND"
+ : in == protocol_module_base::CLIENT_RESPONSE_SEND ? "CLIENT_RESPONSE_SEND"
+ : in == protocol_module_base::REALSERVER_DISCONNECT ? "REALSERVER_DISCONNECT"
+ : in == protocol_module_base::SORRYSERVER_DISCONNECT ? "SORRYSERVER_DISCONNECT"
+ : in == protocol_module_base::CLIENT_DISCONNECT ? "CLIENT_DISCONNECT"
+ : in == protocol_module_base::REALSERVER_CLOSE ? "REALSERVER_CLOSE"
+ : in == protocol_module_base::FINALIZE ? "FINALIZE"
+ : in == protocol_module_base::STOP ? "STOP"
+ : "NOT_FOUND"
+ ;
}
-std::string session_thread_data_to_string( const boost::shared_ptr< protocol_module_sessionless::session_thread_data_sessionless > in_ptr ){
- boost::format fmt( "DATA : Thread ID[%d]\n"
- " Thread_division[%d]\n"
- " Pair Thread ID[%d]\n"
- " end_flag[%d]\n"
- " accept_end_flag[%d]\n"
- " sorry_flag[%d]\n"
- " sorryserver_switch_flag[%d]\n"
- " realserver_switch_flag[%d]\n"
- " target_endpoint[%s:%d]\n"
- " client_endpoint[%s:%d]\n"
- " last_status[%d]\n"
- );
- fmt % in_ptr->thread_id
- % in_ptr->thread_division
- % in_ptr->pair_thread_id
- % in_ptr->end_flag
- % in_ptr->accept_end_flag
- % in_ptr->sorry_flag
- % in_ptr->sorryserver_switch_flag
- % in_ptr->realserver_switch_flag
- % in_ptr->target_endpoint.address().to_string() % in_ptr->target_endpoint.port()
- % in_ptr->client_endpoint_tcp.address().to_string() % in_ptr->client_endpoint_tcp.port()
- % eventtag_to_string( in_ptr->last_status );
-
- return fmt.str();
+std::string session_thread_data_to_string(const boost::shared_ptr< protocol_module_sessionless::session_thread_data_sessionless > in_ptr)
+{
+ boost::format fmt("DATA : Thread ID[%d]\n"
+ " Thread_division[%d]\n"
+ " Pair Thread ID[%d]\n"
+ " end_flag[%d]\n"
+ " accept_end_flag[%d]\n"
+ " sorry_flag[%d]\n"
+ " sorryserver_switch_flag[%d]\n"
+ " realserver_switch_flag[%d]\n"
+ " target_endpoint[%s:%d]\n"
+ " client_endpoint[%s:%d]\n"
+ " last_status[%d]\n"
+ );
+ fmt % in_ptr->thread_id
+ % in_ptr->thread_division
+ % in_ptr->pair_thread_id
+ % in_ptr->end_flag
+ % in_ptr->accept_end_flag
+ % in_ptr->sorry_flag
+ % in_ptr->sorryserver_switch_flag
+ % in_ptr->realserver_switch_flag
+ % in_ptr->target_endpoint.address().to_string() % in_ptr->target_endpoint.port()
+ % in_ptr->client_endpoint_tcp.address().to_string() % in_ptr->client_endpoint_tcp.port()
+ % eventtag_to_string(in_ptr->last_status);
+
+ return fmt.str();
}
sregex sorry_uri_regex
= +('/' >>
*(
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') |
- '%' >> repeat<2>(xdigit) |
- (set = ':', '@', '&', '=', '+', '$', ',')
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') |
+ '%' >> repeat<2>(xdigit) |
+ (set = ':', '@', '&', '=', '+', '$', ',')
)
>>
*(';' >>
*(
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) | // escaped
- (set = ':', '@', '&', '=', '+', '$', ',')
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) | // escaped
+ (set = ':', '@', '&', '=', '+', '$', ',')
) // pchar
- ) // param
- ) // segment
+ ) // param
+ ) // segment
>>
!('?' >>
*(
- (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) // escaped
+ (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) // escaped
) // uric
- ) // query
+ ) // query
>>
!('#' >>
*(
- (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) // escaped
+ (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) // escaped
) // uric
- ); // fragment
+ ); // fragment
typedef std::vector<std::string>::const_iterator vec_str_it;
//statistic flag is OFF
if (!stats_checked) {
//next item exist
- if(++it != it_end) {
- //collect statistic flag must be 0 or 1
- if(*it == "0" || *it == "1"){
+ if (++it != it_end) {
+ //collect statistic flag must be 0 or 1
+ if (*it == "0" || *it == "1") {
//check OK
//set statistic flag ON
- stats_checked = true; }
- else {
+ stats_checked = true;
+ } else {
std::ostringstream ostr;
ostr << "'-c/--statistic' option value '" << *it << "' is not a valid value.";
sregex sorry_uri_regex
= +('/' >>
*(
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') |
- '%' >> repeat<2>(xdigit) |
- (set = ':', '@', '&', '=', '+', '$', ',')
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') |
+ '%' >> repeat<2>(xdigit) |
+ (set = ':', '@', '&', '=', '+', '$', ',')
)
>>
*(';' >>
*(
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) | // escaped
- (set = ':', '@', '&', '=', '+', '$', ',')
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) | // escaped
+ (set = ':', '@', '&', '=', '+', '$', ',')
) // pchar
- ) // param
- ) // segment
+ ) // param
+ ) // segment
>>
!('?' >>
*(
- (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) // escaped
+ (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) // escaped
) // uric
- ) // query
+ ) // query
>>
!('#' >>
*(
- (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
- alpha | digit |
- (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
- '%' >> repeat<2>(xdigit) // escaped
+ (set = ';', '/', '?', ':', '@', '&', '=', '+', '$', ',') | //reserved
+ alpha | digit |
+ (set = '-', '_', '.', '!', '~', '*', '\'', '(', ')') | // mark
+ '%' >> repeat<2>(xdigit) // escaped
) // uric
- ); // fragment
+ ); // fragment
typedef std::vector<std::string>::const_iterator vec_str_it;
//statistic flag is OFF
if (!stats_checked) {
//next item exist
- if(++it != it_end) {
- //collect statistic flag must be 0 or 1
- if(*it == "0" || *it == "1"){
+ if (++it != it_end) {
+ //collect statistic flag must be 0 or 1
+ if (*it == "0" || *it == "1") {
//check OK
//set statistic flag ON
stats_checked = true;
//set collect statistic flag
- statistic = boost::lexical_cast<int>(*it); }
- else {
+ statistic = boost::lexical_cast<int>(*it);
+ } else {
std::ostringstream ostr;
ostr << "'-c/--statistic' option value '" << *it << "' is not a valid value.";
boost::format option_formatter("%s--sorry-uri '%s' --statistic %d");
option_formatter % (forwarded_for ? "--forwarded-for " : "") % sorry_uri.c_array()
- % statistic;
+ % statistic;
option.assign(option_formatter.str());
/*-------- DEBUG LOG --------*/
try {
boost::mutex::scoped_lock slock(session_thread_data_map_mutex);
- session_thread_data_map_it session_thread_data_it = session_thread_data_map.find(up_thread_id);
+ session_thread_data_map_it session_thread_data_it = session_thread_data_map.find(up_thread_id);
if (session_thread_data_it != session_thread_data_map.end()) {
thread_data_ptr p_up = session_thread_data_it->second;
/*-------- DEBUG LOG --------*/
session_thread_data_it = session_thread_data_map.find(down_thread_id);
if (session_thread_data_it != session_thread_data_map.end()) {
- thread_data_ptr p_down = session_thread_data_it->second;
+ thread_data_ptr p_down = session_thread_data_it->second;
/*-------- DEBUG LOG --------*/
if (unlikely(LOG_LV_DEBUG == getloglevel())) {
boost::format formatter("delete : address = &(%d).");
putLogDebug(100035, formatter.str(), __FILE__, __LINE__);
}
/*------DEBUG LOG END------*/
- //sorry flag on
- if (session_data->sorry_flag == SORRY_FLAG_ON) {
- //set return status
- status = SORRYSERVER_SELECT;
- }
- //sorry flag off
- else {
- //set return status
- status = REALSERVER_SELECT;
- }
+ //sorry flag on
+ if (session_data->sorry_flag == SORRY_FLAG_ON) {
+ //set return status
+ status = SORRYSERVER_SELECT;
+ }
+ //sorry flag off
+ else {
+ //set return status
+ status = REALSERVER_SELECT;
+ }
} catch (int e) {
/*-------- DEBUG LOG --------*/
thread_data_ptr session_data;
try {
- session_thread_data_map_mutex.lock();
-
- //thread id check
- session_thread_data_map_it session_thread_it = session_thread_data_map.find(thread_id);
- if (unlikely(session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)) {
- boost::format formatter("Invalid thread id. thread id : %d.");
- formatter % boost::this_thread::get_id();
- putLogError(100042, formatter.str(), __FILE__, __LINE__);
- session_thread_data_map_mutex.unlock();
- throw - 1;
- }
-
- session_data = session_thread_it->second;
-
- //endpoint check
- receive_data_map_it receive_data_it = session_data->receive_data_map.find(session_data->client_endpoint_tcp);
- if (unlikely(receive_data_it == session_data->receive_data_map.end())) {
- boost::format formatter("Invalid endpoint. thread id : %d.");
- formatter % boost::this_thread::get_id();
- putLogError(100043, formatter.str(), __FILE__, __LINE__);
- session_thread_data_map_mutex.unlock();
- throw - 1;
- }
-
- //receive_buffer pointer check
- receive_data &recv_data = receive_data_it->second;
- if (unlikely(recv_data.receive_buffer == NULL)) {
- session_thread_data_map_mutex.unlock();
- return CLIENT_RECV;
- }
-
- //send list check
- send_status_it it = recv_data.send_status_list.begin();
- send_status_it it_end = recv_data.send_status_list.end();
- it = find_if(it, it_end, data_send_possible());
- if (unlikely(it == it_end)) {
- boost::format formatter("Sending possible data is not existed. thread id : %d.");
- formatter % boost::this_thread::get_id();
- putLogError(100045, formatter.str(), __FILE__, __LINE__);
- session_thread_data_map_mutex.unlock();
- throw - 1;
- }
- session_thread_data_map_mutex.unlock();
+ session_thread_data_map_mutex.lock();
+
+ //thread id check
+ session_thread_data_map_it session_thread_it = session_thread_data_map.find(thread_id);
+ if (unlikely(session_thread_it == session_thread_data_map.end() || session_thread_it->second == NULL)) {
+ boost::format formatter("Invalid thread id. thread id : %d.");
+ formatter % boost::this_thread::get_id();
+ putLogError(100042, formatter.str(), __FILE__, __LINE__);
+ session_thread_data_map_mutex.unlock();
+ throw - 1;
+ }
+
+ session_data = session_thread_it->second;
+
+ //endpoint check
+ receive_data_map_it receive_data_it = session_data->receive_data_map.find(session_data->client_endpoint_tcp);
+ if (unlikely(receive_data_it == session_data->receive_data_map.end())) {
+ boost::format formatter("Invalid endpoint. thread id : %d.");
+ formatter % boost::this_thread::get_id();
+ putLogError(100043, formatter.str(), __FILE__, __LINE__);
+ session_thread_data_map_mutex.unlock();
+ throw - 1;
+ }
+
+ //receive_buffer pointer check
+ receive_data &recv_data = receive_data_it->second;
+ if (unlikely(recv_data.receive_buffer == NULL)) {
+ session_thread_data_map_mutex.unlock();
+ return CLIENT_RECV;
+ }
+
+ //send list check
+ send_status_it it = recv_data.send_status_list.begin();
+ send_status_it it_end = recv_data.send_status_list.end();
+ it = find_if(it, it_end, data_send_possible());
+ if (unlikely(it == it_end)) {
+ boost::format formatter("Sending possible data is not existed. thread id : %d.");
+ formatter % boost::this_thread::get_id();
+ putLogError(100045, formatter.str(), __FILE__, __LINE__);
+ session_thread_data_map_mutex.unlock();
+ throw - 1;
+ }
+ session_thread_data_map_mutex.unlock();
//send buffer rest size initialization
send_buffer_remian_size = send_buffer_end_size;
if (unlikely(recv_data.receive_buffer == NULL)) {
status = CLIENT_RECV;
goto handle_sorryserver_connect_out;
-/*
- boost::format formatter("Invalid pointer. thread id : %d.");
- formatter % boost::this_thread::get_id();
- putLogError(100065, formatter.str(), __FILE__, __LINE__);
- throw - 1;
-*/
+ /*
+ boost::format formatter("Invalid pointer. thread id : %d.");
+ formatter % boost::this_thread::get_id();
+ putLogError(100065, formatter.str(), __FILE__, __LINE__);
+ throw - 1;
+ */
}
//send list check
session_thread_it = session_thread_data_map.find(thread_id);
if (unlikely(session_thread_it == session_thread_data_map.end()
|| session_thread_it->second == NULL)) {
-#ifdef DEBUG
- // debug code insert
- std::stringstream buff;
- buff << "Invalid Thread ID. Thread ID[" << boost::this_thread::get_id() << "] map has thread datas = \n";
- for( session_thread_data_map_it itr = session_thread_data_map.begin(); itr != session_thread_data_map.end(); itr++ ){
- buff << session_thread_data_to_string( itr->second ) << "\n";
- }
- putLogError(100080, buff.str(), __FILE__, __LINE__ );
+#ifdef DEBUG
+ // debug code insert
+ std::stringstream buff;
+ buff << "Invalid Thread ID. Thread ID[" << boost::this_thread::get_id() << "] map has thread datas = \n";
+ for (session_thread_data_map_it itr = session_thread_data_map.begin(); itr != session_thread_data_map.end(); itr++) {
+ buff << session_thread_data_to_string(itr->second) << "\n";
+ }
+ putLogError(100080, buff.str(), __FILE__, __LINE__);
#else
boost::format formatter("Invalid thread id. thread id : %d.");
formatter % boost::this_thread::get_id();
request.command = cmd; // set command
if (argc < 3) {
return true; // option is none. this pattern is true
- }
- else if (argc > 3) {
+ } else if (argc > 3) {
std::stringstream buf;
buf << "Argument argc is illegal for " << argv[1] << " command.";
l7vsadm_err.setter(true, buf.str());
std::map<std::string, int> count_map;
for (parse_opt_map_type::iterator itr = vs_option_dic.begin() ;
- itr != vs_option_dic.end() ; ++itr) {
+ itr != vs_option_dic.end() ; ++itr) {
count_map[ itr->first ] = 0;
}
return false;
}
if ((l7vsadm_request::CMD_ADD_VS == cmd) &&
- (request.vs_element.sorry_fwdmode == virtualservice_element::FWD_NONE)) {
+ (request.vs_element.sorry_fwdmode == virtualservice_element::FWD_NONE)) {
request.vs_element.sorry_fwdmode = virtualservice_element::FWD_MASQ;
}
if ((l7vsadm_request::CMD_ADD_VS == cmd) &&
- (request.vs_element.access_log_flag == 1) && (request.vs_element.access_log_file_name.length() == 0)) {
+ (request.vs_element.access_log_flag == 1) && (request.vs_element.access_log_file_name.length() == 0)) {
std::string buf("access log file is not specified.(--access-log-name)");
l7vsadm_err.setter(true, buf);
Logger::putLogError(LOG_CAT_L7VSADM_PARSE, 89, buf, __FILE__, __LINE__);
}
// clear endpoint check (0.0.0.0:0)
if (request.vs_element.sorry_endpoint == boost::asio::ip::tcp::endpoint()) {
- request.vs_element.sorry_endpoint = boost::asio::ip::tcp::endpoint(
- boost::asio::ip::address::from_string("255.255.255.255"), 0);
- } else {
+ request.vs_element.sorry_endpoint = boost::asio::ip::tcp::endpoint(
+ boost::asio::ip::address::from_string("255.255.255.255"), 0);
+ } else {
check_endpoint<boost::asio::ip::tcp>(request.vs_element.sorry_endpoint, false, err);
if (err) {
std::stringstream buf;
{
Logger logger(LOG_CAT_L7VSADM_COMMON, 25, "l7vsadm::parse_snmp_func", __FILE__, __LINE__);
- //Argument argc is illegal
+ //Argument argc is illegal
if (argc < 3) {
//argument num err
std::stringstream buf;
{
Logger logger(LOG_CAT_L7VSADM_COMMON, 42, "l7vsadm::parse_opt_snmp_refresh_func", __FILE__, __LINE__);
if (request.snmpinfo.option_set_flag & snmp_info::SNMP_REFRESH_ALL_OPTION_FLAG
- ||request.snmpinfo.option_set_flag & snmp_info::SNMP_REFRESH_OPTION_FLAG) {
+ || request.snmpinfo.option_set_flag & snmp_info::SNMP_REFRESH_OPTION_FLAG) {
// double target commands.
std::stringstream buf;
buf << "Option ";
if (pos != 2) {
// don't target logcategory
std::string buf("Invalid option for -S command.");
- l7vsadm_err.setter(true, buf);
- Logger::putLogError(LOG_CAT_L7VSADM_PARSE, 130, buf, __FILE__, __LINE__);
- return false;
+ l7vsadm_err.setter(true, buf);
+ Logger::putLogError(LOG_CAT_L7VSADM_PARSE, 130, buf, __FILE__, __LINE__);
+ return false;
}
if (argc == 3) {
//! @param[in] argument value
bool l7vs::l7vsadm::parse_opt_snmp_vs_target_func(int &pos, int argc, char *argv[])
{
- Logger logger(LOG_CAT_L7VSADM_COMMON, 43, "l7vsadm::parse_opt_vs_target_func", __FILE__, __LINE__);
- if (request.snmpinfo.option_set_flag & snmp_info::SNMP_TCP_SERVICE_OPTION_FLAG ) {
+ Logger logger(LOG_CAT_L7VSADM_COMMON, 43, "l7vsadm::parse_opt_vs_target_func", __FILE__, __LINE__);
+ if (request.snmpinfo.option_set_flag & snmp_info::SNMP_TCP_SERVICE_OPTION_FLAG) {
std::stringstream buf;
buf << "Option ";
buf << argv[pos];
// get host endpoint from string
std::string
- src_str = argv[pos];
+ src_str = argv[pos];
error_code err;
boost::asio::ip::tcp::endpoint tmp_endpoint;
tmp_endpoint = string_to_endpoint<boost::asio::ip::tcp>(src_str, err);
{
Logger logger(LOG_CAT_L7VSADM_COMMON, 44, "l7vsadm::parse_opt_snmp_vs_module_func", __FILE__, __LINE__);
- if (request.snmpinfo.option_set_flag & snmp_info::SNMP_PROTOCOL_MODULE_OPTION_FLAG ) {
+ if (request.snmpinfo.option_set_flag & snmp_info::SNMP_PROTOCOL_MODULE_OPTION_FLAG) {
std::stringstream buf;
buf << "Option ";
buf << argv[pos];
return false;
}
- std::string module_name = argv[pos];
+ std::string module_name = argv[pos];
if (L7VS_MODNAME_LEN < module_name.length()) {
std::string buf("protomod name is too long.");
l7vsadm_err.setter(true, buf);
ctrl.unload_module(module);
- request.snmpinfo.option_set_flag |= snmp_info::SNMP_PROTOCOL_MODULE_OPTION_FLAG ;
+ request.snmpinfo.option_set_flag |= snmp_info::SNMP_PROTOCOL_MODULE_OPTION_FLAG ;
request.snmpinfo.protocol = module_name;
//! @param[in] argument value
bool l7vs::l7vsadm::parse_opt_snmp_flag_func(int &pos, int argc, char *argv[])
{
- int tmp = 0;
+ int tmp = 0;
Logger logger(LOG_CAT_L7VSADM_COMMON, 45, "l7vsadm::parse_opt_snmp_flag_func", __FILE__, __LINE__);
- if (request.snmpinfo.option_set_flag & snmp_info::SNMP_ENABLE_OPTION_FLAG ) {
+ if (request.snmpinfo.option_set_flag & snmp_info::SNMP_ENABLE_OPTION_FLAG) {
std::stringstream buf;
buf << "Option ";
buf << argv[pos];
Logger::putLogError(LOG_CAT_L7VSADM_PARSE, 138, buf.str(), __FILE__, __LINE__);
return false;
}
- if (++pos < argc) {
+ if (++pos < argc) {
try {
tmp = boost::lexical_cast< int >(argv[pos]);
- } catch (const boost::bad_lexical_cast& ex) {
+ } catch (const boost::bad_lexical_cast &ex) {
std::string buf("Invalid option value for -f option.");
l7vsadm_err.setter(true, buf);
Logger::putLogError(LOG_CAT_L7VSADM_PARSE, 139, buf, __FILE__, __LINE__);
if (tmp == 0 || tmp == 1) {
- request.snmpinfo.enabled = tmp;
+ request.snmpinfo.enabled = tmp;
request.snmpinfo.option_set_flag |= snmp_info::SNMP_ENABLE_OPTION_FLAG;
return true;
int tmp = 0;
Logger logger(LOG_CAT_L7VSADM_COMMON, 46, "l7vs::l7vsadm::parse_opt_snmp_interval_func", __FILE__, __LINE__);
- if (request.snmpinfo.option_set_flag & snmp_info::SNMP_INTERVAL_OPTION_FLAG ) {
+ if (request.snmpinfo.option_set_flag & snmp_info::SNMP_INTERVAL_OPTION_FLAG) {
std::stringstream buf;
buf << "Option ";
buf << argv[pos];
return false;
}
- if (++pos < argc) {
+ if (++pos < argc) {
try {
tmp = boost::lexical_cast< int >(argv[pos]);
- } catch (const boost::bad_lexical_cast&) {
+ } catch (const boost::bad_lexical_cast &) {
std::string buf("Invalid option value for -i option.");
l7vsadm_err.setter(true, buf);
Logger::putLogError(LOG_CAT_L7VSADM_PARSE, 143, buf, __FILE__, __LINE__);
int tmp = 0;
Logger logger(LOG_CAT_L7VSADM_COMMON, 47, "l7vs::l7vsadm::parse_opt_snmp_log_trap_func", __FILE__, __LINE__);
- if (request.snmpinfo.option_set_flag & snmp_info::SNMP_LOGTRAP_OPTION_FLAG ) {
+ if (request.snmpinfo.option_set_flag & snmp_info::SNMP_LOGTRAP_OPTION_FLAG) {
std::stringstream buf;
buf << "Option ";
buf << argv[pos];
if (++pos < argc) {
try {
tmp = boost::lexical_cast< int >(argv[pos]);
- } catch (const boost::bad_lexical_cast&) {
+ } catch (const boost::bad_lexical_cast &) {
std::string buf("Invalid option value for -t option.");
l7vsadm_err.setter(true, buf);
Logger::putLogError(LOG_CAT_L7VSADM_PARSE, 147, buf, __FILE__, __LINE__);
}
if (tmp == 0 || tmp == 1) {
- request.snmpinfo.logtrap_enabled = tmp;
+ request.snmpinfo.logtrap_enabled = tmp;
request.snmpinfo.option_set_flag |= snmp_info::SNMP_LOGTRAP_OPTION_FLAG;
" l7vsadm -R -d\n"
" l7vsadm -L -c log-category -l log-level\n"
" l7vsadm -S [-f snmp-flag] [-i update-interval] [-t log-trap-flag] [-l log-trap-level]\n"
- " l7vsadm -S -r [-t service-address -m proto-module]\n"
- " l7vsadm -P -r reload-parameter\n"
- " l7vsadm -l [-n]\n"
- " l7vsadm -V [-n]\n"
- " l7vsadm -K [-n]\n"
- " l7vsadm -h\n"
+ " l7vsadm -S -r [-t service-address -m proto-module]\n"
+ " l7vsadm -P -r reload-parameter\n"
+ " l7vsadm -l [-n]\n"
+ " l7vsadm -V [-n]\n"
+ " l7vsadm -K [-n]\n"
+ " l7vsadm -h\n"
<< std::endl;
return stream.str();
}
unsigned long long output_qos_upstream_value;
unsigned long long output_qos_downstream_value;
- const int MAX_TIME_FORMAT_LEN = 20;
+ const int MAX_TIME_FORMAT_LEN = 20;
char snmp_start_date[MAX_TIME_FORMAT_LEN] = {0};
char snmp_last_request_date[MAX_TIME_FORMAT_LEN] = {0};
char snmp_last_trap_date[MAX_TIME_FORMAT_LEN] = {0};
buf << boost::format("%s\n") % replication_mode_string_dic[response.replication_mode_status];
buf << "\n";
- //disp snmp agent status
- buf << "SNMPAgent:\n";
- if (!response.snmpinfo.enabled) {
- boost::format fmtter("%-30s inactive\n"
- "%-30s none\n"
- "%-30s none\n"
- "%-30s none\n"
- "%-30s none\n"
- "%-30s none\n"
- "%-30s none\n"
- "%-30s none\n"
- "%-30s none\n"
- "%-30s none\n");
-
- fmtter % "Agent Status";
- fmtter % "log trap status";
- fmtter % "log trap level";
- fmtter % "cache update interval";
- fmtter % "start date";
- fmtter % "last request date";
- fmtter % "last trap date";
- fmtter % "total GET requests";
- fmtter % "total SET requests";
- fmtter % "total trap counts";
-
- buf << fmtter.str();
+ //disp snmp agent status
+ buf << "SNMPAgent:\n";
+ if (!response.snmpinfo.enabled) {
+ boost::format fmtter("%-30s inactive\n"
+ "%-30s none\n"
+ "%-30s none\n"
+ "%-30s none\n"
+ "%-30s none\n"
+ "%-30s none\n"
+ "%-30s none\n"
+ "%-30s none\n"
+ "%-30s none\n"
+ "%-30s none\n");
+
+ fmtter % "Agent Status";
+ fmtter % "log trap status";
+ fmtter % "log trap level";
+ fmtter % "cache update interval";
+ fmtter % "start date";
+ fmtter % "last request date";
+ fmtter % "last trap date";
+ fmtter % "total GET requests";
+ fmtter % "total SET requests";
+ fmtter % "total trap counts";
+
+ buf << fmtter.str();
} else {
- strftime(snmp_start_date, sizeof(snmp_start_date), "%Y-%m-%d %H:%M:%S", localtime(&response.snmpinfo.start_date));
- strftime(snmp_last_request_date, sizeof(snmp_start_date), "%Y-%m-%d %H:%M:%S", localtime(&response.snmpinfo.request_last_date));
- strftime(snmp_last_trap_date, sizeof(snmp_start_date), "%Y-%m-%d %H:%M:%S", localtime(&response.snmpinfo.trap_last_date));
-
- boost::format fmtter("%-30s active\n"
- "%-30s %s\n"
- "%-30s %s\n"
- "%-30s %d\n"
- "%-30s %s\n"
- "%-30s %s\n"
- "%-30s %s\n"
- "%-30s %u\n"
- "%-30s %u\n"
- "%-30s %u\n");
-
- fmtter % "Agent Status";
- fmtter % "log trap status";
- fmtter % (response.snmpinfo.logtrap_enabled ? "on" : "off");
- fmtter % "log trap level";
- fmtter % (response.snmpinfo.logtrap_enabled ? loglevel_string_dic[response.snmpinfo.logtrap_level] : "none" );
- fmtter % "cache update interval" % response.snmpinfo.interval;
- fmtter % "start date" % (response.snmpinfo.start_date == 0 ? "none" : snmp_start_date);
- fmtter % "last request date" % (response.snmpinfo.request_last_date == 0 ? "none" : snmp_last_request_date);
- fmtter % "last trap date" % (response.snmpinfo.trap_last_date == 0 ? "none" : snmp_last_trap_date);
- fmtter % "total GET requests" % response.snmpinfo.snmp_get_requests;
- fmtter % "total SET requests" % response.snmpinfo.snmp_set_requests;
- fmtter % "total trap counts" % response.snmpinfo.snmp_trap_count;
- buf << fmtter.str();
+ strftime(snmp_start_date, sizeof(snmp_start_date), "%Y-%m-%d %H:%M:%S", localtime(&response.snmpinfo.start_date));
+ strftime(snmp_last_request_date, sizeof(snmp_start_date), "%Y-%m-%d %H:%M:%S", localtime(&response.snmpinfo.request_last_date));
+ strftime(snmp_last_trap_date, sizeof(snmp_start_date), "%Y-%m-%d %H:%M:%S", localtime(&response.snmpinfo.trap_last_date));
+
+ boost::format fmtter("%-30s active\n"
+ "%-30s %s\n"
+ "%-30s %s\n"
+ "%-30s %d\n"
+ "%-30s %s\n"
+ "%-30s %s\n"
+ "%-30s %s\n"
+ "%-30s %u\n"
+ "%-30s %u\n"
+ "%-30s %u\n");
+
+ fmtter % "Agent Status";
+ fmtter % "log trap status";
+ fmtter % (response.snmpinfo.logtrap_enabled ? "on" : "off");
+ fmtter % "log trap level";
+ fmtter % (response.snmpinfo.logtrap_enabled ? loglevel_string_dic[response.snmpinfo.logtrap_level] : "none");
+ fmtter % "cache update interval" % response.snmpinfo.interval;
+ fmtter % "start date" % (response.snmpinfo.start_date == 0 ? "none" : snmp_start_date);
+ fmtter % "last request date" % (response.snmpinfo.request_last_date == 0 ? "none" : snmp_last_request_date);
+ fmtter % "last trap date" % (response.snmpinfo.trap_last_date == 0 ? "none" : snmp_last_trap_date);
+ fmtter % "total GET requests" % response.snmpinfo.snmp_get_requests;
+ fmtter % "total SET requests" % response.snmpinfo.snmp_set_requests;
+ fmtter % "total trap counts" % response.snmpinfo.snmp_trap_count;
+ buf << fmtter.str();
}
}
buf << boost::format("%s %s %s %s %s\n")
- % (vse.udpmode ? "UDP" : "TCP")
- % vsepstr
- % vse.protocol_module_name
- % vse.schedule_module_name
- % vse.protocol_module_for_indication_options;
+ % (vse.udpmode ? "UDP" : "TCP")
+ % vsepstr
+ % vse.protocol_module_name
+ % vse.schedule_module_name
+ % vse.protocol_module_for_indication_options;
BOOST_FOREACH(realserver_element rse, vse.realserver_vector) {
std::string rsepstr;
sorryepstr = "none";
} else {
sorryepstr = endpoint_to_string<boost::asio::ip::tcp>(vse.sorry_endpoint,
- numeric_flag) + " " + vse.get_fwdmode_str();
+ numeric_flag) + " " + vse.get_fwdmode_str();
}
if (vse.sorry_flag) {
" Sorry Server %s\n"
" Max Connection %lld\n"
" Sorry Flag %s\n")
- % sorryepstr
- % vse.sorry_maxconnection
- % sorry_flag_str;
+ % sorryepstr
+ % vse.sorry_maxconnection
+ % sorry_flag_str;
}
buf << boost::format(" SSL Settings:\n"
" SSL Config File %s\n")
- % ((0 == vse.ssl_file_name.length()) ? "none" : vse.ssl_file_name);
+ % ((0 == vse.ssl_file_name.length()) ? "none" : vse.ssl_file_name);
buf << boost::format(" Logging Settings:\n"
" Access Log %s\n"
" Access Log File %s\n"
" Access Log Rotate %s\n")
- % ((0 == vse.access_log_flag) ? "off" : "on")
- % ((0 == vse.access_log_file_name.length()) ? "none" : vse.access_log_file_name)
- % ((0 == vse.access_log_rotate_verbose_info.length()) ? "none" : vse.access_log_rotate_verbose_info);
+ % ((0 == vse.access_log_flag) ? "off" : "on")
+ % ((0 == vse.access_log_file_name.length()) ? "none" : vse.access_log_file_name)
+ % ((0 == vse.access_log_rotate_verbose_info.length()) ? "none" : vse.access_log_rotate_verbose_info);
buf << boost::format(" Socket Settings:\n"
" TCP_DEFER_ACCEPT %s\n"
" TCP_NODELAY %s\n"
" TCP_CORK %s\n"
" TCP_QUICKACK %s\n")
- % ((0 == vse.socket_option_tcp_defer_accept) ? "disable" : "enable")
- % ((0 == vse.socket_option_tcp_nodelay) ? "disable" : "enable")
- % ((0 == vse.socket_option_tcp_cork) ? "disable" : "enable")
- % ((0 == vse.socket_option_tcp_quickack) ? "auto" : ((1 == vse.socket_option_tcp_quickack) ? "enable" : "disable"));
+ % ((0 == vse.socket_option_tcp_defer_accept) ? "disable" : "enable")
+ % ((0 == vse.socket_option_tcp_nodelay) ? "disable" : "enable")
+ % ((0 == vse.socket_option_tcp_cork) ? "disable" : "enable")
+ % ((0 == vse.socket_option_tcp_quickack) ? "auto" : ((1 == vse.socket_option_tcp_quickack) ? "enable" : "disable"));
buf << boost::format(" Throughput:\n"
" Current Upload / Limit %f Mbps / %f Mbps\n"
" Current Download / Limit %f Mbps / %f Mbps\n")
- % ((double)vse.throughput_upstream * 8 / (1000 * 1000)) % ((double)output_qos_upstream_value / (1000 * 1000) )
- % ((double)vse.throughput_downstream * 8 / (1000 * 1000)) % ((double)output_qos_downstream_value / (1000 * 1000));
+ % ((double)vse.throughput_upstream * 8 / (1000 * 1000)) % ((double)output_qos_upstream_value / (1000 * 1000))
+ % ((double)vse.throughput_downstream * 8 / (1000 * 1000)) % ((double)output_qos_downstream_value / (1000 * 1000));
buf << boost::format(" Statistics:\n"
" HTTP Total Requests %lld\n"
" HTTP GET Requests %lld\n"
" HTTP POST Requests %lld\n")
- % vse.http_total_count % vse.http_get_count % vse.http_post_count;
+ % vse.http_total_count % vse.http_get_count % vse.http_post_count;
}
log_option_dic["--level"] = boost::bind(&l7vsadm::parse_opt_log_level_func, this, _1, _2, _3);
// snmp agent option function dictionary create
- snmp_option_dic["-r"] = boost::bind(&l7vsadm::parse_opt_snmp_refresh_func, this, _1, _2, _3);
+ snmp_option_dic["-r"] = boost::bind(&l7vsadm::parse_opt_snmp_refresh_func, this, _1, _2, _3);
snmp_option_dic["--refresh"] = boost::bind(&l7vsadm::parse_opt_snmp_refresh_func, this, _1, _2, _3);
snmp_option_dic["-f"] = boost::bind(&l7vsadm::parse_opt_snmp_flag_func, this, _1, _2, _3);
snmp_option_dic["--flag"] = boost::bind(&l7vsadm::parse_opt_snmp_flag_func, this, _1, _2, _3);
string_logcategory_dic["l7vsd_system_environment"] = LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT;
string_logcategory_dic["sys_env"] = LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT;
logcategory_string_dic[LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT] = "l7vsd_system_environment";
- string_logcategory_dic["l7vsd_snmpagent"] = LOG_CAT_L7VSD_SNMPAGENT;
+ string_logcategory_dic["l7vsd_snmpagent"] = LOG_CAT_L7VSD_SNMPAGENT;
string_logcategory_dic["agent"] = LOG_CAT_L7VSD_SNMPAGENT;
logcategory_string_dic[LOG_CAT_L7VSD_SNMPAGENT] = "l7vsd_snmpagent";
string_logcategory_dic["l7vsd_protocol"] = LOG_CAT_PROTOCOL;
command_wait_interval = L7VSADM_DEFAULT_WAIT_INTERVAL;
std::stringstream msg;
msg << boost::format("Illegal cmd_interval parameter value. Use default value(%s).")
- % L7VSADM_DEFAULT_WAIT_INTERVAL;
+ % L7VSADM_DEFAULT_WAIT_INTERVAL;
Logger::putLogWarn(LOG_CAT_L7VSADM_COMMON, 1, msg.str(), __FILE__, __LINE__);
}
} else {
command_wait_interval = L7VSADM_DEFAULT_WAIT_INTERVAL;
std::stringstream msg;
msg << boost::format("Get cmd_interval parameter error. Use default value(%s).")
- % L7VSADM_DEFAULT_WAIT_INTERVAL;
+ % L7VSADM_DEFAULT_WAIT_INTERVAL;
Logger::putLogWarn(LOG_CAT_L7VSADM_COMMON, 2, msg.str(), __FILE__, __LINE__);
}
command_wait_count = L7VSADM_DEFAULT_WAIT_COUNT;
std::stringstream msg;
msg << boost::format("Illegal cmd_count parameter value. Use default value(%s).")
- % L7VSADM_DEFAULT_WAIT_COUNT;
+ % L7VSADM_DEFAULT_WAIT_COUNT;
Logger::putLogWarn(LOG_CAT_L7VSADM_COMMON, 3, msg.str(), __FILE__, __LINE__);
}
} else {
command_wait_count = L7VSADM_DEFAULT_WAIT_COUNT;
std::stringstream msg;
msg << boost::format("Get cmd_count parameter error. Use default value(%s).")
- % L7VSADM_DEFAULT_WAIT_COUNT;
+ % L7VSADM_DEFAULT_WAIT_COUNT;
Logger::putLogWarn(LOG_CAT_L7VSADM_COMMON, 4, msg.str(), __FILE__, __LINE__);
}
command_wait_count = L7VSADM_DEFAULT_WAIT_COUNT;
std::stringstream msg;
msg << boost::format("Command wait value too long. Use default value(%s).")
- % L7VSADM_DEFAULT_WAIT_COUNT;
+ % L7VSADM_DEFAULT_WAIT_COUNT;
Logger::putLogWarn(LOG_CAT_L7VSADM_COMMON, 9, msg.str(), __FILE__, __LINE__);
}
}
//! constructor
l7vsd::l7vsd()
: help(false),
- debug(false),
+ debug(false),
exit_requested(0),
received_sig(0)
{
option_dic["-h"] = boost::bind(&l7vsd::parse_help, this, _1, _2, _3);
option_dic["--help"] = boost::bind(&l7vsd::parse_help, this, _1, _2, _3);
- option_dic["-d"] = boost::bind(&l7vsd::parse_debug, this, _1, _2, _3);
- option_dic["--debug"] = boost::bind(&l7vsd::parse_debug, this, _1, _2, _3);
+ option_dic["-d"] = boost::bind(&l7vsd::parse_debug, this, _1, _2, _3);
+ option_dic["--debug"] = boost::bind(&l7vsd::parse_debug, this, _1, _2, _3);
starttime = boost::posix_time::second_clock::local_time();
}
// get all category log level
Logger::getLogLevelAll(response->log_status_list);
- //get snmp info
- response->snmpinfo = snmpagent::get_snmp_info();
+ //get snmp info
+ response->snmpinfo = snmpagent::get_snmp_info();
// calc total bps
unsigned long long total_bytes =
} else {
oss << in_vselement->udp_recv_endpoint.address().to_string() << ":" << in_vselement->udp_recv_endpoint.port();
}
- }
- else {
+ } else {
if (in_vselement->tcp_accept_endpoint.address().is_v6()) {
oss << "[" << in_vselement->tcp_accept_endpoint.address().to_string() << "]:" << in_vselement->tcp_accept_endpoint.port();
} else {
trap_msg.message = oss.str();
- error_code err_code;
+ error_code err_code;
//push the trap message
snmpagent::push_trapmessage(trap_msg, err_code);
} else {
oss << in_vselement->udp_recv_endpoint.address().to_string() << ":" << in_vselement->udp_recv_endpoint.port();
}
- }
- else {
+ } else {
if (in_vselement->tcp_accept_endpoint.address().is_v6()) {
oss << "[" << in_vselement->tcp_accept_endpoint.address().to_string() << "]:" << in_vselement->tcp_accept_endpoint.port();
} else {
trap_msg.message = oss.str();
- error_code err_code;
+ error_code err_code;
//push the trap message
snmpagent::push_trapmessage(trap_msg, err_code);
} else {
oss << in_vselement->udp_recv_endpoint.address().to_string() << ":" << in_vselement->udp_recv_endpoint.port();
}
- }
- else {
+ } else {
if (in_vselement->tcp_accept_endpoint.address().is_v6()) {
oss << "[" << in_vselement->tcp_accept_endpoint.address().to_string() << "]:" << in_vselement->tcp_accept_endpoint.port();
} else {
trap_msg.message = oss.str();
- error_code err_code;
+ error_code err_code;
//push the trap message
- snmpagent::push_trapmessage(trap_msg, err_code);
+ snmpagent::push_trapmessage(trap_msg, err_code);
if (err_code) {
std::string msg("Push trap message failed.");
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 126, msg, __FILE__, __LINE__);
- }
+ }
} else {
std::string msg("virtual service not found.");
} else {
oss << in_vselement->udp_recv_endpoint.address().to_string() << ":" << in_vselement->udp_recv_endpoint.port();
}
- }
- else {
+ } else {
if (in_vselement->tcp_accept_endpoint.address().is_v6()) {
oss << "[" << in_vselement->tcp_accept_endpoint.address().to_string() << "]:" << in_vselement->tcp_accept_endpoint.port();
} else {
} else {
oss << ",rs:" << elem.udp_endpoint.address().to_string() << ":" << elem.udp_endpoint.port();
}
- }
- else {
+ } else {
if (elem.tcp_endpoint.address().is_v6()) {
oss << ",rs:[" << elem.tcp_endpoint.address().to_string() << "]:" << elem.tcp_endpoint.port();
} else {
trap_msg.message = oss.str();
- error_code err_code;
+ error_code err_code;
//push the trap message
- snmpagent::push_trapmessage(trap_msg, err_code);
+ snmpagent::push_trapmessage(trap_msg, err_code);
if (err_code) {
std::string msg("Push trap message failed.");
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 127, msg, __FILE__, __LINE__);
- }
+ }
} else {
} else {
oss << in_vselement->udp_recv_endpoint.address().to_string() << ":" << in_vselement->udp_recv_endpoint.port();
}
- }
- else {
+ } else {
if (in_vselement->tcp_accept_endpoint.address().is_v6()) {
oss << "[" << in_vselement->tcp_accept_endpoint.address().to_string() << "]:" << in_vselement->tcp_accept_endpoint.port();
} else {
} else {
oss << ",rs:" << elem.udp_endpoint.address().to_string() << ":" << elem.udp_endpoint.port();
}
- }
- else {
+ } else {
if (elem.tcp_endpoint.address().is_v6()) {
oss << ",rs:[" << elem.tcp_endpoint.address().to_string() << "]:" << elem.tcp_endpoint.port();
} else {
trap_msg.message = oss.str();
- error_code err_code;
+ error_code err_code;
//push the trap message
snmpagent::push_trapmessage(trap_msg, err_code);
} else {
oss << in_vselement->udp_recv_endpoint.address().to_string() << ":" << in_vselement->udp_recv_endpoint.port();
}
- }
- else {
+ } else {
if (in_vselement->tcp_accept_endpoint.address().is_v6()) {
oss << "[" << in_vselement->tcp_accept_endpoint.address().to_string() << "]:" << in_vselement->tcp_accept_endpoint.port();
} else {
} else {
oss << ",rs:" << elem.udp_endpoint.address().to_string() << ":" << elem.udp_endpoint.port();
}
- }
- else {
+ } else {
if (elem.tcp_endpoint.address().is_v6()) {
oss << ",rs:[" << elem.tcp_endpoint.address().to_string() << "]:" << elem.tcp_endpoint.port();
} else {
trap_msg.message = oss.str();
- error_code err_code;
+ error_code err_code;
//push the trap message
snmpagent::push_trapmessage(trap_msg, err_code);
} else {
//create trap message
trapmessage trap_msg;
- trap_msg.type = trapmessage::VIRTUALSERVICE_REMOVE;
+ trap_msg.type = trapmessage::VIRTUALSERVICE_REMOVE;
std::ostringstream oss;
oss << "TRAP00020003,A virtual service was eliminated.vs:";
} else {
oss << (*itr)->get_element().udp_recv_endpoint.address().to_string() << ":" << (*itr)->get_element().udp_recv_endpoint.port();
}
- }
- else {
+ } else {
if ((*itr)->get_element().tcp_accept_endpoint.address().is_v6()) {
oss << "[" << (*itr)->get_element().tcp_accept_endpoint.address().to_string() << "]:" << (*itr)->get_element().tcp_accept_endpoint.port();
} else {
trap_msg.message = oss.str();
- error_code err_code;
+ error_code err_code;
//push the trap message
snmpagent::push_trapmessage(trap_msg, err_code);
}
-void l7vsd::set_snmp_info(const snmp_info* info, error_code &err)
+void l7vsd::set_snmp_info(const snmp_info *info, error_code &err)
{
Logger logger(LOG_CAT_L7VSD_MAINTHREAD, 42, "l7vsd::set_snmp_info", __FILE__, __LINE__);
}
/*------ DEBUG LOG END ------*/
- if (info->option_set_flag & snmp_info::SNMP_ENABLE_OPTION_FLAG)
- {
- if(info->enabled) {
- snmpagent::enable();
- }
- else {
- snmpagent::disable();
+ if (info->option_set_flag & snmp_info::SNMP_ENABLE_OPTION_FLAG) {
+ if (info->enabled) {
+ snmpagent::enable();
+ } else {
+ snmpagent::disable();
+ }
}
- }
- if (info->option_set_flag & snmp_info::SNMP_LOGTRAP_OPTION_FLAG)
- {
- if(info->logtrap_enabled) {
- snmpagent::logtrap_enable();
+ if (info->option_set_flag & snmp_info::SNMP_LOGTRAP_OPTION_FLAG) {
+ if (info->logtrap_enabled) {
+ snmpagent::logtrap_enable();
+ } else {
+ snmpagent::logtrap_disable();
+ }
}
- else {
- snmpagent::logtrap_disable();
+
+ if (info->option_set_flag & snmp_info::SNMP_LOGTRAP_LEVEL_OPTION_FLAG) {
+ snmpagent::set_logtrap_level(info->logtrap_level);
}
- }
-
- if (info->option_set_flag & snmp_info::SNMP_LOGTRAP_LEVEL_OPTION_FLAG)
- {
- snmpagent::set_logtrap_level(info->logtrap_level);
- }
-
- if (info->option_set_flag & snmp_info::SNMP_INTERVAL_OPTION_FLAG)
- {
- snmpagent::set_interval(info->interval);
- }
-
- if (info->option_set_flag & snmp_info::SNMP_REFRESH_OPTION_FLAG)
- {
- {
- boost::mutex::scoped_lock vslist_lock(vslist_mutex);
- virtualservice_element element;
- element.udpmode = false;
- element.tcp_accept_endpoint = info->vs_endpoint;
- element.protocol_module_name = info->protocol;
- vslist_type::iterator it = search_vslist(element, true);
- if (it == vslist.end())
- {
- std::string msg("virtual service not found.");
- Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 29, msg, __FILE__, __LINE__);
- err.setter(true, msg);
- return;
- }
+ if (info->option_set_flag & snmp_info::SNMP_INTERVAL_OPTION_FLAG) {
+ snmpagent::set_interval(info->interval);
}
- snmpagent::refresh_statistics(info->vs_endpoint, info->protocol);
- }
+ if (info->option_set_flag & snmp_info::SNMP_REFRESH_OPTION_FLAG) {
+ {
+ boost::mutex::scoped_lock vslist_lock(vslist_mutex);
+ virtualservice_element element;
+ element.udpmode = false;
+ element.tcp_accept_endpoint = info->vs_endpoint;
+ element.protocol_module_name = info->protocol;
+ vslist_type::iterator it = search_vslist(element, true);
+ if (it == vslist.end()) {
+ std::string msg("virtual service not found.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 29, msg, __FILE__, __LINE__);
+
+ err.setter(true, msg);
+ return;
+ }
+ }
- if (info->option_set_flag & snmp_info::SNMP_REFRESH_ALL_OPTION_FLAG)
- {
- snmpagent::refresh_all_statistics();
- }
+ snmpagent::refresh_statistics(info->vs_endpoint, info->protocol);
+ }
+
+ if (info->option_set_flag & snmp_info::SNMP_REFRESH_ALL_OPTION_FLAG) {
+ snmpagent::refresh_all_statistics();
+ }
}
//! @return replication_ptr
replication::REPLICATION_MODE_TAG l7vsd::get_replication_state() const
{
- return rep->get_status();
+ return rep->get_status();
}
return 0;
}
- if( !debug ){
- if (0 > daemon(0, 0)) {
- std::stringstream buf;
- buf << "daemon() failed: " << strerror(errno);
- logger.putLogError(LOG_CAT_L7VSD_MAINTHREAD, 3, buf.str(), __FILE__, __LINE__);
- munlockall();
- return -1;
- }
- }
+ if (!debug) {
+ if (0 > daemon(0, 0)) {
+ std::stringstream buf;
+ buf << "daemon() failed: " << strerror(errno);
+ logger.putLogError(LOG_CAT_L7VSD_MAINTHREAD, 3, buf.str(), __FILE__, __LINE__);
+ munlockall();
+ return -1;
+ }
+ }
//set max file open num
Parameter param;
snmpagent agent(this);
// snmp trap function set
- Logger::set_snmp_send_trap_func( boost::bind( &snmpagent::push_trapmessage, _1, _2 ) );
+ Logger::set_snmp_send_trap_func(boost::bind(&snmpagent::push_trapmessage, _1, _2));
error_code err_code;
boost::this_thread::yield();
}
- // snmp trap function unset
- Logger::set_snmp_send_trap_func(NULL);
+ // snmp trap function unset
+ Logger::set_snmp_send_trap_func(NULL);
// check snmp function enabled
if (snmpagent::get_snmp_info().enabled) {
}
//! command debug parse
-bool l7vsd::parse_debug( int& pos, int argc, char* argv[] ){
- Logger logger(LOG_CAT_L7VSD_MAINTHREAD, 38, "l7vsd::parse_help", __FILE__, __LINE__);
- debug = true;
- return true;
+bool l7vsd::parse_debug(int &pos, int argc, char *argv[])
+{
+ Logger logger(LOG_CAT_L7VSD_MAINTHREAD, 38, "l7vsd::parse_help", __FILE__, __LINE__);
+ debug = true;
+ return true;
}
//! create usage string
* set log trap enable.
* @retrun void
*/
-void l7vs::Logger::logtrap_enable() {
+void l7vs::Logger::logtrap_enable()
+{
LoggerImpl::getInstance().logtrap_enable();
}
* set log trap disable.
* @retrun void
*/
-void l7vs::Logger::logtrap_disable() {
+void l7vs::Logger::logtrap_disable()
+{
LoggerImpl::getInstance().logtrap_disable();
}
* @param log trap level
* @retrun void
*/
-void l7vs::Logger::set_logtrap_level(LOG_LEVEL_TAG in_logtrap_level) {
+void l7vs::Logger::set_logtrap_level(LOG_LEVEL_TAG in_logtrap_level)
+{
LoggerImpl::getInstance().set_logtrap_level(in_logtrap_level);
}
namespace l7vs
{
- /*!
- * update virtual service table information.
- *
- * @param l7vsd * l7vsd pointer
- * @param error_code & error code
- * @retrun void
- */
- void mibdata::update_vs_table(l7vsd *in_vsd, error_code& err)
+/*!
+ * update virtual service table information.
+ *
+ * @param l7vsd * l7vsd pointer
+ * @param error_code & error code
+ * @retrun void
+ */
+void mibdata::update_vs_table(l7vsd *in_vsd, error_code &err)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 63, "mibdata::update_vs_table", __FILE__, __LINE__);
+
+ if (in_vsd == NULL) {
+ std::string msg("in_vsd pointer is NULL.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 11, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
+ }
+
+ if (vs_table == NULL) {
+ std::string msg("vs_table pointer is NULL.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 12, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
+ }
+
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "mibdata::update_vs_table arguments:";
+ debugstr << boost::format("in_vsd=%p") % in_vsd;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 64, debugstr.str(), __FILE__, __LINE__);
+ }
+ /*------ DEBUG LOG END ------*/
+
+ oid index[1] = {0};
+ netsnmp_table_row *row = NULL;
+ int vs_index = 0;
+ std::vector<rsdata> rs_vector;
+
+ int protocol = 0;
+ char vs_ipaddress[L7VS_IPADDR_LEN] = {0};
+ char sorry_ipaddress[L7VS_IPADDR_LEN] = {0};
+ int vs_ipaddress_type = SNMP_IPV4;
+ int sorry_ipaddress_type = SNMP_IPV4;
+ int vs_port = 0;
+ int sorry_port = 0;
+ int sorry_flag = 0;
+ unsigned long long http_requests_tmp = 0;
+ unsigned long long http_get_requests_tmp = 0;
+ unsigned long long http_post_requests_tmp = 0;
+
+ struct counter64 sorry_maxconnection = {
+ 0
+ };
+ struct counter64 throughput_upstream = {
+ 0
+ };
+ struct counter64 throughput_downstream = {
+ 0
+ };
+ struct counter64 qos_upstream = {
+ 0
+ };
+ struct counter64 qos_downstream = {
+ 0
+ };
+ struct counter64 http_requests = {
+ 0
+ };
+ struct counter64 http_get_requests = {
+ 0
+ };
+ struct counter64 http_post_requests = {
+ 0
+ };
+
+ int pool_session_count = 0;
+ int active_session_count = 0;
+ int waiting_session_count = 0;
+
+ //get virtualservice list mutex
+ boost::mutex &virtualservice_list_mutex = in_vsd->get_virtualservice_list_mutex();
{
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 63, "mibdata::update_vs_table", __FILE__, __LINE__);
-
- if (in_vsd == NULL) {
- std::string msg("in_vsd pointer is NULL.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 11, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- }
+ boost::mutex::scoped_lock lock(virtualservice_list_mutex);
- if (vs_table == NULL) {
- std::string msg("vs_table pointer is NULL.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 12, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- }
+ l7vsd::vslist_type &virtualservice_list = in_vsd->get_virtualservice_list();
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "mibdata::update_vs_table arguments:";
- debugstr << boost::format("in_vsd=%p") % in_vsd;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 64, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
-
- oid index[1] = {0};
- netsnmp_table_row *row = NULL;
- int vs_index = 0;
- std::vector<rsdata> rs_vector;
-
- int protocol = 0;
- char vs_ipaddress[L7VS_IPADDR_LEN] = {0};
- char sorry_ipaddress[L7VS_IPADDR_LEN] = {0};
- int vs_ipaddress_type = SNMP_IPV4;
- int sorry_ipaddress_type = SNMP_IPV4;
- int vs_port = 0;
- int sorry_port = 0;
- int sorry_flag = 0;
- unsigned long long http_requests_tmp = 0;
- unsigned long long http_get_requests_tmp = 0;
- unsigned long long http_post_requests_tmp = 0;
-
- struct counter64 sorry_maxconnection = {
- 0
- };
- struct counter64 throughput_upstream = {
- 0
- };
- struct counter64 throughput_downstream = {
- 0
- };
- struct counter64 qos_upstream = {
- 0
- };
- struct counter64 qos_downstream = {
- 0
- };
- struct counter64 http_requests = {
- 0
- };
- struct counter64 http_get_requests = {
- 0
- };
- struct counter64 http_post_requests = {
- 0
- };
-
- int pool_session_count = 0;
- int active_session_count = 0;
- int waiting_session_count = 0;
-
- //get virtualservice list mutex
- boost::mutex &virtualservice_list_mutex = in_vsd->get_virtualservice_list_mutex();
- {
- boost::mutex::scoped_lock lock(virtualservice_list_mutex);
-
- l7vsd::vslist_type &virtualservice_list = in_vsd->get_virtualservice_list();
-
- //delete the surplus data from vs table
- if (virtualservice_list.size() < static_cast<size_t>(vs_table_size)) {
- for (size_t i = vs_table_size; i > virtualservice_list.size(); i--) {
- index[0] = i;
- row = netsnmp_table_data_get_from_oid(vs_table->table, index, 1);
- if (row == NULL) continue;
- netsnmp_table_dataset_remove_and_delete_row(vs_table, row);
- }
+ //delete the surplus data from vs table
+ if (virtualservice_list.size() < static_cast<size_t>(vs_table_size)) {
+ for (size_t i = vs_table_size; i > virtualservice_list.size(); i--) {
+ index[0] = i;
+ row = netsnmp_table_data_get_from_oid(vs_table->table, index, 1);
+ if (row == NULL) continue;
+ netsnmp_table_dataset_remove_and_delete_row(vs_table, row);
}
+ }
- //set virtual service table size
- vs_table_size = virtualservice_list.size();
+ //set virtual service table size
+ vs_table_size = virtualservice_list.size();
- //update virtual service table
- for (l7vsd::vslist_type::iterator it = virtualservice_list.begin();
- it != virtualservice_list.end(); it++) {
- //increment virtual service index
- vs_index++;
- index[0] = vs_index;
+ //update virtual service table
+ for (l7vsd::vslist_type::iterator it = virtualservice_list.begin();
+ it != virtualservice_list.end(); it++) {
+ //increment virtual service index
+ vs_index++;
+ index[0] = vs_index;
- //get row pointer
- row = netsnmp_table_data_get_from_oid(vs_table->table, index, 1);
+ //get row pointer
+ row = netsnmp_table_data_get_from_oid(vs_table->table, index, 1);
+ if (row == NULL) {
+ row = netsnmp_create_table_data_row();
if (row == NULL) {
- row = netsnmp_create_table_data_row();
- if (row == NULL) {
- std::string msg("create virtualservice table row failed.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 13, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- } else {
+ std::string msg("create virtualservice table row failed.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 13, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
+ } else {
- netsnmp_table_row_add_index(row, ASN_INTEGER, (void*)index, sizeof(int));
- netsnmp_table_dataset_add_row(vs_table, row);
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "function : mibdata::update_vs_table : vs_table add row.";
- debugstr << "vs_index=" << vs_index;
-
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 65, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ netsnmp_table_row_add_index(row, ASN_INTEGER, (void *)index, sizeof(int));
+ netsnmp_table_dataset_add_row(vs_table, row);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "function : mibdata::update_vs_table : vs_table add row.";
+ debugstr << "vs_index=" << vs_index;
+
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 65, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
}
+ }
- virtualservice_element &srv = (*it)->get_element();
+ virtualservice_element &srv = (*it)->get_element();
- //get virtual service IP address information
- if (srv.udpmode) {
- protocol = SNMP_IPPROTO_UDP;
- if (srv.udp_recv_endpoint.address().is_v4()) {
- strncpy(vs_ipaddress, srv.udp_recv_endpoint.address().to_v4().to_string().c_str(), L7VS_IPADDR_LEN);
- } else {
- strncpy(vs_ipaddress, srv.udp_recv_endpoint.address().to_v6().to_string().c_str(), L7VS_IPADDR_LEN);
- vs_ipaddress_type = SNMP_IPV6;
- }
- vs_port = srv.udp_recv_endpoint.port();
+ //get virtual service IP address information
+ if (srv.udpmode) {
+ protocol = SNMP_IPPROTO_UDP;
+ if (srv.udp_recv_endpoint.address().is_v4()) {
+ strncpy(vs_ipaddress, srv.udp_recv_endpoint.address().to_v4().to_string().c_str(), L7VS_IPADDR_LEN);
} else {
- protocol = SNMP_IPPROTO_TCP;
- if (srv.tcp_accept_endpoint.address().is_v4()) {
- strncpy(vs_ipaddress, srv.tcp_accept_endpoint.address().to_v4().to_string().c_str(), L7VS_IPADDR_LEN);
- } else {
- strncpy(vs_ipaddress, srv.tcp_accept_endpoint.address().to_v6().to_string().c_str(), L7VS_IPADDR_LEN);
- vs_ipaddress_type = SNMP_IPV6;
- }
- vs_port = srv.tcp_accept_endpoint.port();
+ strncpy(vs_ipaddress, srv.udp_recv_endpoint.address().to_v6().to_string().c_str(), L7VS_IPADDR_LEN);
+ vs_ipaddress_type = SNMP_IPV6;
}
-
- //get sorry server IP address information
- if (srv.sorry_endpoint.address().is_v4()) {
- strncpy(sorry_ipaddress, srv.sorry_endpoint.address().to_v4().to_string().c_str(), L7VS_IPADDR_LEN);
+ vs_port = srv.udp_recv_endpoint.port();
+ } else {
+ protocol = SNMP_IPPROTO_TCP;
+ if (srv.tcp_accept_endpoint.address().is_v4()) {
+ strncpy(vs_ipaddress, srv.tcp_accept_endpoint.address().to_v4().to_string().c_str(), L7VS_IPADDR_LEN);
} else {
- strncpy(sorry_ipaddress, srv.sorry_endpoint.address().to_v6().to_string().c_str(), L7VS_IPADDR_LEN);
- sorry_ipaddress_type = SNMP_IPV6;
+ strncpy(vs_ipaddress, srv.tcp_accept_endpoint.address().to_v6().to_string().c_str(), L7VS_IPADDR_LEN);
+ vs_ipaddress_type = SNMP_IPV6;
}
- sorry_port = srv.sorry_endpoint.port();
+ vs_port = srv.tcp_accept_endpoint.port();
+ }
- sorry_flag = (srv.sorry_flag == 1) ? 1 : 2;
+ //get sorry server IP address information
+ if (srv.sorry_endpoint.address().is_v4()) {
+ strncpy(sorry_ipaddress, srv.sorry_endpoint.address().to_v4().to_string().c_str(), L7VS_IPADDR_LEN);
+ } else {
+ strncpy(sorry_ipaddress, srv.sorry_endpoint.address().to_v6().to_string().c_str(), L7VS_IPADDR_LEN);
+ sorry_ipaddress_type = SNMP_IPV6;
+ }
+ sorry_port = srv.sorry_endpoint.port();
- //get protocol module option string
- std::stringstream protocol_module_arg;
- BOOST_FOREACH(std::string str, srv.protocol_args) {
- protocol_module_arg << str << " ";
- }
+ sorry_flag = (srv.sorry_flag == 1) ? 1 : 2;
- //set schedule module option string
- std::string schedule_module_arg(" ");
-
- //set ssl flag
- int ssl_flag = srv.ssl_file_name == "" ? 0 : 1;
-
- //set realserver size
- int rs_size = srv.realserver_vector.size();
-
- //get http statistics
- protocol_module_base *protocol_module_ptr = (*it)->get_protocol_module();
- stats_base& base_stats = protocol_module_ptr->get_stats();
- if ( base_stats.get_mode() == stats_base::MODE_HTTP ) {
- http_stats &httpstats = static_cast<http_stats&>(base_stats);
- http_requests_tmp = httpstats.http_requests.get();
- http_get_requests_tmp = httpstats.http_get_requests.get();
- http_post_requests_tmp = httpstats.http_post_requests.get();
- //convert to counter64
- http_requests.low = http_requests_tmp & 0xFFFFFFFF;
- http_requests.high = http_requests_tmp >> 32;
- http_get_requests.low = http_get_requests_tmp & 0xFFFFFFFF;
- http_get_requests.high = http_get_requests_tmp >> 32;
- http_post_requests.low = http_post_requests_tmp & 0xFFFFFFFF;
- http_post_requests.high = http_post_requests_tmp >> 32;
- }
+ //get protocol module option string
+ std::stringstream protocol_module_arg;
+ BOOST_FOREACH(std::string str, srv.protocol_args) {
+ protocol_module_arg << str << " ";
+ }
+
+ //set schedule module option string
+ std::string schedule_module_arg(" ");
+
+ //set ssl flag
+ int ssl_flag = srv.ssl_file_name == "" ? 0 : 1;
+
+ //set realserver size
+ int rs_size = srv.realserver_vector.size();
+
+ //get http statistics
+ protocol_module_base *protocol_module_ptr = (*it)->get_protocol_module();
+ stats_base &base_stats = protocol_module_ptr->get_stats();
+ if (base_stats.get_mode() == stats_base::MODE_HTTP) {
+ http_stats &httpstats = static_cast<http_stats &>(base_stats);
+ http_requests_tmp = httpstats.http_requests.get();
+ http_get_requests_tmp = httpstats.http_get_requests.get();
+ http_post_requests_tmp = httpstats.http_post_requests.get();
+ //convert to counter64
+ http_requests.low = http_requests_tmp & 0xFFFFFFFF;
+ http_requests.high = http_requests_tmp >> 32;
+ http_get_requests.low = http_get_requests_tmp & 0xFFFFFFFF;
+ http_get_requests.high = http_get_requests_tmp >> 32;
+ http_post_requests.low = http_post_requests_tmp & 0xFFFFFFFF;
+ http_post_requests.high = http_post_requests_tmp >> 32;
+ }
+
+ //set sorry max connection
+ sorry_maxconnection.low = srv.sorry_maxconnection & 0xFFFFFFFF;
+ sorry_maxconnection.high = srv.sorry_maxconnection >> 32;
+
+ //set throughput information
+ throughput_upstream.low = (srv.throughput_upstream * 8) & 0xFFFFFFFF;
+ throughput_upstream.high = (srv.throughput_upstream * 8) >> 32;
+ throughput_downstream.low = (srv.throughput_downstream * 8) & 0xFFFFFFFF;
+ throughput_downstream.high = (srv.throughput_downstream * 8) >> 32;
+
+ //set qos information
+ if (ULLONG_MAX != srv.qos_upstream) {
+ qos_upstream.low = (srv.qos_upstream * 8) & 0xFFFFFFFF;
+ qos_upstream.high = (srv.qos_upstream * 8) >> 32;
+ }
+
+ if (ULLONG_MAX != srv.qos_downstream) {
+ qos_downstream.low = (srv.qos_downstream * 8) & 0xFFFFFFFF;
+ qos_downstream.high = (srv.qos_downstream * 8) >> 32;
+ }
- //set sorry max connection
- sorry_maxconnection.low = srv.sorry_maxconnection & 0xFFFFFFFF;
- sorry_maxconnection.high = srv.sorry_maxconnection >> 32;
-
- //set throughput information
- throughput_upstream.low = (srv.throughput_upstream * 8) & 0xFFFFFFFF;
- throughput_upstream.high = (srv.throughput_upstream * 8) >> 32;
- throughput_downstream.low = (srv.throughput_downstream * 8) & 0xFFFFFFFF;
- throughput_downstream.high = (srv.throughput_downstream * 8) >> 32;
-
- //set qos information
- if (ULLONG_MAX != srv.qos_upstream) {
- qos_upstream.low = (srv.qos_upstream * 8) & 0xFFFFFFFF;
- qos_upstream.high = (srv.qos_upstream * 8) >> 32;
- }
-
- if (ULLONG_MAX != srv.qos_downstream) {
- qos_downstream.low = (srv.qos_downstream * 8) & 0xFFFFFFFF;
- qos_downstream.high = (srv.qos_downstream * 8) >> 32;
- }
-
- //set session information
- pool_session_count = (*it)->get_pool_sessions_count();
- active_session_count = (*it)->get_active_sessions_count();
- waiting_session_count = 1; // (*it)->get_waiting_sessions_count(); this count is allways 1
-
- //set vs table row information
- netsnmp_set_row_column(row, COLUMN_L7VSVSINDEX, ASN_INTEGER, (char *)&vs_index, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSVSPROTOCOL, ASN_INTEGER, (char *)&protocol, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSVSADDRTYPE, ASN_INTEGER, (char *)&vs_ipaddress_type, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSVSADDR, ASN_OCTET_STR, vs_ipaddress, strnlen(vs_ipaddress, L7VS_IPADDR_LEN));
- netsnmp_set_row_column(row, COLUMN_L7VSVSPORT, ASN_UNSIGNED, (char *)&vs_port, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSVSPROTOCOLMODULENAME, ASN_OCTET_STR, (char *)srv.protocol_module_name.c_str(), srv.protocol_module_name.length());
- netsnmp_set_row_column(row, COLUMN_L7VSVSPROTOCOLMODULEOPTIONS, ASN_OCTET_STR, (char *)protocol_module_arg.str().c_str(), protocol_module_arg.str().length());
- netsnmp_set_row_column(row, COLUMN_L7VSVSSCHEDULEMODULENAME, ASN_OCTET_STR, (char *)srv.schedule_module_name.c_str(), srv.schedule_module_name.length());
- netsnmp_set_row_column(row, COLUMN_L7VSVSSCHEDULEMODULEOPTIONS, ASN_OCTET_STR, (char *)schedule_module_arg.c_str(), schedule_module_arg.length());
- netsnmp_set_row_column(row, COLUMN_L7VSVSSORRYADDRTYPE, ASN_INTEGER, (char *)&sorry_ipaddress_type,sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSVSSORRYADDR, ASN_OCTET_STR, (char *)sorry_ipaddress, strnlen(sorry_ipaddress, L7VS_IPADDR_LEN));
- netsnmp_set_row_column(row, COLUMN_L7VSVSSORRYPORT, ASN_UNSIGNED, (char *)&sorry_port, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSVSSORRYCONNLIMIT, ASN_COUNTER64, (char *)&sorry_maxconnection, sizeof(struct counter64));
- netsnmp_set_row_column(row, COLUMN_L7VSVSSORRYFORCEENABLED, ASN_INTEGER, (char *)&sorry_flag, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSVSTHROUGHPUTUP, ASN_COUNTER64, (char *)&throughput_upstream, sizeof(struct counter64));
- netsnmp_set_row_column(row, COLUMN_L7VSVSTHROUGHPUTDOWN, ASN_COUNTER64, (char *)&throughput_downstream, sizeof(struct counter64));
- netsnmp_set_row_column(row, COLUMN_L7VSVSTHROUGHPUTUPQOS, ASN_COUNTER64, (char *)&qos_upstream, sizeof(struct counter64));
- netsnmp_set_row_column(row, COLUMN_L7VSVSTHROUGHPUTDOWNQOS, ASN_COUNTER64, (char *)&qos_downstream, sizeof(struct counter64));
- netsnmp_set_row_column(row, COLUMN_L7VSVSSSLFLAG, ASN_INTEGER, (char *)&ssl_flag, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSVSSESSIONPOOLCOUNT, ASN_INTEGER, (char *)&pool_session_count, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSVSSESSIONACTIVECOUNT, ASN_INTEGER, (char *)&active_session_count, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSVSSESSIONWAITCOUNT, ASN_INTEGER, (char *)&waiting_session_count, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSVSHTTPTOTALCOUNT, ASN_COUNTER64, (char *)&http_requests, sizeof(struct counter64));
- netsnmp_set_row_column(row, COLUMN_L7VSVSHTTPGETCOUNT, ASN_COUNTER64, (char *)&http_get_requests, sizeof(struct counter64));
- netsnmp_set_row_column(row, COLUMN_L7VSVSHTTPPOSTCOUNT, ASN_COUNTER64, (char *)&http_post_requests, sizeof(struct counter64));
- netsnmp_set_row_column(row, COLUMN_L7VSVSRSNUMBER, ASN_INTEGER, (char *)&rs_size, sizeof(int));
-
- //create temporary realserver data list
- int rs_index = 0;
- for (std::vector<realserver_element>::iterator rs_it = srv.realserver_vector.begin();
- rs_it != srv.realserver_vector.end(); rs_it++) {
- //increment realserver index
- rs_index++;
-
- rsdata data;
-
- //set realserver information
- if (srv.udpmode) {
- if ((*rs_it).udp_endpoint.address().is_v4()) {
- strncpy(data.address, (*rs_it).udp_endpoint.address().to_v4().to_string().c_str(), L7VS_IPADDR_LEN);
- data.address_type = SNMP_IPV4;
- } else {
- strncpy(data.address,(*rs_it).udp_endpoint.address().to_v6().to_string().c_str(), L7VS_IPADDR_LEN);
- data.address_type = SNMP_IPV6;
- }
- data.port = (*rs_it).udp_endpoint.port();
+ //set session information
+ pool_session_count = (*it)->get_pool_sessions_count();
+ active_session_count = (*it)->get_active_sessions_count();
+ waiting_session_count = 1; // (*it)->get_waiting_sessions_count(); this count is allways 1
+
+ //set vs table row information
+ netsnmp_set_row_column(row, COLUMN_L7VSVSINDEX, ASN_INTEGER, (char *)&vs_index, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSPROTOCOL, ASN_INTEGER, (char *)&protocol, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSADDRTYPE, ASN_INTEGER, (char *)&vs_ipaddress_type, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSADDR, ASN_OCTET_STR, vs_ipaddress, strnlen(vs_ipaddress, L7VS_IPADDR_LEN));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSPORT, ASN_UNSIGNED, (char *)&vs_port, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSPROTOCOLMODULENAME, ASN_OCTET_STR, (char *)srv.protocol_module_name.c_str(), srv.protocol_module_name.length());
+ netsnmp_set_row_column(row, COLUMN_L7VSVSPROTOCOLMODULEOPTIONS, ASN_OCTET_STR, (char *)protocol_module_arg.str().c_str(), protocol_module_arg.str().length());
+ netsnmp_set_row_column(row, COLUMN_L7VSVSSCHEDULEMODULENAME, ASN_OCTET_STR, (char *)srv.schedule_module_name.c_str(), srv.schedule_module_name.length());
+ netsnmp_set_row_column(row, COLUMN_L7VSVSSCHEDULEMODULEOPTIONS, ASN_OCTET_STR, (char *)schedule_module_arg.c_str(), schedule_module_arg.length());
+ netsnmp_set_row_column(row, COLUMN_L7VSVSSORRYADDRTYPE, ASN_INTEGER, (char *)&sorry_ipaddress_type, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSSORRYADDR, ASN_OCTET_STR, (char *)sorry_ipaddress, strnlen(sorry_ipaddress, L7VS_IPADDR_LEN));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSSORRYPORT, ASN_UNSIGNED, (char *)&sorry_port, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSSORRYCONNLIMIT, ASN_COUNTER64, (char *)&sorry_maxconnection, sizeof(struct counter64));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSSORRYFORCEENABLED, ASN_INTEGER, (char *)&sorry_flag, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSTHROUGHPUTUP, ASN_COUNTER64, (char *)&throughput_upstream, sizeof(struct counter64));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSTHROUGHPUTDOWN, ASN_COUNTER64, (char *)&throughput_downstream, sizeof(struct counter64));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSTHROUGHPUTUPQOS, ASN_COUNTER64, (char *)&qos_upstream, sizeof(struct counter64));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSTHROUGHPUTDOWNQOS, ASN_COUNTER64, (char *)&qos_downstream, sizeof(struct counter64));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSSSLFLAG, ASN_INTEGER, (char *)&ssl_flag, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSSESSIONPOOLCOUNT, ASN_INTEGER, (char *)&pool_session_count, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSSESSIONACTIVECOUNT, ASN_INTEGER, (char *)&active_session_count, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSSESSIONWAITCOUNT, ASN_INTEGER, (char *)&waiting_session_count, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSHTTPTOTALCOUNT, ASN_COUNTER64, (char *)&http_requests, sizeof(struct counter64));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSHTTPGETCOUNT, ASN_COUNTER64, (char *)&http_get_requests, sizeof(struct counter64));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSHTTPPOSTCOUNT, ASN_COUNTER64, (char *)&http_post_requests, sizeof(struct counter64));
+ netsnmp_set_row_column(row, COLUMN_L7VSVSRSNUMBER, ASN_INTEGER, (char *)&rs_size, sizeof(int));
+
+ //create temporary realserver data list
+ int rs_index = 0;
+ for (std::vector<realserver_element>::iterator rs_it = srv.realserver_vector.begin();
+ rs_it != srv.realserver_vector.end(); rs_it++) {
+ //increment realserver index
+ rs_index++;
+
+ rsdata data;
+
+ //set realserver information
+ if (srv.udpmode) {
+ if ((*rs_it).udp_endpoint.address().is_v4()) {
+ strncpy(data.address, (*rs_it).udp_endpoint.address().to_v4().to_string().c_str(), L7VS_IPADDR_LEN);
+ data.address_type = SNMP_IPV4;
} else {
- if ((*rs_it).tcp_endpoint.address().is_v4()) {
- strncpy(data.address, (*rs_it).tcp_endpoint.address().to_v4().to_string().c_str(), L7VS_IPADDR_LEN);
- data.address_type = SNMP_IPV4;
- } else {
- strncpy(data.address, (*rs_it).tcp_endpoint.address().to_v6().to_string().c_str(), L7VS_IPADDR_LEN);
- data.address_type = SNMP_IPV6;
- }
- data.port = (*rs_it).tcp_endpoint.port();
+ strncpy(data.address, (*rs_it).udp_endpoint.address().to_v6().to_string().c_str(), L7VS_IPADDR_LEN);
+ data.address_type = SNMP_IPV6;
}
+ data.port = (*rs_it).udp_endpoint.port();
+ } else {
+ if ((*rs_it).tcp_endpoint.address().is_v4()) {
+ strncpy(data.address, (*rs_it).tcp_endpoint.address().to_v4().to_string().c_str(), L7VS_IPADDR_LEN);
+ data.address_type = SNMP_IPV4;
+ } else {
+ strncpy(data.address, (*rs_it).tcp_endpoint.address().to_v6().to_string().c_str(), L7VS_IPADDR_LEN);
+ data.address_type = SNMP_IPV6;
+ }
+ data.port = (*rs_it).tcp_endpoint.port();
+ }
- data.index = rs_index;
- data.vs_index = vs_index;
- data.forward = static_cast<int>((*rs_it).fwdmode);
- data.weigth = (*rs_it).weight;
- data.active_conn = (*rs_it).get_active();
- data.inactive_conn = (*rs_it).get_inact();
+ data.index = rs_index;
+ data.vs_index = vs_index;
+ data.forward = static_cast<int>((*rs_it).fwdmode);
+ data.weigth = (*rs_it).weight;
+ data.active_conn = (*rs_it).get_active();
+ data.inactive_conn = (*rs_it).get_inact();
- //push into realserver data list
- rs_vector.push_back(data);
- }
+ //push into realserver data list
+ rs_vector.push_back(data);
}
}
+ }
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "function : mibdata::update_vs_table : vs_table_size=";
- debugstr << vs_table_size;
-
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 66, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "function : mibdata::update_vs_table : vs_table_size=";
+ debugstr << vs_table_size;
- //update realserver information with temporary realserver data list
- update_rs_table(rs_vector, err);
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 66, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
- /*!
- * update real server table information.
- *
- * @param const std::vector<rsdata> & temporary real server list
- * @param error_code & error code
- * @retrun void
- */
- void mibdata::update_rs_table(const std::vector<rsdata>& rs_table_tmp, error_code& err)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 67, "mibdata::update_rs_table", __FILE__, __LINE__);
+ //update realserver information with temporary realserver data list
+ update_rs_table(rs_vector, err);
+}
- oid index[1] = {0};
- int rs_index = 1;
- netsnmp_table_row *row = NULL;
+/*!
+ * update real server table information.
+ *
+ * @param const std::vector<rsdata> & temporary real server list
+ * @param error_code & error code
+ * @retrun void
+ */
+void mibdata::update_rs_table(const std::vector<rsdata>& rs_table_tmp, error_code &err)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 67, "mibdata::update_rs_table", __FILE__, __LINE__);
- //delete the surplus data from real server table
- if (rs_table_tmp.size() < static_cast<size_t>(rs_table_size)) {
- for (size_t i = rs_table_size; i > rs_table_tmp.size(); i--) {
- index[0] = i;
- row = netsnmp_table_data_get_from_oid(rs_table->table, index, 1);
- if (row == NULL) continue;
- netsnmp_table_dataset_remove_and_delete_row(rs_table, row);
- }
+ oid index[1] = {0};
+ int rs_index = 1;
+ netsnmp_table_row *row = NULL;
+
+ //delete the surplus data from real server table
+ if (rs_table_tmp.size() < static_cast<size_t>(rs_table_size)) {
+ for (size_t i = rs_table_size; i > rs_table_tmp.size(); i--) {
+ index[0] = i;
+ row = netsnmp_table_data_get_from_oid(rs_table->table, index, 1);
+ if (row == NULL) continue;
+ netsnmp_table_dataset_remove_and_delete_row(rs_table, row);
}
+ }
- rs_table_size = rs_table_tmp.size();
+ rs_table_size = rs_table_tmp.size();
- //update real server table
- for (std::vector<rsdata>::const_iterator itr = rs_table_tmp.begin(); itr != rs_table_tmp.end(); itr++) {
- index[0] = rs_index;
- row = netsnmp_table_data_get_from_oid(rs_table->table, index, 1);
+ //update real server table
+ for (std::vector<rsdata>::const_iterator itr = rs_table_tmp.begin(); itr != rs_table_tmp.end(); itr++) {
+ index[0] = rs_index;
+ row = netsnmp_table_data_get_from_oid(rs_table->table, index, 1);
+ if (row == NULL) {
+ row = netsnmp_create_table_data_row();
if (row == NULL) {
- row = netsnmp_create_table_data_row();
- if (row == NULL) {
- std::string msg("create realserver table row failed.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 14, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return ;
- } else {
- netsnmp_table_row_add_index(row, ASN_INTEGER, (void*)index, sizeof(int));
- netsnmp_table_dataset_add_row(rs_table, row);
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "function : mibdata::update_rs_table : rs_table add row.";
- debugstr << "rs_index=" << rs_index;
-
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 68, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ std::string msg("create realserver table row failed.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 14, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return ;
+ } else {
+ netsnmp_table_row_add_index(row, ASN_INTEGER, (void *)index, sizeof(int));
+ netsnmp_table_dataset_add_row(rs_table, row);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "function : mibdata::update_rs_table : rs_table add row.";
+ debugstr << "rs_index=" << rs_index;
+
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 68, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
}
-
- netsnmp_set_row_column(row, COLUMN_L7VSRSINDEX, ASN_INTEGER, (char *)&rs_index, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSRSVSINDEX, ASN_INTEGER, (char *)&(*itr).vs_index, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSRSADDRTYPE, ASN_INTEGER, (char *)&(*itr).address_type, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSRSADDR, ASN_OCTET_STR, (*itr).address, strlen((*itr).address));
- netsnmp_set_row_column(row, COLUMN_L7VSRSPORT, ASN_UNSIGNED, (char *)&(*itr).port, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSRSFORWARD, ASN_INTEGER, (char *)&(*itr).forward, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSRSWEIGHT, ASN_INTEGER, (char *)&(*itr).weigth, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSRSACTIVECONN, ASN_INTEGER, (char *)&(*itr).active_conn, sizeof(int));
- netsnmp_set_row_column(row, COLUMN_L7VSRSINACTIVECONN, ASN_INTEGER, (char *)&(*itr).inactive_conn, sizeof(int));
-
- rs_index++;
}
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "function : mibdata::update_rs_table : rs_table_size=";
- debugstr << rs_table_size;
-
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 69, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ netsnmp_set_row_column(row, COLUMN_L7VSRSINDEX, ASN_INTEGER, (char *)&rs_index, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSRSVSINDEX, ASN_INTEGER, (char *)&(*itr).vs_index, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSRSADDRTYPE, ASN_INTEGER, (char *)&(*itr).address_type, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSRSADDR, ASN_OCTET_STR, (*itr).address, strlen((*itr).address));
+ netsnmp_set_row_column(row, COLUMN_L7VSRSPORT, ASN_UNSIGNED, (char *)&(*itr).port, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSRSFORWARD, ASN_INTEGER, (char *)&(*itr).forward, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSRSWEIGHT, ASN_INTEGER, (char *)&(*itr).weigth, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSRSACTIVECONN, ASN_INTEGER, (char *)&(*itr).active_conn, sizeof(int));
+ netsnmp_set_row_column(row, COLUMN_L7VSRSINACTIVECONN, ASN_INTEGER, (char *)&(*itr).inactive_conn, sizeof(int));
+
+ rs_index++;
}
- /*!
- * update replication state.
- *
- * @param l7vsd * l7vsd pointer
- * @param error_code & error code
- * @retrun void
- */
- void mibdata::update_replication_state(l7vsd *in_vsd , error_code& err)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 70, "mibdata::update_replication_state", __FILE__, __LINE__);
-
- if (in_vsd == NULL) {
- std::string msg("in_vsd pointer is NULL.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 15, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- }
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "function : mibdata::update_rs_table : rs_table_size=";
+ debugstr << rs_table_size;
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "mibdata::update_replication_state arguments:";
- debugstr << boost::format("in_vsd=%p") % in_vsd;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 71, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 69, debugstr.str(), __FILE__, __LINE__);
+ }
+ /*------ DEBUG LOG END ------*/
+}
- replication::REPLICATION_MODE_TAG state = in_vsd->get_replication_state();
- replication_state = static_cast<int>(state);
+/*!
+ * update replication state.
+ *
+ * @param l7vsd * l7vsd pointer
+ * @param error_code & error code
+ * @retrun void
+ */
+void mibdata::update_replication_state(l7vsd *in_vsd , error_code &err)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 70, "mibdata::update_replication_state", __FILE__, __LINE__);
+
+ if (in_vsd == NULL) {
+ std::string msg("in_vsd pointer is NULL.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 15, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
}
- /*!
- * get mibdata instance.
- *
- * @retrun mibdata instance
- */
- mibdata& mibdata::get_instance()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 72, "mibdata::get_instance", __FILE__, __LINE__);
- static mibdata data;
- return data;
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "mibdata::update_replication_state arguments:";
+ debugstr << boost::format("in_vsd=%p") % in_vsd;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 71, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
- /*!
- * collect mibdata in l7vsd.
- *
- * @param l7vsd * l7vsd pointer
- * @param error_code & error code
- * @retrun void
- */
- void mibdata::collect_mibdata(l7vsd *in_vsd, error_code& err)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 73, "mibdata::collect_mibdata", __FILE__, __LINE__);
-
- if (in_vsd == NULL) {
- std::string msg("in_vsd pointer is NULL.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 16, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- }
+ replication::REPLICATION_MODE_TAG state = in_vsd->get_replication_state();
+ replication_state = static_cast<int>(state);
+}
- update_replication_state(in_vsd, err);
+/*!
+ * get mibdata instance.
+ *
+ * @retrun mibdata instance
+ */
+mibdata &mibdata::get_instance()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 72, "mibdata::get_instance", __FILE__, __LINE__);
+ static mibdata data;
+ return data;
+}
- if (err) {
- std::string msg("update replication state failed.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 17, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- }
+/*!
+ * collect mibdata in l7vsd.
+ *
+ * @param l7vsd * l7vsd pointer
+ * @param error_code & error code
+ * @retrun void
+ */
+void mibdata::collect_mibdata(l7vsd *in_vsd, error_code &err)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 73, "mibdata::collect_mibdata", __FILE__, __LINE__);
+
+ if (in_vsd == NULL) {
+ std::string msg("in_vsd pointer is NULL.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 16, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
+ }
- update_vs_table(in_vsd, err);
+ update_replication_state(in_vsd, err);
- if (err) {
- std::string msg("update virtual service table failed.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 18, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- }
+ if (err) {
+ std::string msg("update replication state failed.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 17, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
}
- /*!
- * set virtual service data set.
- *
- * @param netsnmp_table_data_set * virtual service data set
- * @retrun void
- */
- void mibdata::set_vs_table(netsnmp_table_data_set* in_vs_table)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 74, "mibdata::set_vs_table", __FILE__, __LINE__);
- vs_table = in_vs_table;
- }
+ update_vs_table(in_vsd, err);
- /*!
- * set real server data set.
- *
- * @param netsnmp_table_data_set * real server data set
- * @retrun void
- */
- void mibdata::set_rs_table(netsnmp_table_data_set* in_rs_table)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 75, "mibdata::set_rs_table", __FILE__, __LINE__);
- rs_table = in_rs_table;
+ if (err) {
+ std::string msg("update virtual service table failed.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 18, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
}
}
+
+/*!
+ * set virtual service data set.
+ *
+ * @param netsnmp_table_data_set * virtual service data set
+ * @retrun void
+ */
+void mibdata::set_vs_table(netsnmp_table_data_set *in_vs_table)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 74, "mibdata::set_vs_table", __FILE__, __LINE__);
+ vs_table = in_vs_table;
+}
+
+/*!
+ * set real server data set.
+ *
+ * @param netsnmp_table_data_set * real server data set
+ * @retrun void
+ */
+void mibdata::set_rs_table(netsnmp_table_data_set *in_rs_table)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 75, "mibdata::set_rs_table", __FILE__, __LINE__);
+ rs_table = in_rs_table;
+}
+}
namespace l7vs
{
- /*!
- * constructor.
- *
- * @param[in] l7vsd pointer
- */
- snmpagent::snmpagent(l7vsd *in_vsd)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 1, "snmpagent::snmpagent", __FILE__, __LINE__);
-
- error_code err;
- snmpagent_impl::get_instance().init(err);
- if (err) {
- std::string msg("snmpagent initialize failed.program exit.");
- Logger::putLogFatal(LOG_CAT_L7VSD_SNMPAGENT, 1, msg, __FILE__, __LINE__);
- exit(1);
- }
- snmpagent_impl::get_instance().set_vsd_info(in_vsd);
+/*!
+ * constructor.
+ *
+ * @param[in] l7vsd pointer
+ */
+snmpagent::snmpagent(l7vsd *in_vsd)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 1, "snmpagent::snmpagent", __FILE__, __LINE__);
+
+ error_code err;
+ snmpagent_impl::get_instance().init(err);
+ if (err) {
+ std::string msg("snmpagent initialize failed.program exit.");
+ Logger::putLogFatal(LOG_CAT_L7VSD_SNMPAGENT, 1, msg, __FILE__, __LINE__);
+ exit(1);
}
+ snmpagent_impl::get_instance().set_vsd_info(in_vsd);
+}
- /*!
- * push the trap message into trap message queue.
- *
- * @param[in] in_trapmessage is trap message
- * @param[in/out] err is error code
- * @retrun void
- */
- void snmpagent::push_trapmessage(trapmessage& in_trapmessage, error_code& err)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 2, "snmpagent::push_trapmessage", __FILE__, __LINE__);
-
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "snmpagent::push_trapmessage arguments:";
- debugstr << boost::format("in_trapmessage.type=%d") % in_trapmessage.type;
- debugstr << boost::format("in_trapmessage.message=%s") % in_trapmessage.message;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 3, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
-
- snmpagent_impl::get_instance().push_trapmessage(in_trapmessage, err);
+/*!
+ * push the trap message into trap message queue.
+ *
+ * @param[in] in_trapmessage is trap message
+ * @param[in/out] err is error code
+ * @retrun void
+ */
+void snmpagent::push_trapmessage(trapmessage &in_trapmessage, error_code &err)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 2, "snmpagent::push_trapmessage", __FILE__, __LINE__);
+
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "snmpagent::push_trapmessage arguments:";
+ debugstr << boost::format("in_trapmessage.type=%d") % in_trapmessage.type;
+ debugstr << boost::format("in_trapmessage.message=%s") % in_trapmessage.message;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 3, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
- /*!
- * set snmp function enable
- *
- * @retrun void
- */
- void snmpagent::enable() {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 4, "snmpagent::enable", __FILE__, __LINE__);
+ snmpagent_impl::get_instance().push_trapmessage(in_trapmessage, err);
+}
- snmpagent_impl::get_instance().enable();
- }
+/*!
+ * set snmp function enable
+ *
+ * @retrun void
+ */
+void snmpagent::enable()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 4, "snmpagent::enable", __FILE__, __LINE__);
- /*!
- * set snmp function disable
- *
- * @retrun void
- */
- void snmpagent::disable() {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 5, "snmpagent::disable", __FILE__, __LINE__);
+ snmpagent_impl::get_instance().enable();
+}
- snmpagent_impl::get_instance().disable();
- }
+/*!
+ * set snmp function disable
+ *
+ * @retrun void
+ */
+void snmpagent::disable()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 5, "snmpagent::disable", __FILE__, __LINE__);
- /*!
- * set mib cache update interval.
- *
- * @param[in] in_interval is cache update interval
- * @retrun void
- */
- void snmpagent::set_interval(const unsigned int in_interval)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 6, "snmpagent::set_interval", __FILE__, __LINE__);
-
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "snmpagent::set_interval arguments:";
- debugstr << boost::format("in_interval=%d") % in_interval;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 7, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ snmpagent_impl::get_instance().disable();
+}
- snmpagent_impl::get_instance().set_interval(in_interval);
+/*!
+ * set mib cache update interval.
+ *
+ * @param[in] in_interval is cache update interval
+ * @retrun void
+ */
+void snmpagent::set_interval(const unsigned int in_interval)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 6, "snmpagent::set_interval", __FILE__, __LINE__);
+
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "snmpagent::set_interval arguments:";
+ debugstr << boost::format("in_interval=%d") % in_interval;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 7, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
- /*!
- * set log trap enable
- * @retrun void
- */
- void snmpagent::logtrap_enable() {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 8, "snmpagent_impl::logtrap_enable", __FILE__, __LINE__);
+ snmpagent_impl::get_instance().set_interval(in_interval);
+}
- snmpagent_impl::get_instance().logtrap_enable();
- }
+/*!
+ * set log trap enable
+ * @retrun void
+ */
+void snmpagent::logtrap_enable()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 8, "snmpagent_impl::logtrap_enable", __FILE__, __LINE__);
- /*!
- * set log trap disable
- * @retrun void
- */
- void snmpagent::logtrap_disable() {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 9, "snmpagent_impl::logtrap_disable", __FILE__, __LINE__);
+ snmpagent_impl::get_instance().logtrap_enable();
+}
- snmpagent_impl::get_instance().logtrap_disable();
- }
+/*!
+ * set log trap disable
+ * @retrun void
+ */
+void snmpagent::logtrap_disable()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 9, "snmpagent_impl::logtrap_disable", __FILE__, __LINE__);
- /*!
- * set log trap level.
- *
- * @param[in] in_level is log trap level
- * @retrun void
- */
- void snmpagent::set_logtrap_level(const LOG_LEVEL_TAG in_level)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 10, "snmpagent::set_logtrap_level", __FILE__, __LINE__);
-
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "snmpagent::set_logtrap_level arguments:";
- debugstr << boost::format("in_level=%d") % in_level;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 11, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ snmpagent_impl::get_instance().logtrap_disable();
+}
- snmpagent_impl::get_instance().set_logtrap_level(in_level);
+/*!
+ * set log trap level.
+ *
+ * @param[in] in_level is log trap level
+ * @retrun void
+ */
+void snmpagent::set_logtrap_level(const LOG_LEVEL_TAG in_level)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 10, "snmpagent::set_logtrap_level", __FILE__, __LINE__);
+
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "snmpagent::set_logtrap_level arguments:";
+ debugstr << boost::format("in_level=%d") % in_level;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 11, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
- /*!
- * get snmp information.
- *
- * @return snmp information
- */
- snmp_info snmpagent::get_snmp_info()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 12, "snmpagent::get_snmp_info", __FILE__, __LINE__);
+ snmpagent_impl::get_instance().set_logtrap_level(in_level);
+}
- return snmpagent_impl::get_instance().get_snmp_info();
- }
+/*!
+ * get snmp information.
+ *
+ * @return snmp information
+ */
+snmp_info snmpagent::get_snmp_info()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 12, "snmpagent::get_snmp_info", __FILE__, __LINE__);
- /*!
- * start snmp function.
- *
- * @param[in/out] error_code is error code
- * @return void
- */
- void snmpagent::start(error_code& err)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 13, "snmpagent::start", __FILE__, __LINE__);
- snmpagent_impl::get_instance().start(err);
- }
+ return snmpagent_impl::get_instance().get_snmp_info();
+}
- /*!
- * stop snmp function.
- *
- * @return void
- */
- void snmpagent::stop()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 14, "snmpagent::stop", __FILE__, __LINE__);
- snmpagent_impl::get_instance().stop();
- }
+/*!
+ * start snmp function.
+ *
+ * @param[in/out] error_code is error code
+ * @return void
+ */
+void snmpagent::start(error_code &err)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 13, "snmpagent::start", __FILE__, __LINE__);
+ snmpagent_impl::get_instance().start(err);
+}
- /*!
- * refresh all the statistics.
- *
- * @return void
- */
- void snmpagent::refresh_all_statistics()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 15, "snmpagent::refresh_all_statistics", __FILE__, __LINE__);
- snmpagent_impl::get_instance().refresh_all_statistics();
- }
+/*!
+ * stop snmp function.
+ *
+ * @return void
+ */
+void snmpagent::stop()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 14, "snmpagent::stop", __FILE__, __LINE__);
+ snmpagent_impl::get_instance().stop();
+}
- /*!
- * refresh a special virtual service's statistics.
- *
- * @param[in] vs_endpoint is virtual service's endpoint
- * @param[in] protocol is virtual service's protocol
- * @return void
- */
- void snmpagent::refresh_statistics(const boost::asio::ip::tcp::endpoint& vs_endpoint, const std::string& protocol)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 16, "snmpagent::refresh_statistics", __FILE__, __LINE__);
-
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "snmpagent::refresh_statistics arguments:";
- if (vs_endpoint.address().is_v6()) {
- debugstr << boost::format("vs_endpoint=[%s]:%d") % vs_endpoint.address().to_string() % vs_endpoint.port();
- } else {
- debugstr << boost::format("vs_endpoint=%s:%d") % vs_endpoint.address().to_string() % vs_endpoint.port();
- }
- debugstr << boost::format("protocol=%s") % protocol;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 17, debugstr.str(), __FILE__, __LINE__);
+/*!
+ * refresh all the statistics.
+ *
+ * @return void
+ */
+void snmpagent::refresh_all_statistics()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 15, "snmpagent::refresh_all_statistics", __FILE__, __LINE__);
+ snmpagent_impl::get_instance().refresh_all_statistics();
+}
+
+/*!
+ * refresh a special virtual service's statistics.
+ *
+ * @param[in] vs_endpoint is virtual service's endpoint
+ * @param[in] protocol is virtual service's protocol
+ * @return void
+ */
+void snmpagent::refresh_statistics(const boost::asio::ip::tcp::endpoint &vs_endpoint, const std::string &protocol)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 16, "snmpagent::refresh_statistics", __FILE__, __LINE__);
+
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "snmpagent::refresh_statistics arguments:";
+ if (vs_endpoint.address().is_v6()) {
+ debugstr << boost::format("vs_endpoint=[%s]:%d") % vs_endpoint.address().to_string() % vs_endpoint.port();
+ } else {
+ debugstr << boost::format("vs_endpoint=%s:%d") % vs_endpoint.address().to_string() % vs_endpoint.port();
}
- /*------ DEBUG LOG END ------*/
- snmpagent_impl::get_instance().refresh_statistics(vs_endpoint, protocol);
+ debugstr << boost::format("protocol=%s") % protocol;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 17, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
+ snmpagent_impl::get_instance().refresh_statistics(vs_endpoint, protocol);
+}
- /*!
- * finalize.
- *
- * @return void
- */
- void snmpagent::finalize()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 18, "snmpagent::finalize", __FILE__, __LINE__);
+/*!
+ * finalize.
+ *
+ * @return void
+ */
+void snmpagent::finalize()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 18, "snmpagent::finalize", __FILE__, __LINE__);
- snmpagent_impl::get_instance().finalize();
- }
+ snmpagent_impl::get_instance().finalize();
+}
}
namespace l7vs
{
- /*!
- * process mib get item thread function.
- * @retrun void
- */
- void snmpagent_impl::process_mib_run()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 19, "snmpagent_impl::process_mib_run", __FILE__, __LINE__);
-
- //create wait time
- timespec wait_val;
- wait_val.tv_sec = 0;
- wait_val.tv_nsec = SNMP_SLEEP_NANO_TIME;
-
- //main loop
- while (enabled.get() != FALSE) {
- //agent check and process
- agent_check_and_process(0);
-
- //collect mib data
- error_code err;
- collect_mibdata(err);
+/*!
+ * process mib get item thread function.
+ * @retrun void
+ */
+void snmpagent_impl::process_mib_run()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 19, "snmpagent_impl::process_mib_run", __FILE__, __LINE__);
- if (err) {
- std::string msg("collect mib data failed.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 67, msg, __FILE__, __LINE__);
- }
+ //create wait time
+ timespec wait_val;
+ wait_val.tv_sec = 0;
+ wait_val.tv_nsec = SNMP_SLEEP_NANO_TIME;
- //sleep a little time
- nanosleep(&wait_val, NULL);
- }
- }
+ //main loop
+ while (enabled.get() != FALSE) {
+ //agent check and process
+ agent_check_and_process(0);
- /*!
- * process trap thread function.
- * @retrun void
- */
- void snmpagent_impl::trap_run()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 20, "snmpagent_impl::trap_run", __FILE__, __LINE__);
-
- //create wait time
- timespec wait_val;
- wait_val.tv_sec = 0;
- wait_val.tv_nsec = trap_polling_interval.get();
-
- //main loop
- while (enabled.get() != FALSE) {
- //create trap message
- trapmessage trapmsg;
- {
- boost::mutex::scoped_lock lock(trap_msg_queue_condition_mutex);
+ //collect mib data
+ error_code err;
+ collect_mibdata(err);
- //loop until the trap message is not none
- while (trap_msg_queue.size() == 0) {
- trap_msg_queue_condition.wait(lock);
- }
+ if (err) {
+ std::string msg("collect mib data failed.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 67, msg, __FILE__, __LINE__);
+ }
- //get the first message in trap message
- trapmsg = trap_msg_queue[0];
+ //sleep a little time
+ nanosleep(&wait_val, NULL);
+ }
+}
- //pop the first message in trap message
- trap_msg_queue.pop_front();
+/*!
+ * process trap thread function.
+ * @retrun void
+ */
+void snmpagent_impl::trap_run()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 20, "snmpagent_impl::trap_run", __FILE__, __LINE__);
+
+ //create wait time
+ timespec wait_val;
+ wait_val.tv_sec = 0;
+ wait_val.tv_nsec = trap_polling_interval.get();
+
+ //main loop
+ while (enabled.get() != FALSE) {
+ //create trap message
+ trapmessage trapmsg;
+ {
+ boost::mutex::scoped_lock lock(trap_msg_queue_condition_mutex);
+
+ //loop until the trap message is not none
+ while (trap_msg_queue.size() == 0) {
+ trap_msg_queue_condition.wait(lock);
}
- //find mapping in trap message map
- trapfunc_type::iterator it = trapfunc_map.find(trapmsg.type);
+ //get the first message in trap message
+ trapmsg = trap_msg_queue[0];
+
+ //pop the first message in trap message
+ trap_msg_queue.pop_front();
+ }
- if (it != trapfunc_map.end()) {
- //send trap message
- if (it->second(trapmsg.message) == SNMP_ERR_NOERROR) {
- //set trap last date to current time
- trap_last_date = time(NULL);
+ //find mapping in trap message map
+ trapfunc_type::iterator it = trapfunc_map.find(trapmsg.type);
- //incrememt snmp trap count
- snmp_trap_count++;
- }
- }
+ if (it != trapfunc_map.end()) {
+ //send trap message
+ if (it->second(trapmsg.message) == SNMP_ERR_NOERROR) {
+ //set trap last date to current time
+ trap_last_date = time(NULL);
- //sleep a little time
- nanosleep(&wait_val, NULL);
+ //incrememt snmp trap count
+ snmp_trap_count++;
+ }
}
+
+ //sleep a little time
+ nanosleep(&wait_val, NULL);
}
+}
+
+/*!
+ * check mib data timeout.
+ * @retrun true: time not out
+ * false: time out
+ */
+bool snmpagent_impl::check_timeout()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 21, "snmpagent::check_timeout", __FILE__, __LINE__);
+
+ if (interval.get() == 0) {
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::string debugstr = "function : snmpagent_impl::check_timeout : timeout.";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 22, debugstr, __FILE__, __LINE__);
+ }
+ /*------ DEBUG LOG END ------*/
+
+ //when interval is 0, return false(timeout)
+ return false;
+ } else {
+ //get current time
+ boost::posix_time::ptime now_time(boost::posix_time::second_clock::local_time());
- /*!
- * check mib data timeout.
- * @retrun true: time not out
- * false: time out
- */
- bool snmpagent_impl::check_timeout()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 21, "snmpagent::check_timeout", __FILE__, __LINE__);
+ //calc time interval
+ boost::posix_time::time_duration td = boost::posix_time::seconds(interval.get());
- if (interval.get() == 0) {
+ if ((now_time - mib_collect_last_time) > td) {
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
std::string debugstr = "function : snmpagent_impl::check_timeout : timeout.";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 22, debugstr, __FILE__, __LINE__);
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 23, debugstr, __FILE__, __LINE__);
}
/*------ DEBUG LOG END ------*/
- //when interval is 0, return false(timeout)
+ //timeout
return false;
} else {
- //get current time
- boost::posix_time::ptime now_time(boost::posix_time::second_clock::local_time());
-
- //calc time interval
- boost::posix_time::time_duration td = boost::posix_time::seconds(interval.get());
-
- if ((now_time - mib_collect_last_time) > td) {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::string debugstr = "function : snmpagent_impl::check_timeout : timeout.";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 23, debugstr, __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
-
- //timeout
- return false;
- } else {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::string debugstr = "function : snmpagent_impl::check_timeout : not timeout.";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 24, debugstr, __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
- //not timeout
- return true;
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::string debugstr = "function : snmpagent_impl::check_timeout : not timeout.";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 24, debugstr, __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
+ //not timeout
+ return true;
}
}
+}
- /*!
- * create and return a snmpagent_impl instance.
- *
- * @retrun snmpagent_impl & snmpagent_impl' instance
- */
- snmpagent_impl& snmpagent_impl::get_instance()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 25, "snmpagent::get_instance", __FILE__, __LINE__);
-
- static snmpagent_impl agent_impl;
- return agent_impl;
- }
+/*!
+ * create and return a snmpagent_impl instance.
+ *
+ * @retrun snmpagent_impl & snmpagent_impl' instance
+ */
+snmpagent_impl &snmpagent_impl::get_instance()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 25, "snmpagent::get_instance", __FILE__, __LINE__);
- /*!
- * snmpagent_impl class initialize.
- *
- * @param error_code & error code
- * @retrun void
- */
- void snmpagent_impl::init(error_code& err)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 26, "snmpagent_impl::init", __FILE__, __LINE__);
+ static snmpagent_impl agent_impl;
+ return agent_impl;
+}
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "snmpagent_impl::init arguments:";
- debugstr << boost::format("err=%d") % (err ? true : false);
- debugstr << boost::format(", err.message=%s") % err.get_message();
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 27, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+/*!
+ * snmpagent_impl class initialize.
+ *
+ * @param error_code & error code
+ * @retrun void
+ */
+void snmpagent_impl::init(error_code &err)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 26, "snmpagent_impl::init", __FILE__, __LINE__);
+
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "snmpagent_impl::init arguments:";
+ debugstr << boost::format("err=%d") % (err ? true : false);
+ debugstr << boost::format(", err.message=%s") % err.get_message();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 27, debugstr.str(), __FILE__, __LINE__);
+ }
+ /*------ DEBUG LOG END ------*/
+
+ try {
+ if (initialized == false) {
+ //set snmp start flag false
+ start_flag = false;
+
+ //mapping trap type and trap function
+ trapfunc_map[trapmessage::SERVICE_START] = &trap_service_start;
+ trapfunc_map[trapmessage::SERVICE_STOP] = &trap_service_stop;
+ trapfunc_map[trapmessage::VIRTUALSERVICE_ADD] = &trap_vs_add;
+ trapfunc_map[trapmessage::VIRTUALSERVICE_CHANGE] = &trap_vs_change;
+ trapfunc_map[trapmessage::VIRTUALSERVICE_REMOVE] = &trap_vs_remove;
+ trapfunc_map[trapmessage::REALSERVER_ADD] = &trap_rs_add;
+ trapfunc_map[trapmessage::REALSERVER_CHANGE] = &trap_rs_change;
+ trapfunc_map[trapmessage::REALSERVER_REMOVE] = &trap_rs_remove;
+ trapfunc_map[trapmessage::UPQOS_ALERT_ON] = &trap_up_qos_alert_on;
+ trapfunc_map[trapmessage::UPQOS_ALERT_OFF] = &trap_up_qos_alert_off;
+ trapfunc_map[trapmessage::DOWNQOS_ALERT_ON] = &trap_down_qos_alert_on;
+ trapfunc_map[trapmessage::DOWNQOS_ALERT_OFF] = &trap_down_qos_alert_off;
+ trapfunc_map[trapmessage::SESSIONPOOL_ALERT_ON] = &trap_sessionpool_alert_on;
+ trapfunc_map[trapmessage::SESSIONPOOL_ALERT_OFF] = &trap_sessionpool_alert_off;
+ trapfunc_map[trapmessage::FATAL_LOG] = &trap_fatal;
+ trapfunc_map[trapmessage::ERROR_LOG] = &trap_error;
+ trapfunc_map[trapmessage::WARN_LOG] = &trap_warn;
+ trapfunc_map[trapmessage::INFO_LOG] = &trap_info;
+ trapfunc_map[trapmessage::DEBUG_LOG] = &trap_debug;
+
+ //init member varable
+ mib_collect_last_time = boost::posix_time::ptime(boost::posix_time::min_date_time);
+ start_date = 0;
+ request_last_date = 0;
+ trap_last_date = 0;
+ snmp_get_requests = 0;
+ snmp_set_requests = 0;
+ snmp_trap_count = 0;
+
+ //mapping log string and log level
+ string_loglevel_map["debug"] = LOG_LV_DEBUG;
+ string_loglevel_map["info"] = LOG_LV_INFO;
+ string_loglevel_map["warn"] = LOG_LV_WARN;
+ string_loglevel_map["error"] = LOG_LV_ERROR;
+ string_loglevel_map["fatal"] = LOG_LV_FATAL;
+
+ //load config file setting
+ load_config();
- try {
- if (initialized == false) {
- //set snmp start flag false
- start_flag = false;
-
- //mapping trap type and trap function
- trapfunc_map[trapmessage::SERVICE_START] = &trap_service_start;
- trapfunc_map[trapmessage::SERVICE_STOP] = &trap_service_stop;
- trapfunc_map[trapmessage::VIRTUALSERVICE_ADD] = &trap_vs_add;
- trapfunc_map[trapmessage::VIRTUALSERVICE_CHANGE] = &trap_vs_change;
- trapfunc_map[trapmessage::VIRTUALSERVICE_REMOVE] = &trap_vs_remove;
- trapfunc_map[trapmessage::REALSERVER_ADD] = &trap_rs_add;
- trapfunc_map[trapmessage::REALSERVER_CHANGE] = &trap_rs_change;
- trapfunc_map[trapmessage::REALSERVER_REMOVE] = &trap_rs_remove;
- trapfunc_map[trapmessage::UPQOS_ALERT_ON] = &trap_up_qos_alert_on;
- trapfunc_map[trapmessage::UPQOS_ALERT_OFF] = &trap_up_qos_alert_off;
- trapfunc_map[trapmessage::DOWNQOS_ALERT_ON] = &trap_down_qos_alert_on;
- trapfunc_map[trapmessage::DOWNQOS_ALERT_OFF] = &trap_down_qos_alert_off;
- trapfunc_map[trapmessage::SESSIONPOOL_ALERT_ON] = &trap_sessionpool_alert_on;
- trapfunc_map[trapmessage::SESSIONPOOL_ALERT_OFF] = &trap_sessionpool_alert_off;
- trapfunc_map[trapmessage::FATAL_LOG] = &trap_fatal;
- trapfunc_map[trapmessage::ERROR_LOG] = &trap_error;
- trapfunc_map[trapmessage::WARN_LOG] = &trap_warn;
- trapfunc_map[trapmessage::INFO_LOG] = &trap_info;
- trapfunc_map[trapmessage::DEBUG_LOG] = &trap_debug;
-
- //init member varable
- mib_collect_last_time = boost::posix_time::ptime(boost::posix_time::min_date_time);
- start_date = 0;
- request_last_date = 0;
- trap_last_date = 0;
- snmp_get_requests = 0;
- snmp_set_requests = 0;
- snmp_trap_count = 0;
-
- //mapping log string and log level
- string_loglevel_map["debug"] = LOG_LV_DEBUG;
- string_loglevel_map["info"] = LOG_LV_INFO;
- string_loglevel_map["warn"] = LOG_LV_WARN;
- string_loglevel_map["error"] = LOG_LV_ERROR;
- string_loglevel_map["fatal"] = LOG_LV_FATAL;
-
- //load config file setting
- load_config();
-
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::string debugstr = "function : snmpagent_impl::init : call load_config().";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 28, debugstr, __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::string debugstr = "function : snmpagent_impl::init : call load_config().";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 28, debugstr, __FILE__, __LINE__);
+ }
+ /*------ DEBUG LOG END ------*/
- netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_ROLE, 1);
+ netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_ROLE, 1);
- //socket startup
- SOCK_STARTUP;
+ //socket startup
+ SOCK_STARTUP;
- //init l7vsAgent
- int ret = init_agent("l7vsAgent");
- if (ret) {
- std::string msg("init_agent failed.");
- Logger::putLogFatal(LOG_CAT_L7VSD_SNMPAGENT, 3, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- }
+ //init l7vsAgent
+ int ret = init_agent("l7vsAgent");
+ if (ret) {
+ std::string msg("init_agent failed.");
+ Logger::putLogFatal(LOG_CAT_L7VSD_SNMPAGENT, 3, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
+ }
- init_snmp("l7vsAgent");
+ init_snmp("l7vsAgent");
- //here we initialize all the tables we're planning on supporting
- initialize_virtual_service_table(err);
+ //here we initialize all the tables we're planning on supporting
+ initialize_virtual_service_table(err);
- if (err) {
- std::string msg("initialize_virtual_service_table failed.");
- Logger::putLogFatal(LOG_CAT_L7VSD_SNMPAGENT, 4, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- }
+ if (err) {
+ std::string msg("initialize_virtual_service_table failed.");
+ Logger::putLogFatal(LOG_CAT_L7VSD_SNMPAGENT, 4, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
+ }
- initialize_real_server_table(err);
+ initialize_real_server_table(err);
- if (err) {
- std::string msg("initialize_real_server_table failed.");
- Logger::putLogFatal(LOG_CAT_L7VSD_SNMPAGENT, 5, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- }
+ if (err) {
+ std::string msg("initialize_real_server_table failed.");
+ Logger::putLogFatal(LOG_CAT_L7VSD_SNMPAGENT, 5, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
+ }
- //set initializ flag true
- initialized = true;
+ //set initializ flag true
+ initialized = true;
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::string debugstr = "function : snmpagent_impl::init : initialize success.";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 29, debugstr, __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::string debugstr = "function : snmpagent_impl::init : initialize success.";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 29, debugstr, __FILE__, __LINE__);
}
- } catch (const std::exception &e) {
- std::stringstream msg;
- msg << "init failed : " << e.what() << ".";
- Logger::putLogFatal(LOG_CAT_L7VSD_SNMPAGENT, 2, msg.str(), __FILE__, __LINE__);
+ /*------ DEBUG LOG END ------*/
}
+ } catch (const std::exception &e) {
+ std::stringstream msg;
+ msg << "init failed : " << e.what() << ".";
+ Logger::putLogFatal(LOG_CAT_L7VSD_SNMPAGENT, 2, msg.str(), __FILE__, __LINE__);
}
+}
- /*!
- * push the trap message into trap message queue.
- *
- * @param[in] in_trapmessage is trap message
- * @param[in/out] err is error code
- * @retrun void
- */
- void snmpagent_impl::push_trapmessage(trapmessage& trapmessage, error_code& err)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 30, "snmpagent_impl::push_trapmessage", __FILE__, __LINE__);
+/*!
+ * push the trap message into trap message queue.
+ *
+ * @param[in] in_trapmessage is trap message
+ * @param[in/out] err is error code
+ * @retrun void
+ */
+void snmpagent_impl::push_trapmessage(trapmessage &trapmessage, error_code &err)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 30, "snmpagent_impl::push_trapmessage", __FILE__, __LINE__);
+
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "snmpagent_impl::push_trapmessage arguments : ";
+ debugstr << boost::format("trapmessage.type=%d") % trapmessage.type;
+ debugstr << boost::format(", trapmessage.message=%s") % trapmessage.message;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 31, debugstr.str(), __FILE__, __LINE__);
+ }
+ /*------ DEBUG LOG END ------*/
+ try {
+ //snmp function is enable
+ if ((start_flag == true) && (enabled.get() == TRUE)) {
+ //get local time string
+ char time_buf[TRAP_TIME_STRING_MAX_SIZE] = {0};
+ time_t now = time(NULL);
+ struct tm *t = localtime(&now);
+ if (t) strftime(time_buf, sizeof(time_buf), "%Y/%m/%d %H:%M:%S", t);
+ //time string added in trap message
+ std::stringstream trap_buf;
+ trap_buf << time_buf << "," << trapmessage.message;
+
+ if (trapmessage.type < trapmessage::DEBUG_LOG) {
+ char buff[HOST_NAME_MAX] = {0};
+ gethostname(buff, HOST_NAME_MAX);
+ trap_buf << "," << buff;
+ }
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "snmpagent_impl::push_trapmessage arguments : ";
- debugstr << boost::format("trapmessage.type=%d") % trapmessage.type;
- debugstr << boost::format(", trapmessage.message=%s") % trapmessage.message;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 31, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
- try {
- //snmp function is enable
- if ((start_flag == true) && (enabled.get() == TRUE)) {
- //get local time string
- char time_buf[TRAP_TIME_STRING_MAX_SIZE] = {0};
- time_t now = time(NULL);
- struct tm *t = localtime(&now);
- if (t) strftime(time_buf, sizeof(time_buf), "%Y/%m/%d %H:%M:%S", t);
- //time string added in trap message
- std::stringstream trap_buf;
- trap_buf << time_buf << "," << trapmessage.message;
-
- if (trapmessage.type < trapmessage::DEBUG_LOG) {
- char buff[HOST_NAME_MAX] = {0};
- gethostname(buff, HOST_NAME_MAX);
- trap_buf << "," << buff;
- }
+ trapmessage.message = trap_buf.str();
- trapmessage.message = trap_buf.str();
-
- {
- boost::mutex::scoped_lock lock(trap_msg_queue_condition_mutex);
-
- //drap the message when the trap message queue is too large
- if ( trap_msg_queue.size() < trap_queue_max_size.get()) {
- //push the message into trap message queue
- trap_msg_queue.push_back(trapmessage);
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "function : snmpagent_impl::push_trapmessage : trap message push back.";
- debugstr << boost::format("trapmessage.type=%d") % trapmessage.type;
- debugstr << boost::format(", trapmessage.message=%s") % trapmessage.message;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 32, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
- } else {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::string debugstr = "function : snmpagent_impl::push_trapmessage : trap message queue is overflow.";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 33, debugstr, __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ {
+ boost::mutex::scoped_lock lock(trap_msg_queue_condition_mutex);
+
+ //drap the message when the trap message queue is too large
+ if (trap_msg_queue.size() < trap_queue_max_size.get()) {
+ //push the message into trap message queue
+ trap_msg_queue.push_back(trapmessage);
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "function : snmpagent_impl::push_trapmessage : trap message push back.";
+ debugstr << boost::format("trapmessage.type=%d") % trapmessage.type;
+ debugstr << boost::format(", trapmessage.message=%s") % trapmessage.message;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 32, debugstr.str(), __FILE__, __LINE__);
+ }
+ /*------ DEBUG LOG END ------*/
+ } else {
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::string debugstr = "function : snmpagent_impl::push_trapmessage : trap message queue is overflow.";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 33, debugstr, __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
}
-
- //notify the trap main thread to process the message
- trap_msg_queue_condition.notify_one();
-
}
- } catch (const std::exception &e) {
- std::stringstream msg;
- msg << "Push trap message failed : " << e.what() << ".";
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 1, msg.str(), __FILE__, __LINE__);
- //set error code
- err.setter(true, msg.str());
+ //notify the trap main thread to process the message
+ trap_msg_queue_condition.notify_one();
+
}
+ } catch (const std::exception &e) {
+ std::stringstream msg;
+ msg << "Push trap message failed : " << e.what() << ".";
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 1, msg.str(), __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg.str());
}
- /*!
- * snmpagent function start.
- *
- * @param[in/out] error_code is error code
- * @retrun void
- */
- void snmpagent_impl::start(error_code& err)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 34, "snmpagent_impl::start", __FILE__, __LINE__);
-
- if (vsd == NULL) {
- //vsd pointer is NULL
- std::string msg("vsd pointer is NULL.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 2, msg, __FILE__, __LINE__);
- err.setter(false, msg);
- return;
+}
+
+/*!
+ * snmpagent function start.
+ *
+ * @param[in/out] error_code is error code
+ * @retrun void
+ */
+void snmpagent_impl::start(error_code &err)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 34, "snmpagent_impl::start", __FILE__, __LINE__);
+
+ if (vsd == NULL) {
+ //vsd pointer is NULL
+ std::string msg("vsd pointer is NULL.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 2, msg, __FILE__, __LINE__);
+ err.setter(false, msg);
+ return;
+ }
+
+ //check snmp enable state
+ if (enabled.get() == FALSE) {
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::string debugstr = "function : snmpagent_impl::start : snmp function was disabled.";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 35, debugstr, __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
+ return;
+ }
- //check snmp enable state
- if (enabled.get() == FALSE) {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::string debugstr = "function : snmpagent_impl::start : snmp function was disabled.";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 35, debugstr, __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
- return;
+ //check start state
+ if (start_flag) {
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::string debugstr = "function : snmpagent_impl::start : snmp function has already started.";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 36, debugstr, __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
+ return;
+ }
- //check start state
- if (start_flag) {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::string debugstr = "function : snmpagent_impl::start : snmp function has already started.";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 36, debugstr, __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ try {
+ //regist snmp get item' handle
+ init_snmp_handles(err);
+
+ if (err) {
return;
}
- try {
- //regist snmp get item' handle
- init_snmp_handles(err);
+ //collect mib data first time
+ mibdata::get_instance().collect_mibdata(vsd, err);
- if (err) {
- return;
- }
+ if (err) {
+ //mib collect failed
+ std::string msg("collect_mibdata failed,thread start failed.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 4, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
+ }
- //collect mib data first time
- mibdata::get_instance().collect_mibdata(vsd, err);
+ //start process mib run thread
+ process_mib_thread = boost::thread(&snmpagent_impl::process_mib_run, this);
- if (err) {
- //mib collect failed
- std::string msg("collect_mibdata failed,thread start failed.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 4, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- }
+ //start trap run
+ trap_thread = boost::thread(&snmpagent_impl::trap_run, this);
- //start process mib run thread
- process_mib_thread = boost::thread(&snmpagent_impl::process_mib_run, this);
+ //set start time and start flag
+ start_date = time(NULL);
+ start_flag = true;
- //start trap run
- trap_thread = boost::thread(&snmpagent_impl::trap_run, this);
+ std::string str = "snmp function start.";
+ Logger::putLogInfo(LOG_CAT_L7VSD_SNMPAGENT, 1, str, __FILE__, __LINE__);
- //set start time and start flag
- start_date = time(NULL);
- start_flag = true;
+ } catch (const boost::thread_resource_error &e) {
+ std::stringstream msg;
+ msg << "snmp function start failed : " << e.what() << ".";
- std::string str = "snmp function start.";
- Logger::putLogInfo(LOG_CAT_L7VSD_SNMPAGENT, 1, str, __FILE__, __LINE__);
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 5, msg.str(), __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg.str());
+ }
+}
- } catch (const boost::thread_resource_error &e) {
- std::stringstream msg;
- msg << "snmp function start failed : " << e.what() << ".";
+/*!
+ * snmpagent function stop.
+ *
+ * @retrun void
+ */
+void snmpagent_impl::stop()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 37, "snmpagent_impl::stop", __FILE__, __LINE__);
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 5, msg.str(), __FILE__, __LINE__);
- //set error code
- err.setter(true, msg.str());
- }
+ enabled = FALSE;
+
+ if (!start_flag) {
+ std::string str = "snmp function has already stoped.";
+ Logger::putLogInfo(LOG_CAT_L7VSD_SNMPAGENT, 2, str, __FILE__, __LINE__);
+ return;
}
- /*!
- * snmpagent function stop.
- *
- * @retrun void
- */
- void snmpagent_impl::stop()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 37, "snmpagent_impl::stop", __FILE__, __LINE__);
+ start_flag = false;
- enabled = FALSE;
+ unregister_handler();
- if (!start_flag) {
- std::string str = "snmp function has already stoped.";
- Logger::putLogInfo(LOG_CAT_L7VSD_SNMPAGENT, 2, str, __FILE__, __LINE__);
- return;
- }
+ try {
+ trap_thread.interrupt();
+ process_mib_thread.join();
+ trap_thread.join();
- start_flag = false;
+ std::string str = "snmp function stop.";
+ Logger::putLogInfo(LOG_CAT_L7VSD_SNMPAGENT, 3, str, __FILE__, __LINE__);
- unregister_handler();
+ } catch (const boost::thread_interrupted &) {
+ std::stringstream msg;
+ msg << "thread interrupted exception.";
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 6, msg.str(), __FILE__, __LINE__);
+ }
+}
- try {
- trap_thread.interrupt();
- process_mib_thread.join();
- trap_thread.join();
+/*!
+ * set snmp function enable
+ *
+ * @retrun void
+ */
+void snmpagent_impl::enable()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 38, "snmpagent_impl::enable", __FILE__, __LINE__);
- std::string str = "snmp function stop.";
- Logger::putLogInfo(LOG_CAT_L7VSD_SNMPAGENT, 3, str, __FILE__, __LINE__);
+ //set snmp function enable flag
+ enabled = TRUE;
+ if (start_flag == false) {
+ error_code err;
+ start(err);
- } catch (const boost::thread_interrupted&) {
+ if (err) {
std::stringstream msg;
- msg << "thread interrupted exception.";
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 6, msg.str(), __FILE__, __LINE__);
+ msg << "snmp function start failed.";
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 7, msg.str(), __FILE__, __LINE__);
}
+ } else {
+ std::string str = "snmp function has already started.";
+ Logger::putLogInfo(LOG_CAT_L7VSD_SNMPAGENT, 4, str, __FILE__, __LINE__);
}
+}
- /*!
- * set snmp function enable
- *
- * @retrun void
- */
- void snmpagent_impl::enable()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 38, "snmpagent_impl::enable", __FILE__, __LINE__);
-
- //set snmp function enable flag
- enabled = TRUE;
- if (start_flag == false) {
- error_code err;
- start(err);
-
- if (err) {
- std::stringstream msg;
- msg << "snmp function start failed.";
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 7, msg.str(), __FILE__, __LINE__);
- }
- } else {
- std::string str = "snmp function has already started.";
- Logger::putLogInfo(LOG_CAT_L7VSD_SNMPAGENT, 4, str, __FILE__, __LINE__);
- }
+/*!
+ * set snmp function disable
+ *
+ * @retrun void
+ */
+void snmpagent_impl::disable()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 39, "snmpagent_impl::disable", __FILE__, __LINE__);
+
+ //set snmp function enable flag
+ enabled = FALSE;
+ if (start_flag == true) {
+ stop();
+ } else {
+ std::string str = "snmp function has already stoped.";
+ Logger::putLogInfo(LOG_CAT_L7VSD_SNMPAGENT, 5, str, __FILE__, __LINE__);
}
+}
- /*!
- * set snmp function disable
- *
- * @retrun void
- */
- void snmpagent_impl::disable()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 39, "snmpagent_impl::disable", __FILE__, __LINE__);
-
- //set snmp function enable flag
- enabled = FALSE;
- if (start_flag == true) {
- stop();
- } else {
- std::string str = "snmp function has already stoped.";
- Logger::putLogInfo(LOG_CAT_L7VSD_SNMPAGENT, 5, str, __FILE__, __LINE__);
- }
- }
+/*!
+ * set log trap enable
+ * @retrun void
+ */
+void snmpagent_impl::logtrap_enable()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 40, "snmpagent_impl::logtrap_enable", __FILE__, __LINE__);
- /*!
- * set log trap enable
- * @retrun void
- */
- void snmpagent_impl::logtrap_enable()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 40, "snmpagent_impl::logtrap_enable", __FILE__, __LINE__);
+ logtrap_enabled = TRUE;
+ Logger::logtrap_enable();
+}
- logtrap_enabled = TRUE;
- Logger::logtrap_enable();
- }
+/*!
+ * set log trap disable
+ * @retrun void
+ */
+void snmpagent_impl::logtrap_disable()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 41, "snmpagent_impl::logtrap_disable", __FILE__, __LINE__);
- /*!
- * set log trap disable
- * @retrun void
- */
- void snmpagent_impl::logtrap_disable()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 41, "snmpagent_impl::logtrap_disable", __FILE__, __LINE__);
+ logtrap_enabled = FALSE;
+ Logger::logtrap_disable();
+}
- logtrap_enabled = FALSE;
- Logger::logtrap_disable();
+/*!
+ * set log trap level.
+ *
+ * @param[in] in_level is log trap level
+ * @retrun void
+ */
+void snmpagent_impl::set_logtrap_level(const LOG_LEVEL_TAG in_level)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 42, "snmpagent_impl::set_logtrap_level", __FILE__, __LINE__);
+
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "snmpagent_impl::set_logtrap_level arguments:";
+ debugstr << boost::format("in_level=%d") % in_level;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 43, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
- /*!
- * set log trap level.
- *
- * @param[in] in_level is log trap level
- * @retrun void
- */
- void snmpagent_impl::set_logtrap_level(const LOG_LEVEL_TAG in_level)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 42, "snmpagent_impl::set_logtrap_level", __FILE__, __LINE__);
-
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "snmpagent_impl::set_logtrap_level arguments:";
- debugstr << boost::format("in_level=%d") % in_level;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 43, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ logtrap_level = in_level;
+ Logger::set_logtrap_level(in_level);
+}
- logtrap_level = in_level;
- Logger::set_logtrap_level(in_level);
+/*!
+ * set mib cache update interval.
+ *
+ * @param[in] in_interval is cache update interval
+ * @retrun void
+ */
+void snmpagent_impl::set_interval(const unsigned int in_interval)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 44, "snmpagent_impl::set_interval", __FILE__, __LINE__);
+
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "snmpagent_impl::set_interval arguments:";
+ debugstr << boost::format("in_interval=%d") % in_interval;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 45, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
+ interval = in_interval;
+}
- /*!
- * set mib cache update interval.
- *
- * @param[in] in_interval is cache update interval
- * @retrun void
- */
- void snmpagent_impl::set_interval(const unsigned int in_interval)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 44, "snmpagent_impl::set_interval", __FILE__, __LINE__);
+/*!
+ * refresh all the statistics.
+ *
+ * @return void
+ */
+void snmpagent_impl::refresh_all_statistics()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 46, "snmpagent_impl::refresh_all_statistics", __FILE__, __LINE__);
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "snmpagent_impl::set_interval arguments:";
- debugstr << boost::format("in_interval=%d") % in_interval;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 45, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
- interval = in_interval;
+ if (vsd == NULL) {
+ //mib collect failed
+ std::string msg("vsd pointer is NULL.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 8, msg, __FILE__, __LINE__);
+ return;
}
- /*!
- * refresh all the statistics.
- *
- * @return void
- */
- void snmpagent_impl::refresh_all_statistics()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 46, "snmpagent_impl::refresh_all_statistics", __FILE__, __LINE__);
-
- if (vsd == NULL) {
- //mib collect failed
- std::string msg("vsd pointer is NULL.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 8, msg, __FILE__, __LINE__);
- return;
- }
+ boost::mutex &virtualservice_list_mutex = vsd->get_virtualservice_list_mutex();
- boost::mutex &virtualservice_list_mutex = vsd->get_virtualservice_list_mutex();
+ boost::mutex::scoped_lock lock(virtualservice_list_mutex);
- boost::mutex::scoped_lock lock(virtualservice_list_mutex);
+ l7vsd::vslist_type &virtualservice_list = vsd->get_virtualservice_list();
- l7vsd::vslist_type &virtualservice_list = vsd->get_virtualservice_list();
+ for (l7vsd::vslist_type::iterator it = virtualservice_list.begin();
+ it != virtualservice_list.end(); it++) {
- for (l7vsd::vslist_type::iterator it = virtualservice_list.begin();
- it != virtualservice_list.end(); it++) {
+ //clear real server inactive count
+ (*it)->clear_inact();
+ protocol_module_base *protocol_module_ptr = (*it)->get_protocol_module();
+ stats_base &bstats = protocol_module_ptr->get_stats();
+ if (bstats.get_mode() == stats_base::MODE_HTTP) {
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::string debugstr = "function : snmpagent_impl::refresh_all_statistics :"
+ "stats_base::MODE_HTTP mode virtual service.";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 47, debugstr, __FILE__, __LINE__);
+ }
+ /*------ DEBUG LOG END ------*/
- //clear real server inactive count
- (*it)->clear_inact();
- protocol_module_base *protocol_module_ptr = (*it)->get_protocol_module();
- stats_base& bstats = protocol_module_ptr->get_stats();
- if ( bstats.get_mode() == stats_base::MODE_HTTP ) {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::string debugstr = "function : snmpagent_impl::refresh_all_statistics :"
- "stats_base::MODE_HTTP mode virtual service.";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 47, debugstr, __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ http_stats &hstats = static_cast<http_stats &>(bstats);
+ hstats.http_requests = 0ULL;
+ hstats.http_get_requests = 0ULL;
+ hstats.http_post_requests = 0ULL;
+ }
+ }
+}
- http_stats &hstats = static_cast<http_stats&>(bstats);
- hstats.http_requests = 0ULL;
- hstats.http_get_requests = 0ULL;
- hstats.http_post_requests = 0ULL;
- }
+/*!
+ * refresh a special virtual service's statistics.
+ *
+ * @param[in] vs_endpoint is virtual service's endpoint
+ * @param[in] protocol is virtual service's protocol
+ * @return void
+ */
+void snmpagent_impl::refresh_statistics(const boost::asio::ip::tcp::endpoint &vs_endpoint, const std::string &protocol)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 48, "snmpagent_impl::refresh_statistics", __FILE__, __LINE__);
+
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "snmpagent_impl::refresh_statistics arguments:";
+ if (vs_endpoint.address().is_v6()) {
+ debugstr << boost::format("vs_endpoint=[%s]:%d") % vs_endpoint.address().to_string() % vs_endpoint.port();
+ } else {
+ debugstr << boost::format("vs_endpoint=%s:%d") % vs_endpoint.address().to_string() % vs_endpoint.port();
}
+ debugstr << boost::format(", protocol=%s") % protocol;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 49, debugstr.str(), __FILE__, __LINE__);
}
- /*!
- * refresh a special virtual service's statistics.
- *
- * @param[in] vs_endpoint is virtual service's endpoint
- * @param[in] protocol is virtual service's protocol
- * @return void
- */
- void snmpagent_impl::refresh_statistics(const boost::asio::ip::tcp::endpoint& vs_endpoint, const std::string& protocol)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 48, "snmpagent_impl::refresh_statistics", __FILE__, __LINE__);
+ if (vsd == NULL) {
+ //mib collect failed
+ std::string msg("vsd pointer is NULL.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 9, msg, __FILE__, __LINE__);
+ return;
+ }
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "snmpagent_impl::refresh_statistics arguments:";
- if (vs_endpoint.address().is_v6()) {
- debugstr << boost::format("vs_endpoint=[%s]:%d") % vs_endpoint.address().to_string() % vs_endpoint.port();
- } else {
- debugstr << boost::format("vs_endpoint=%s:%d") % vs_endpoint.address().to_string() % vs_endpoint.port();
- }
- debugstr << boost::format(", protocol=%s") % protocol;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 49, debugstr.str(), __FILE__, __LINE__);
- }
+ boost::mutex &virtualservice_list_mutex = vsd->get_virtualservice_list_mutex();
- if (vsd == NULL) {
- //mib collect failed
- std::string msg("vsd pointer is NULL.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 9, msg, __FILE__, __LINE__);
- return;
- }
+ boost::mutex::scoped_lock lock(virtualservice_list_mutex);
+ l7vsd::vslist_type &virtualservice_list = vsd->get_virtualservice_list();
- boost::mutex &virtualservice_list_mutex = vsd->get_virtualservice_list_mutex();
+ virtualservice_element in_vselement;
+ in_vselement.udpmode = 0;
+ in_vselement.protocol_module_name = protocol;
+ in_vselement.tcp_accept_endpoint = vs_endpoint;
- boost::mutex::scoped_lock lock(virtualservice_list_mutex);
- l7vsd::vslist_type &virtualservice_list = vsd->get_virtualservice_list();
+ l7vsd::vslist_type::iterator it = vsd->search_vslist(in_vselement, true);
- virtualservice_element in_vselement;
- in_vselement.udpmode = 0;
- in_vselement.protocol_module_name = protocol;
- in_vselement.tcp_accept_endpoint = vs_endpoint;
+ if (it != virtualservice_list.end()) {
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::string debugstr = "function : snmpagent_impl::refresh_statistics :"
+ "input virtual service has found.";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 50, debugstr, __FILE__, __LINE__);
+ }
+ /*------ DEBUG LOG END ------*/
- l7vsd::vslist_type::iterator it = vsd->search_vslist(in_vselement, true);
+ //clear real server inactive count
+ (*it)->clear_inact();
- if (it != virtualservice_list.end()) {
+ protocol_module_base *protocol_module_ptr = (*it)->get_protocol_module();
+ stats_base &base_stats = protocol_module_ptr->get_stats();
+ if (base_stats.get_mode() == stats_base::MODE_HTTP) {
/*-------- DEBUG LOG --------*/
if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
std::string debugstr = "function : snmpagent_impl::refresh_statistics :"
- "input virtual service has found.";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 50, debugstr, __FILE__, __LINE__);
+ "stats_base::MODE_HTTP mode virtual service.";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 51, debugstr, __FILE__, __LINE__);
}
/*------ DEBUG LOG END ------*/
- //clear real server inactive count
- (*it)->clear_inact();
-
- protocol_module_base *protocol_module_ptr = (*it)->get_protocol_module();
- stats_base& base_stats = protocol_module_ptr->get_stats();
- if ( base_stats.get_mode() == stats_base::MODE_HTTP ) {
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::string debugstr = "function : snmpagent_impl::refresh_statistics :"
- "stats_base::MODE_HTTP mode virtual service.";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 51, debugstr, __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
-
- http_stats &httpstats = static_cast<http_stats&>(base_stats);
- //clear http statstics
- httpstats.http_requests = 0ULL;
- httpstats.http_get_requests = 0ULL;
- httpstats.http_post_requests = 0ULL;
+ http_stats &httpstats = static_cast<http_stats &>(base_stats);
+ //clear http statstics
+ httpstats.http_requests = 0ULL;
+ httpstats.http_get_requests = 0ULL;
+ httpstats.http_post_requests = 0ULL;
- }
}
}
+}
- /*!
- * set vsd infomation.
- *
- * @param[in] vsd is vsd pointer.
- * @retrun void
- */
- void snmpagent_impl::set_vsd_info(l7vsd* in_vsd)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 52, "snmpagent_impl::set_vsd_info", __FILE__, __LINE__);
-
- vsd = in_vsd;
- }
+/*!
+ * set vsd infomation.
+ *
+ * @param[in] vsd is vsd pointer.
+ * @retrun void
+ */
+void snmpagent_impl::set_vsd_info(l7vsd *in_vsd)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 52, "snmpagent_impl::set_vsd_info", __FILE__, __LINE__);
- /*!
- * get snmp infomation.
- *
- * @retrun snmp_info is snmp infomation.
- */
- snmp_info snmpagent_impl::get_snmp_info()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 53, "snmpagent_impl::get_snmp_info", __FILE__, __LINE__);
- snmp_info snmpinfo;
-
- //push the local variable into snmp info
- snmpinfo.enabled = enabled.get();
- snmpinfo.interval = interval.get();
- snmpinfo.logtrap_enabled = logtrap_enabled;
- snmpinfo.logtrap_level = logtrap_level;
- snmpinfo.request_last_date = request_last_date.get();
- snmpinfo.snmp_get_requests = snmp_get_requests.get();
- snmpinfo.snmp_set_requests = snmp_set_requests.get();
- snmpinfo.snmp_trap_count = snmp_trap_count.get();
- snmpinfo.start_date = start_date.get();
- snmpinfo.trap_last_date = trap_last_date.get();
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::ostringstream debugstr;
- debugstr << "function : snmpagent_impl::get_snmp_info : snmpinfo : ";
- debugstr << snmpinfo << ".";
+ vsd = in_vsd;
+}
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 54, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
- return snmpinfo;
+/*!
+ * get snmp infomation.
+ *
+ * @retrun snmp_info is snmp infomation.
+ */
+snmp_info snmpagent_impl::get_snmp_info()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 53, "snmpagent_impl::get_snmp_info", __FILE__, __LINE__);
+ snmp_info snmpinfo;
+
+ //push the local variable into snmp info
+ snmpinfo.enabled = enabled.get();
+ snmpinfo.interval = interval.get();
+ snmpinfo.logtrap_enabled = logtrap_enabled;
+ snmpinfo.logtrap_level = logtrap_level;
+ snmpinfo.request_last_date = request_last_date.get();
+ snmpinfo.snmp_get_requests = snmp_get_requests.get();
+ snmpinfo.snmp_set_requests = snmp_set_requests.get();
+ snmpinfo.snmp_trap_count = snmp_trap_count.get();
+ snmpinfo.start_date = start_date.get();
+ snmpinfo.trap_last_date = trap_last_date.get();
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::ostringstream debugstr;
+ debugstr << "function : snmpagent_impl::get_snmp_info : snmpinfo : ";
+ debugstr << snmpinfo << ".";
+
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 54, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
+ return snmpinfo;
+}
- /*!
- * load configure file setting.
- *
- * @retrun void
- */
- void snmpagent_impl::load_config()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 55, "snmpagent_impl::load_config", __FILE__, __LINE__);
- l7vs::Parameter param;
- l7vs::error_code err;
-
- std::string tmp_str = param.get_string(l7vs::PARAM_COMP_SNMPAGENT, "enable", err);
- if (!err) {
- if (tmp_str == "true") {
- enabled = TRUE;
- } else if (tmp_str == "false") {
- enabled = FALSE;
- } else {
- enabled = FALSE;
- std::string msg("enable parameter value is invalid. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 1, msg, __FILE__, __LINE__);
- }
+/*!
+ * load configure file setting.
+ *
+ * @retrun void
+ */
+void snmpagent_impl::load_config()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 55, "snmpagent_impl::load_config", __FILE__, __LINE__);
+ l7vs::Parameter param;
+ l7vs::error_code err;
+
+ std::string tmp_str = param.get_string(l7vs::PARAM_COMP_SNMPAGENT, "enable", err);
+ if (!err) {
+ if (tmp_str == "true") {
+ enabled = TRUE;
+ } else if (tmp_str == "false") {
+ enabled = FALSE;
} else {
enabled = FALSE;
- std::string msg("enable parameter not found. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 2, msg, __FILE__, __LINE__);
+ std::string msg("enable parameter value is invalid. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 1, msg, __FILE__, __LINE__);
}
+ } else {
+ enabled = FALSE;
+ std::string msg("enable parameter not found. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 2, msg, __FILE__, __LINE__);
+ }
- int tmp_int = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, "trap_queue_polling_interval", err);
+ int tmp_int = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, "trap_queue_polling_interval", err);
- if (!err) {
- if ((tmp_int > 0) && (tmp_int < SNMP_MAX_TRAP_POLLING_INTEVAL)) {
- trap_polling_interval = tmp_int;
- } else {
- trap_polling_interval = SNMP_DEFAULT_TRAP_POLLING_INTEVAL;
- std::string msg("trap_queue_polling_interval parameter value is invalid. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 3, msg, __FILE__, __LINE__);
- }
+ if (!err) {
+ if ((tmp_int > 0) && (tmp_int < SNMP_MAX_TRAP_POLLING_INTEVAL)) {
+ trap_polling_interval = tmp_int;
} else {
trap_polling_interval = SNMP_DEFAULT_TRAP_POLLING_INTEVAL;
- std::string msg("trap_queue_polling_interval parameter not found. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 4, msg, __FILE__, __LINE__);
+ std::string msg("trap_queue_polling_interval parameter value is invalid. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 3, msg, __FILE__, __LINE__);
}
+ } else {
+ trap_polling_interval = SNMP_DEFAULT_TRAP_POLLING_INTEVAL;
+ std::string msg("trap_queue_polling_interval parameter not found. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 4, msg, __FILE__, __LINE__);
+ }
- tmp_int = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, "trap_queue_max_size", err);
- if (!err) {
- if (tmp_int > 0) {
- trap_queue_max_size = tmp_int;
- } else {
- trap_queue_max_size = SNMP_DEFAULT_TRAP_QUEUE_MAX_SIZE;
- std::string msg("trap_queue_max_size parameter value is invalid. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 5, msg, __FILE__, __LINE__);
- }
+ tmp_int = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, "trap_queue_max_size", err);
+ if (!err) {
+ if (tmp_int > 0) {
+ trap_queue_max_size = tmp_int;
} else {
trap_queue_max_size = SNMP_DEFAULT_TRAP_QUEUE_MAX_SIZE;
- std::string msg("trap_queue_max_size parameter not found. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 6, msg, __FILE__, __LINE__);
+ std::string msg("trap_queue_max_size parameter value is invalid. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 5, msg, __FILE__, __LINE__);
}
+ } else {
+ trap_queue_max_size = SNMP_DEFAULT_TRAP_QUEUE_MAX_SIZE;
+ std::string msg("trap_queue_max_size parameter not found. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 6, msg, __FILE__, __LINE__);
+ }
- tmp_int = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, "cache_update_interval", err);
- if (!err) {
- if (tmp_int >= 0) {
- interval = tmp_int;
- } else {
- interval = 1;
- std::string msg("cache_update_interval parameter value is invalid. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 7, msg, __FILE__, __LINE__);
- }
+ tmp_int = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, "cache_update_interval", err);
+ if (!err) {
+ if (tmp_int >= 0) {
+ interval = tmp_int;
} else {
interval = 1;
- std::string msg("cache_update_interval parameter not found. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 8, msg, __FILE__, __LINE__);
+ std::string msg("cache_update_interval parameter value is invalid. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 7, msg, __FILE__, __LINE__);
}
+ } else {
+ interval = 1;
+ std::string msg("cache_update_interval parameter not found. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 8, msg, __FILE__, __LINE__);
+ }
- tmp_str = param.get_string(l7vs::PARAM_COMP_SNMPAGENT, "logtrap", err);
- if (!err) {
- if (tmp_str == "true") {
- logtrap_enable();
- } else if (tmp_str == "false") {
- logtrap_disable();
- } else {
- logtrap_disable();
- std::string msg("logtrap parameter value is invalid. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 9, msg, __FILE__, __LINE__);
- }
+ tmp_str = param.get_string(l7vs::PARAM_COMP_SNMPAGENT, "logtrap", err);
+ if (!err) {
+ if (tmp_str == "true") {
+ logtrap_enable();
+ } else if (tmp_str == "false") {
+ logtrap_disable();
} else {
logtrap_disable();
- std::string msg("logtrap parameter not found. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 10, msg, __FILE__, __LINE__);
+ std::string msg("logtrap parameter value is invalid. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 9, msg, __FILE__, __LINE__);
}
+ } else {
+ logtrap_disable();
+ std::string msg("logtrap parameter not found. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 10, msg, __FILE__, __LINE__);
+ }
- tmp_str = param.get_string(l7vs::PARAM_COMP_SNMPAGENT, "logtrap_level", err);
- if (!err) {
- string_loglevel_map_type::iterator itr = string_loglevel_map.find(tmp_str);
- if (itr != string_loglevel_map.end()) {
- set_logtrap_level(itr->second);
- } else {
- set_logtrap_level( LOG_LV_WARN);
- std::string msg("logtrap_level parameter value is invalid. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 11, msg, __FILE__, __LINE__);
- }
+ tmp_str = param.get_string(l7vs::PARAM_COMP_SNMPAGENT, "logtrap_level", err);
+ if (!err) {
+ string_loglevel_map_type::iterator itr = string_loglevel_map.find(tmp_str);
+ if (itr != string_loglevel_map.end()) {
+ set_logtrap_level(itr->second);
} else {
set_logtrap_level(LOG_LV_WARN);
- std::string msg("logtrap_level parameter not found. Use default value.");
- Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 12, msg, __FILE__, __LINE__);
+ std::string msg("logtrap_level parameter value is invalid. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 11, msg, __FILE__, __LINE__);
}
+ } else {
+ set_logtrap_level(LOG_LV_WARN);
+ std::string msg("logtrap_level parameter not found. Use default value.");
+ Logger::putLogWarn(LOG_CAT_L7VSD_SNMPAGENT, 12, msg, __FILE__, __LINE__);
+ }
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::stringstream debugstr;
- debugstr << "function : snmpagent_impl::load_config : ";
- debugstr << "enabled = [" << enabled.get() << "], ";
- debugstr << "interval = [" << interval.get() << "], ";
- debugstr << "logtrap_enabled = [" << logtrap_enabled << "], ";
- debugstr << "logtrap_level = [" << static_cast<int>(logtrap_level) << "], ";
- debugstr << "trap_polling_interval = [" << trap_polling_interval.get() << "], ";
- debugstr << "trap_queue_max_size = [" << trap_queue_max_size.get() << "]. ";
-
- Logger::putLogDebug(l7vs::LOG_CAT_L7VSD_SNMPAGENT, 56, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::stringstream debugstr;
+ debugstr << "function : snmpagent_impl::load_config : ";
+ debugstr << "enabled = [" << enabled.get() << "], ";
+ debugstr << "interval = [" << interval.get() << "], ";
+ debugstr << "logtrap_enabled = [" << logtrap_enabled << "], ";
+ debugstr << "logtrap_level = [" << static_cast<int>(logtrap_level) << "], ";
+ debugstr << "trap_polling_interval = [" << trap_polling_interval.get() << "], ";
+ debugstr << "trap_queue_max_size = [" << trap_queue_max_size.get() << "]. ";
+
+ Logger::putLogDebug(l7vs::LOG_CAT_L7VSD_SNMPAGENT, 56, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
+}
- /*!
- * collect mib data.
- *
- * @param[in] error_code is err code.
- * @retrun void
- */
- void snmpagent_impl::collect_mibdata(error_code& err)
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 57, "snmpagent_impl::collect_mibdata", __FILE__, __LINE__);
-
- //check vsd pointer
- if (vsd == NULL) {
- std::string msg("vsd pointer is NULL.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 10, msg, __FILE__, __LINE__);
+/*!
+ * collect mib data.
+ *
+ * @param[in] error_code is err code.
+ * @retrun void
+ */
+void snmpagent_impl::collect_mibdata(error_code &err)
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 57, "snmpagent_impl::collect_mibdata", __FILE__, __LINE__);
+
+ //check vsd pointer
+ if (vsd == NULL) {
+ std::string msg("vsd pointer is NULL.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 10, msg, __FILE__, __LINE__);
+ //set error code
+ err.setter(true, msg);
+ return;
+ }
+
+ //check timeout
+ if (!check_timeout()) {
+
+ //collect mib data
+ mibdata::get_instance().collect_mibdata(vsd, err);
+
+ if (err) {
+ std::string msg("collect mib data failed.");
+ Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 11, msg, __FILE__, __LINE__);
//set error code
err.setter(true, msg);
return;
}
- //check timeout
- if (!check_timeout()) {
-
- //collect mib data
- mibdata::get_instance().collect_mibdata(vsd, err);
+ boost::posix_time::ptime now_time(boost::posix_time::second_clock::local_time());
+ mib_collect_last_time = now_time;
- if (err) {
- std::string msg("collect mib data failed.");
- Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 11, msg, __FILE__, __LINE__);
- //set error code
- err.setter(true, msg);
- return;
- }
-
- boost::posix_time::ptime now_time(boost::posix_time::second_clock::local_time());
- mib_collect_last_time = now_time;
-
- }
}
+}
- /*!
- * finalize.
- *
- * @retrun void
- */
- void snmpagent_impl::finalize()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 58, "snmpagent_impl::finalize", __FILE__, __LINE__);
-
- if (start_flag == true) {
- stop();
- }
+/*!
+ * finalize.
+ *
+ * @retrun void
+ */
+void snmpagent_impl::finalize()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 58, "snmpagent_impl::finalize", __FILE__, __LINE__);
- //shutdown l7vsAgent
- snmp_shutdown("l7vsAgent");
- shutdown_master_agent();
- shutdown_agent();
- SOCK_CLEANUP;
+ if (start_flag == true) {
+ stop();
}
- /*!
- * increment get request count.
- *
- * @retrun void
- */
- void snmpagent_impl::increment_getrequest_count()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 59, "snmpagent_impl::increment_getrequest_count", __FILE__, __LINE__);
- snmp_get_requests++;
+ //shutdown l7vsAgent
+ snmp_shutdown("l7vsAgent");
+ shutdown_master_agent();
+ shutdown_agent();
+ SOCK_CLEANUP;
+}
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::ostringstream debugstr;
- debugstr << "function : snmpagent_impl::increment_getrequest_count : snmp_get_requests = ";
- debugstr << snmp_get_requests.get() << ".";
+/*!
+ * increment get request count.
+ *
+ * @retrun void
+ */
+void snmpagent_impl::increment_getrequest_count()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 59, "snmpagent_impl::increment_getrequest_count", __FILE__, __LINE__);
+ snmp_get_requests++;
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 60, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::ostringstream debugstr;
+ debugstr << "function : snmpagent_impl::increment_getrequest_count : snmp_get_requests = ";
+ debugstr << snmp_get_requests.get() << ".";
+
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 60, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
+}
- /*!
- * increment set request count.
- *
- * @retrun void
- */
- void snmpagent_impl::increment_setrequest_count()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 61, "snmpagent_impl::increment_setrequest_count", __FILE__, __LINE__);
- snmp_set_requests++;
+/*!
+ * increment set request count.
+ *
+ * @retrun void
+ */
+void snmpagent_impl::increment_setrequest_count()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 61, "snmpagent_impl::increment_setrequest_count", __FILE__, __LINE__);
+ snmp_set_requests++;
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::ostringstream debugstr;
- debugstr << "function : snmpagent_impl::increment_getrequest_count : snmp_set_requests = ";
- debugstr << snmp_set_requests.get() << ".";
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::ostringstream debugstr;
+ debugstr << "function : snmpagent_impl::increment_getrequest_count : snmp_set_requests = ";
+ debugstr << snmp_set_requests.get() << ".";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 62, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 62, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
+}
- /*!
- * update last request date.
- *
- * @retrun void
- */
- void snmpagent_impl::update_last_request_date()
- {
- Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 59, "snmpagent_impl::update_last_request_date", __FILE__, __LINE__);
- //update last request date
- request_last_date = time(NULL);
+/*!
+ * update last request date.
+ *
+ * @retrun void
+ */
+void snmpagent_impl::update_last_request_date()
+{
+ Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 59, "snmpagent_impl::update_last_request_date", __FILE__, __LINE__);
+ //update last request date
+ request_last_date = time(NULL);
- /*-------- DEBUG LOG --------*/
- if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
- std::ostringstream debugstr;
- debugstr << "function : snmpagent_impl::update_last_request_date : request_last_date = ";
- debugstr << request_last_date.get() << ".";
+ /*-------- DEBUG LOG --------*/
+ if (LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SNMPAGENT)) {
+ std::ostringstream debugstr;
+ debugstr << "function : snmpagent_impl::update_last_request_date : request_last_date = ";
+ debugstr << request_last_date.get() << ".";
- Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 60, debugstr.str(), __FILE__, __LINE__);
- }
- /*------ DEBUG LOG END ------*/
+ Logger::putLogDebug(LOG_CAT_L7VSD_SNMPAGENT, 60, debugstr.str(), __FILE__, __LINE__);
}
+ /*------ DEBUG LOG END ------*/
+}
}
* @retrun void
*/
void
-init_snmp_handles(error_code& err)
+init_snmp_handles(error_code &err)
{
Logger logger(LOG_CAT_L7VSD_SNMPAGENT, 76, "snmpfunc::init_snmp_handles", __FILE__, __LINE__);
int ret = netsnmp_register_scalar(vs_table_size_handler);
- if ( ret ) {
+ if (ret) {
std::string msg("netsnmp_register_scalar failed.");
Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 68, msg, __FILE__, __LINE__);
//set error code
snmptrap_oid,
OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsServiceStart_oid,
+ (u_char *)l7vsServiceStart_oid,
sizeof(l7vsServiceStart_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsServiceStart_oid,
OID_LENGTH(l7vsServiceStart_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
snmptrap_oid,
OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsServiceStop_oid,
+ (u_char *)l7vsServiceStop_oid,
sizeof(l7vsServiceStop_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsServiceStop_oid,
OID_LENGTH(l7vsServiceStop_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingVsAdd_oid,
+ (u_char *)l7vsBalancingVsAdd_oid,
sizeof(l7vsBalancingVsAdd_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsBalancingVsAdd_oid,
OID_LENGTH(l7vsBalancingVsAdd_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingVsChange_oid,
+ (u_char *)l7vsBalancingVsChange_oid,
sizeof(l7vsBalancingVsChange_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsBalancingVsChange_oid,
OID_LENGTH(l7vsBalancingVsChange_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingVsRemove_oid,
+ (u_char *)l7vsBalancingVsRemove_oid,
sizeof(l7vsBalancingVsRemove_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsBalancingVsRemove_oid,
OID_LENGTH(l7vsBalancingVsRemove_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingRsAdd_oid,
+ (u_char *)l7vsBalancingRsAdd_oid,
sizeof(l7vsBalancingRsAdd_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsBalancingRsAdd_oid,
OID_LENGTH(l7vsBalancingRsAdd_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingRsChange_oid,
+ (u_char *)l7vsBalancingRsChange_oid,
sizeof(l7vsBalancingRsChange_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsBalancingRsChange_oid,
OID_LENGTH(l7vsBalancingRsChange_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingRsRemove_oid,
+ (u_char *)l7vsBalancingRsRemove_oid,
sizeof(l7vsBalancingRsRemove_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsBalancingRsRemove_oid,
OID_LENGTH(l7vsBalancingRsRemove_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingUpQoSAlertOn_oid,
+ (u_char *)l7vsBalancingUpQoSAlertOn_oid,
sizeof(l7vsBalancingUpQoSAlertOn_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsBalancingUpQoSAlertOn_oid,
OID_LENGTH(l7vsBalancingUpQoSAlertOn_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingUpQoSAlertOff_oid,
+ (u_char *)l7vsBalancingUpQoSAlertOff_oid,
sizeof(l7vsBalancingUpQoSAlertOff_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsBalancingUpQoSAlertOff_oid,
OID_LENGTH(l7vsBalancingUpQoSAlertOff_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingDownQoSAlertOn_oid,
+ (u_char *)l7vsBalancingDownQoSAlertOn_oid,
sizeof(l7vsBalancingDownQoSAlertOn_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsBalancingDownQoSAlertOn_oid,
OID_LENGTH(l7vsBalancingDownQoSAlertOn_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingDownQoSAlertOff_oid,
+ (u_char *)l7vsBalancingDownQoSAlertOff_oid,
sizeof(l7vsBalancingDownQoSAlertOff_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsBalancingDownQoSAlertOff_oid,
OID_LENGTH(l7vsBalancingDownQoSAlertOff_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingSessionPoolAlertOn_oid,
+ (u_char *)l7vsBalancingSessionPoolAlertOn_oid,
sizeof(l7vsBalancingSessionPoolAlertOn_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
l7vsBalancingSessionPoolAlertOn_oid,
OID_LENGTH(l7vsBalancingSessionPoolAlertOn_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsBalancingSessionPoolAlertOff_oid,
+ (u_char *)l7vsBalancingSessionPoolAlertOff_oid,
sizeof
(l7vsBalancingSessionPoolAlertOff_oid));
if (!ret_list) {
l7vsBalancingSessionPoolAlertOff_oid,
OID_LENGTH(l7vsBalancingSessionPoolAlertOff_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsLogFatal_oid, sizeof(l7vsLogFatal_oid));
+ (u_char *)l7vsLogFatal_oid, sizeof(l7vsLogFatal_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 57, msg, __FILE__, __LINE__);
l7vsLogFatal_oid,
OID_LENGTH(l7vsLogFatal_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsLogError_oid, sizeof(l7vsLogError_oid));
+ (u_char *)l7vsLogError_oid, sizeof(l7vsLogError_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 59, msg, __FILE__, __LINE__);
l7vsLogError_oid,
OID_LENGTH(l7vsLogError_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsLogWarn_oid, sizeof(l7vsLogWarn_oid));
+ (u_char *)l7vsLogWarn_oid, sizeof(l7vsLogWarn_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 61, msg, __FILE__, __LINE__);
l7vsLogWarn_oid,
OID_LENGTH(l7vsLogWarn_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsLogInfo_oid, sizeof(l7vsLogInfo_oid));
+ (u_char *)l7vsLogInfo_oid, sizeof(l7vsLogInfo_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 63, msg, __FILE__, __LINE__);
l7vsLogInfo_oid,
OID_LENGTH(l7vsLogInfo_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
ret_list = snmp_varlist_add_variable(&var_list,
snmptrap_oid, OID_LENGTH(snmptrap_oid),
ASN_OBJECT_ID,
- (u_char*)l7vsLogDebug_oid, sizeof(l7vsLogDebug_oid));
+ (u_char *)l7vsLogDebug_oid, sizeof(l7vsLogDebug_oid));
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
Logger::putLogError(LOG_CAT_L7VSD_SNMPAGENT, 65, msg, __FILE__, __LINE__);
l7vsLogDebug_oid,
OID_LENGTH(l7vsLogDebug_oid),
ASN_OCTET_STR,
- (u_char*)in_trapmessage.c_str(),
+ (u_char *)in_trapmessage.c_str(),
in_trapmessage.length());
if (!ret_list) {
std::string msg("snmp_varlist_add_variable failed.");
const int set_ssl_handshake_time_out,
logger_implement_access *set_access_logger)
:
- parent_dispatcher(session_io),
+ parent_dispatcher(session_io),
parent_service(vs),
exit_flag(0),
- upthread_status(UPTHREAD_SLEEP),
- downthread_status(DOWNTHREAD_SLEEP),
+ upthread_status(UPTHREAD_SLEEP),
+ downthread_status(DOWNTHREAD_SLEEP),
protocol_module(NULL),
- client_socket( session_io, set_option ),
+ client_socket(session_io, set_option),
upstream_buffer_size(-1),
downstream_buffer_size(-1),
virtualservice_endpoint(listen_endpoint),
access_log_flag(false),
access_logger(set_access_logger),
ssl_flag(ssl_mode),
- client_ssl_socket( session_io, set_option, set_ssl_context ),
+ client_ssl_socket(session_io, set_option, set_ssl_context),
ssl_context(set_ssl_context),
ssl_cache_flag(set_ssl_cache_flag),
- ssl_handshake_time_out(set_ssl_handshake_time_out),
+ ssl_handshake_time_out(set_ssl_handshake_time_out),
socket_opt_info(set_option)
{
// set up_thread_module_event_map
- up_thread_module_event_map[protocol_module_base::ACCEPT] = UP_FUNC_CLIENT_ACCEPT;
- up_thread_module_event_map[protocol_module_base::CLIENT_DISCONNECT] = UP_FUNC_CLIENT_DISCONNECT;
- up_thread_module_event_map[protocol_module_base::CLIENT_RECV] = UP_FUNC_CLIENT_RECEIVE;
- up_thread_module_event_map[protocol_module_base::CLIENT_RESPONSE_SEND] = UP_FUNC_CLIENT_RESPOND_SEND;
- up_thread_module_event_map[protocol_module_base::REALSERVER_SELECT] = UP_FUNC_REALSERVER_GET_DEST_EVENT;
- up_thread_module_event_map[protocol_module_base::REALSERVER_CONNECT] = UP_FUNC_REALSERVER_CONNECT;
- up_thread_module_event_map[protocol_module_base::REALSERVER_SEND] = UP_FUNC_REALSERVER_SEND;
- up_thread_module_event_map[protocol_module_base::REALSERVER_DISCONNECT] = UP_FUNC_REALSERVER_ALL_DISCONNECT;
- up_thread_module_event_map[protocol_module_base::SORRYSERVER_SELECT] = UP_FUNC_SORRYSERVER_GET_DEST;
- up_thread_module_event_map[protocol_module_base::SORRYSERVER_CONNECT] = UP_FUNC_SORRYSERVER_CONNECT;
- up_thread_module_event_map[protocol_module_base::SORRYSERVER_SEND] = UP_FUNC_SORRYSERVER_SEND;
- up_thread_module_event_map[protocol_module_base::SORRYSERVER_DISCONNECT]= UP_FUNC_SORRYSERVER_MOD_DISCONNECT;
- up_thread_module_event_map[protocol_module_base::FINALIZE] = UP_FUNC_EXIT;
+ up_thread_module_event_map[protocol_module_base::ACCEPT] = UP_FUNC_CLIENT_ACCEPT;
+ up_thread_module_event_map[protocol_module_base::CLIENT_DISCONNECT] = UP_FUNC_CLIENT_DISCONNECT;
+ up_thread_module_event_map[protocol_module_base::CLIENT_RECV] = UP_FUNC_CLIENT_RECEIVE;
+ up_thread_module_event_map[protocol_module_base::CLIENT_RESPONSE_SEND] = UP_FUNC_CLIENT_RESPOND_SEND;
+ up_thread_module_event_map[protocol_module_base::REALSERVER_SELECT] = UP_FUNC_REALSERVER_GET_DEST_EVENT;
+ up_thread_module_event_map[protocol_module_base::REALSERVER_CONNECT] = UP_FUNC_REALSERVER_CONNECT;
+ up_thread_module_event_map[protocol_module_base::REALSERVER_SEND] = UP_FUNC_REALSERVER_SEND;
+ up_thread_module_event_map[protocol_module_base::REALSERVER_DISCONNECT] = UP_FUNC_REALSERVER_ALL_DISCONNECT;
+ up_thread_module_event_map[protocol_module_base::SORRYSERVER_SELECT] = UP_FUNC_SORRYSERVER_GET_DEST;
+ up_thread_module_event_map[protocol_module_base::SORRYSERVER_CONNECT] = UP_FUNC_SORRYSERVER_CONNECT;
+ up_thread_module_event_map[protocol_module_base::SORRYSERVER_SEND] = UP_FUNC_SORRYSERVER_SEND;
+ up_thread_module_event_map[protocol_module_base::SORRYSERVER_DISCONNECT] = UP_FUNC_SORRYSERVER_MOD_DISCONNECT;
+ up_thread_module_event_map[protocol_module_base::FINALIZE] = UP_FUNC_EXIT;
// set up_que_function_map
- up_que_function_map[UP_FUNC_CLIENT_DISCONNECT] =
- boost::bind( &tcp_session::up_thread_client_disconnect, this, _1 );
- up_que_function_map[UP_FUNC_CLIENT_DISCONNECT_EVENT] =
- boost::bind( &tcp_session::up_thread_client_disconnect_event, this, _1 );
- up_que_function_map[UP_FUNC_REALSERVER_DISCONNECT] =
- boost::bind( &tcp_session::up_thread_realserver_disconnect, this, _1 );
- up_que_function_map[UP_FUNC_SORRYSERVER_DISCONNECT_EVENT] =
- boost::bind( &tcp_session::up_thread_sorryserver_disconnect_event, this, _1 );
- up_que_function_map[UP_FUNC_PAUSE_ON_EVENT] =
- boost::bind( &tcp_session::up_thread_session_pause_on_event, this, _1 );
- up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT] =
- boost::bind( &tcp_session::up_thread_session_pause_off_event, this, _1 );
- up_que_function_map[UP_FUNC_CLIENT_ACCEPT_EVENT] =
- boost::bind( &tcp_session::up_thread_client_accept_event, this, _1 );
- up_que_function_map[UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT] =
- boost::bind( &tcp_session::up_thread_client_accept_fail_event, this, _1 );
+ up_que_function_map[UP_FUNC_CLIENT_DISCONNECT] =
+ boost::bind(&tcp_session::up_thread_client_disconnect, this, _1);
+ up_que_function_map[UP_FUNC_CLIENT_DISCONNECT_EVENT] =
+ boost::bind(&tcp_session::up_thread_client_disconnect_event, this, _1);
+ up_que_function_map[UP_FUNC_REALSERVER_DISCONNECT] =
+ boost::bind(&tcp_session::up_thread_realserver_disconnect, this, _1);
+ up_que_function_map[UP_FUNC_SORRYSERVER_DISCONNECT_EVENT] =
+ boost::bind(&tcp_session::up_thread_sorryserver_disconnect_event, this, _1);
+ up_que_function_map[UP_FUNC_PAUSE_ON_EVENT] =
+ boost::bind(&tcp_session::up_thread_session_pause_on_event, this, _1);
+ up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT] =
+ boost::bind(&tcp_session::up_thread_session_pause_off_event, this, _1);
+ up_que_function_map[UP_FUNC_CLIENT_ACCEPT_EVENT] =
+ boost::bind(&tcp_session::up_thread_client_accept_event, this, _1);
+ up_que_function_map[UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT] =
+ boost::bind(&tcp_session::up_thread_client_accept_fail_event, this, _1);
// set up_thread_function_array
up_thread_function_array[UP_FUNC_CLIENT_ACCEPT] =
- std::make_pair(
- UP_FUNC_CLIENT_ACCEPT,
- boost::bind(&tcp_session::up_thread_client_accept,this,_1));
+ std::make_pair(
+ UP_FUNC_CLIENT_ACCEPT,
+ boost::bind(&tcp_session::up_thread_client_accept, this, _1));
up_thread_function_array[UP_FUNC_CLIENT_ACCEPT_EVENT] =
- std::make_pair(
- UP_FUNC_CLIENT_ACCEPT_EVENT,
- boost::bind(&tcp_session::up_thread_client_accept_event,this,_1));
+ std::make_pair(
+ UP_FUNC_CLIENT_ACCEPT_EVENT,
+ boost::bind(&tcp_session::up_thread_client_accept_event, this, _1));
up_thread_function_array[UP_FUNC_CLIENT_DISCONNECT] =
- std::make_pair(
- UP_FUNC_CLIENT_DISCONNECT,
- boost::bind(&tcp_session::up_thread_client_disconnect,this,_1));
+ std::make_pair(
+ UP_FUNC_CLIENT_DISCONNECT,
+ boost::bind(&tcp_session::up_thread_client_disconnect, this, _1));
up_thread_function_array[UP_FUNC_CLIENT_DISCONNECT_EVENT] =
- std::make_pair(
- UP_FUNC_CLIENT_DISCONNECT_EVENT,
- boost::bind(&tcp_session::up_thread_client_disconnect_event,this,_1));
+ std::make_pair(
+ UP_FUNC_CLIENT_DISCONNECT_EVENT,
+ boost::bind(&tcp_session::up_thread_client_disconnect_event, this, _1));
up_thread_function_array[UP_FUNC_CLIENT_RECEIVE] =
- std::make_pair(
- UP_FUNC_CLIENT_RECEIVE,
- boost::bind(&tcp_session::up_thread_client_receive,this,_1));
- up_thread_function_array[UP_FUNC_CLIENT_HANDLE_ARECIEVE] =
- std::make_pair(
- UP_FUNC_CLIENT_HANDLE_ARECIEVE,
- boost::bind(&tcp_session::up_thread_client_handle_async_read_some,this,_1));
- up_thread_function_array[UP_FUNC_CLIENT_RESPOND_SEND] =
- std::make_pair(
- UP_FUNC_CLIENT_RESPOND_SEND,
- boost::bind(&tcp_session::up_thread_client_respond,this,_1));
+ std::make_pair(
+ UP_FUNC_CLIENT_RECEIVE,
+ boost::bind(&tcp_session::up_thread_client_receive, this, _1));
+ up_thread_function_array[UP_FUNC_CLIENT_HANDLE_ARECIEVE] =
+ std::make_pair(
+ UP_FUNC_CLIENT_HANDLE_ARECIEVE,
+ boost::bind(&tcp_session::up_thread_client_handle_async_read_some, this, _1));
+ up_thread_function_array[UP_FUNC_CLIENT_RESPOND_SEND] =
+ std::make_pair(
+ UP_FUNC_CLIENT_RESPOND_SEND,
+ boost::bind(&tcp_session::up_thread_client_respond, this, _1));
up_thread_function_array[UP_FUNC_CLIENT_RESPOND_SEND_EVENT] =
- std::make_pair(
- UP_FUNC_CLIENT_RESPOND_SEND_EVENT,
- boost::bind(&tcp_session::up_thread_client_respond_event,this,_1));
+ std::make_pair(
+ UP_FUNC_CLIENT_RESPOND_SEND_EVENT,
+ boost::bind(&tcp_session::up_thread_client_respond_event, this, _1));
up_thread_function_array[UP_FUNC_REALSERVER_GET_DEST_EVENT] =
- std::make_pair(
- UP_FUNC_REALSERVER_GET_DEST_EVENT,
- boost::bind(&tcp_session::up_thread_realserver_get_destination_event,this,_1));
+ std::make_pair(
+ UP_FUNC_REALSERVER_GET_DEST_EVENT,
+ boost::bind(&tcp_session::up_thread_realserver_get_destination_event, this, _1));
up_thread_function_array[UP_FUNC_REALSERVER_CONNECT] =
- std::make_pair(
- UP_FUNC_REALSERVER_CONNECT,
- boost::bind(&tcp_session::up_thread_realserver_connect,this,_1));
+ std::make_pair(
+ UP_FUNC_REALSERVER_CONNECT,
+ boost::bind(&tcp_session::up_thread_realserver_connect, this, _1));
up_thread_function_array[UP_FUNC_REALSERVER_CONNECT_EVENT] =
- std::make_pair(
- UP_FUNC_REALSERVER_CONNECT_EVENT,
- boost::bind(&tcp_session::up_thread_realserver_connect_event,this,_1));
+ std::make_pair(
+ UP_FUNC_REALSERVER_CONNECT_EVENT,
+ boost::bind(&tcp_session::up_thread_realserver_connect_event, this, _1));
up_thread_function_array[UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT] =
- std::make_pair(
- UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT,
- boost::bind(&tcp_session::up_thread_realserver_connection_fail_event,this,_1));
+ std::make_pair(
+ UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT,
+ boost::bind(&tcp_session::up_thread_realserver_connection_fail_event, this, _1));
up_thread_function_array[UP_FUNC_REALSERVER_SEND] =
- std::make_pair(
- UP_FUNC_REALSERVER_SEND,
- boost::bind(&tcp_session::up_thread_realserver_send,this,_1));
- up_thread_function_array[UP_FUNC_REALSERVER_HANDLE_ASEND] =
- std::make_pair(
- UP_FUNC_REALSERVER_HANDLE_ASEND,
- boost::bind(&tcp_session::up_thread_realserver_handle_async_write_some,this,_1));
+ std::make_pair(
+ UP_FUNC_REALSERVER_SEND,
+ boost::bind(&tcp_session::up_thread_realserver_send, this, _1));
+ up_thread_function_array[UP_FUNC_REALSERVER_HANDLE_ASEND] =
+ std::make_pair(
+ UP_FUNC_REALSERVER_HANDLE_ASEND,
+ boost::bind(&tcp_session::up_thread_realserver_handle_async_write_some, this, _1));
up_thread_function_array[UP_FUNC_REALSERVER_DISCONNECT] =
- std::make_pair(
- UP_FUNC_REALSERVER_DISCONNECT,
- boost::bind(&tcp_session::up_thread_realserver_disconnect,this,_1));
+ std::make_pair(
+ UP_FUNC_REALSERVER_DISCONNECT,
+ boost::bind(&tcp_session::up_thread_realserver_disconnect, this, _1));
up_thread_function_array[UP_FUNC_REALSERVER_DISCONNECT_EVENT] =
- std::make_pair(
- UP_FUNC_REALSERVER_DISCONNECT_EVENT,
- boost::bind(&tcp_session::up_thread_realserver_disconnect_event,this,_1));
+ std::make_pair(
+ UP_FUNC_REALSERVER_DISCONNECT_EVENT,
+ boost::bind(&tcp_session::up_thread_realserver_disconnect_event, this, _1));
up_thread_function_array[UP_FUNC_REALSERVER_CHECK] =
- std::make_pair(
- UP_FUNC_REALSERVER_CHECK,
- boost::bind(&tcp_session::up_thread_realserver_check,this,_1));
+ std::make_pair(
+ UP_FUNC_REALSERVER_CHECK,
+ boost::bind(&tcp_session::up_thread_realserver_check, this, _1));
up_thread_function_array[UP_FUNC_SORRYSERVER_GET_DEST] =
- std::make_pair(
- UP_FUNC_SORRYSERVER_GET_DEST,
- boost::bind(&tcp_session::up_thread_sorryserver_get_destination_event,this,_1));
+ std::make_pair(
+ UP_FUNC_SORRYSERVER_GET_DEST,
+ boost::bind(&tcp_session::up_thread_sorryserver_get_destination_event, this, _1));
up_thread_function_array[UP_FUNC_SORRYSERVER_CONNECT] =
- std::make_pair(
- UP_FUNC_SORRYSERVER_CONNECT,
- boost::bind(&tcp_session::up_thread_sorryserver_connect,this,_1));
+ std::make_pair(
+ UP_FUNC_SORRYSERVER_CONNECT,
+ boost::bind(&tcp_session::up_thread_sorryserver_connect, this, _1));
up_thread_function_array[UP_FUNC_SORRYSERVER_CONNECT_EVENT] =
- std::make_pair(
- UP_FUNC_SORRYSERVER_CONNECT_EVENT,
- boost::bind(&tcp_session::up_thread_sorryserver_connect_event,this,_1));
+ std::make_pair(
+ UP_FUNC_SORRYSERVER_CONNECT_EVENT,
+ boost::bind(&tcp_session::up_thread_sorryserver_connect_event, this, _1));
up_thread_function_array[UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT] =
- std::make_pair(
- UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT,
- boost::bind(&tcp_session::up_thread_sorryserver_connection_fail_event,this,_1));
+ std::make_pair(
+ UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT,
+ boost::bind(&tcp_session::up_thread_sorryserver_connection_fail_event, this, _1));
up_thread_function_array[UP_FUNC_SORRYSERVER_SEND] =
- std::make_pair(
- UP_FUNC_SORRYSERVER_SEND,
- boost::bind(&tcp_session::up_thread_sorryserver_send,this,_1));
- up_thread_function_array[UP_FUNC_SORRYSERVER_HANDLE_ASEND] =
- std::make_pair(
- UP_FUNC_SORRYSERVER_HANDLE_ASEND,
- boost::bind(&tcp_session::up_thread_sorryserver_handle_async_write_some,this,_1));
+ std::make_pair(
+ UP_FUNC_SORRYSERVER_SEND,
+ boost::bind(&tcp_session::up_thread_sorryserver_send, this, _1));
+ up_thread_function_array[UP_FUNC_SORRYSERVER_HANDLE_ASEND] =
+ std::make_pair(
+ UP_FUNC_SORRYSERVER_HANDLE_ASEND,
+ boost::bind(&tcp_session::up_thread_sorryserver_handle_async_write_some, this, _1));
up_thread_function_array[UP_FUNC_SORRYSERVER_DISCONNECT] =
- std::make_pair(
- UP_FUNC_SORRYSERVER_DISCONNECT,
- boost::bind(&tcp_session::up_thread_sorryserver_disconnect,this,_1));
+ std::make_pair(
+ UP_FUNC_SORRYSERVER_DISCONNECT,
+ boost::bind(&tcp_session::up_thread_sorryserver_disconnect, this, _1));
up_thread_function_array[UP_FUNC_SORRYSERVER_MOD_DISCONNECT] =
- std::make_pair(
- UP_FUNC_SORRYSERVER_MOD_DISCONNECT,
- boost::bind(&tcp_session::up_thread_sorryserver_mod_disconnect,this,_1));
+ std::make_pair(
+ UP_FUNC_SORRYSERVER_MOD_DISCONNECT,
+ boost::bind(&tcp_session::up_thread_sorryserver_mod_disconnect, this, _1));
up_thread_function_array[UP_FUNC_SORRYSERVER_DISCONNECT_EVENT] =
- std::make_pair(
- UP_FUNC_SORRYSERVER_DISCONNECT_EVENT,
- boost::bind(&tcp_session::up_thread_sorryserver_disconnect_event,this,_1));
- up_thread_function_array[UP_FUNC_SORRY_ENABLE_EVENT] =
- std::make_pair(
- UP_FUNC_SORRY_ENABLE_EVENT,
- boost::bind(&tcp_session::up_thread_sorry_enable_event,this,_1));
- up_thread_function_array[UP_FUNC_SORRY_DISABLE_EVENT] =
- std::make_pair(
- UP_FUNC_SORRY_DISABLE_EVENT,
- boost::bind(&tcp_session::up_thread_sorry_disable_event,this,_1));
- up_thread_function_array[UP_FUNC_PAUSE_ON_EVENT] =
- std::make_pair(
- UP_FUNC_PAUSE_ON_EVENT,
- boost::bind(&tcp_session::up_thread_session_pause_on_event,this,_1 ));
- up_thread_function_array[UP_FUNC_PAUSE_OFF_EVENT] =
- std::make_pair(
- UP_FUNC_PAUSE_OFF_EVENT,
- boost::bind(&tcp_session::up_thread_session_pause_off_event,this,_1));
+ std::make_pair(
+ UP_FUNC_SORRYSERVER_DISCONNECT_EVENT,
+ boost::bind(&tcp_session::up_thread_sorryserver_disconnect_event, this, _1));
+ up_thread_function_array[UP_FUNC_SORRY_ENABLE_EVENT] =
+ std::make_pair(
+ UP_FUNC_SORRY_ENABLE_EVENT,
+ boost::bind(&tcp_session::up_thread_sorry_enable_event, this, _1));
+ up_thread_function_array[UP_FUNC_SORRY_DISABLE_EVENT] =
+ std::make_pair(
+ UP_FUNC_SORRY_DISABLE_EVENT,
+ boost::bind(&tcp_session::up_thread_sorry_disable_event, this, _1));
+ up_thread_function_array[UP_FUNC_PAUSE_ON_EVENT] =
+ std::make_pair(
+ UP_FUNC_PAUSE_ON_EVENT,
+ boost::bind(&tcp_session::up_thread_session_pause_on_event, this, _1));
+ up_thread_function_array[UP_FUNC_PAUSE_OFF_EVENT] =
+ std::make_pair(
+ UP_FUNC_PAUSE_OFF_EVENT,
+ boost::bind(&tcp_session::up_thread_session_pause_off_event, this, _1));
up_thread_function_array[UP_FUNC_EXIT] =
- std::make_pair(
- UP_FUNC_EXIT,
- boost::bind(&tcp_session::up_thread_exit,this,_1));
+ std::make_pair(
+ UP_FUNC_EXIT,
+ boost::bind(&tcp_session::up_thread_exit, this, _1));
// set down_thread_module_event_map
- down_thread_module_event_map[protocol_module_base::CLIENT_SEND] = DOWN_FUNC_CLIENT_SEND;
- down_thread_module_event_map[protocol_module_base::CLIENT_DISCONNECT] = DOWN_FUNC_CLIENT_DISCONNECT;
- down_thread_module_event_map[protocol_module_base::CLIENT_CONNECTION_CHECK] = DOWN_FUNC_CLIENT_CONNECTION_CHK;
- down_thread_module_event_map[protocol_module_base::REALSERVER_RECV] = DOWN_FUNC_REALSERVER_RECEIVE;
- down_thread_module_event_map[protocol_module_base::REALSERVER_DISCONNECT] = DOWN_FUNC_REALSERVER_ALL_DISCONNECT;
- down_thread_module_event_map[protocol_module_base::SORRYSERVER_RECV] = DOWN_FUNC_SORRYSERVER_RECEIVE;
- down_thread_module_event_map[protocol_module_base::SORRYSERVER_DISCONNECT] = DOWN_FUNC_SORRYSERVER_MOD_DISCONNECT;
- down_thread_module_event_map[protocol_module_base::FINALIZE] = DOWN_FUNC_EXIT;
+ down_thread_module_event_map[protocol_module_base::CLIENT_SEND] = DOWN_FUNC_CLIENT_SEND;
+ down_thread_module_event_map[protocol_module_base::CLIENT_DISCONNECT] = DOWN_FUNC_CLIENT_DISCONNECT;
+ down_thread_module_event_map[protocol_module_base::CLIENT_CONNECTION_CHECK] = DOWN_FUNC_CLIENT_CONNECTION_CHK;
+ down_thread_module_event_map[protocol_module_base::REALSERVER_RECV] = DOWN_FUNC_REALSERVER_RECEIVE;
+ down_thread_module_event_map[protocol_module_base::REALSERVER_DISCONNECT] = DOWN_FUNC_REALSERVER_ALL_DISCONNECT;
+ down_thread_module_event_map[protocol_module_base::SORRYSERVER_RECV] = DOWN_FUNC_SORRYSERVER_RECEIVE;
+ down_thread_module_event_map[protocol_module_base::SORRYSERVER_DISCONNECT] = DOWN_FUNC_SORRYSERVER_MOD_DISCONNECT;
+ down_thread_module_event_map[protocol_module_base::FINALIZE] = DOWN_FUNC_EXIT;
// set down_thread_function_array
- down_thread_function_array[DOWN_FUNC_CLIENT_DISCONNECT] =
- std::make_pair(
- DOWN_FUNC_CLIENT_DISCONNECT,
- boost::bind(&tcp_session::down_thread_client_disconnect, this, _1));
+ down_thread_function_array[DOWN_FUNC_CLIENT_DISCONNECT] =
+ std::make_pair(
+ DOWN_FUNC_CLIENT_DISCONNECT,
+ boost::bind(&tcp_session::down_thread_client_disconnect, this, _1));
down_thread_function_array[DOWN_FUNC_CLIENT_DISCONNECT_EVENT] =
- std::make_pair(
- DOWN_FUNC_CLIENT_DISCONNECT_EVENT,
- boost::bind(&tcp_session::down_thread_client_disconnect_event, this, _1));
+ std::make_pair(
+ DOWN_FUNC_CLIENT_DISCONNECT_EVENT,
+ boost::bind(&tcp_session::down_thread_client_disconnect_event, this, _1));
down_thread_function_array[DOWN_FUNC_CLIENT_CONNECTION_CHK] =
- std::make_pair(
- DOWN_FUNC_CLIENT_CONNECTION_CHK,
- boost::bind(&tcp_session::down_thread_client_connection_chk_event, this, _1));
+ std::make_pair(
+ DOWN_FUNC_CLIENT_CONNECTION_CHK,
+ boost::bind(&tcp_session::down_thread_client_connection_chk_event, this, _1));
down_thread_function_array[DOWN_FUNC_CLIENT_SEND] =
- std::make_pair(
- DOWN_FUNC_CLIENT_SEND,
- boost::bind(&tcp_session::down_thread_client_send, this, _1));
- down_thread_function_array[DOWN_FUNC_CLIENT_HANDLE_ASEND] =
- std::make_pair(
- DOWN_FUNC_CLIENT_HANDLE_ASEND,
- boost::bind(&tcp_session::down_thread_client_handle_async_write_some, this, _1));
+ std::make_pair(
+ DOWN_FUNC_CLIENT_SEND,
+ boost::bind(&tcp_session::down_thread_client_send, this, _1));
+ down_thread_function_array[DOWN_FUNC_CLIENT_HANDLE_ASEND] =
+ std::make_pair(
+ DOWN_FUNC_CLIENT_HANDLE_ASEND,
+ boost::bind(&tcp_session::down_thread_client_handle_async_write_some, this, _1));
down_thread_function_array[DOWN_FUNC_REALSERVER_RECEIVE] =
- std::make_pair(
- DOWN_FUNC_REALSERVER_RECEIVE,
- boost::bind(&tcp_session::down_thread_realserver_receive, this, _1));
- down_thread_function_array[DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE] =
- std::make_pair(
- DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE,
- boost::bind(&tcp_session::down_thread_realserver_handle_async_read_some, this, _1));
+ std::make_pair(
+ DOWN_FUNC_REALSERVER_RECEIVE,
+ boost::bind(&tcp_session::down_thread_realserver_receive, this, _1));
+ down_thread_function_array[DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE] =
+ std::make_pair(
+ DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE,
+ boost::bind(&tcp_session::down_thread_realserver_handle_async_read_some, this, _1));
down_thread_function_array[DOWN_FUNC_REALSERVER_DISCONNECT] =
- std::make_pair(
- DOWN_FUNC_REALSERVER_DISCONNECT,
- boost::bind(&tcp_session::down_thread_realserver_disconnect, this, _1));
+ std::make_pair(
+ DOWN_FUNC_REALSERVER_DISCONNECT,
+ boost::bind(&tcp_session::down_thread_realserver_disconnect, this, _1));
down_thread_function_array[DOWN_FUNC_REALSERVER_DISCONNECT_EVENT] =
- std::make_pair(
- DOWN_FUNC_REALSERVER_DISCONNECT_EVENT,
- boost::bind(&tcp_session::down_thread_realserver_disconnect_event, this, _1));
+ std::make_pair(
+ DOWN_FUNC_REALSERVER_DISCONNECT_EVENT,
+ boost::bind(&tcp_session::down_thread_realserver_disconnect_event, this, _1));
down_thread_function_array[DOWN_FUNC_SORRYSERVER_RECEIVE] =
- std::make_pair(
- DOWN_FUNC_SORRYSERVER_RECEIVE,
- boost::bind(&tcp_session::down_thread_sorryserver_receive, this, _1));
- down_thread_function_array[DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE] =
- std::make_pair(
- DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE,
- boost::bind(&tcp_session::down_thread_sorryserver_handle_async_read_some, this, _1));
+ std::make_pair(
+ DOWN_FUNC_SORRYSERVER_RECEIVE,
+ boost::bind(&tcp_session::down_thread_sorryserver_receive, this, _1));
+ down_thread_function_array[DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE] =
+ std::make_pair(
+ DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE,
+ boost::bind(&tcp_session::down_thread_sorryserver_handle_async_read_some, this, _1));
down_thread_function_array[DOWN_FUNC_SORRYSERVER_DISCONNECT] =
- std::make_pair(
- DOWN_FUNC_SORRYSERVER_DISCONNECT,
- boost::bind(&tcp_session::down_thread_sorryserver_disconnect, this, _1));
+ std::make_pair(
+ DOWN_FUNC_SORRYSERVER_DISCONNECT,
+ boost::bind(&tcp_session::down_thread_sorryserver_disconnect, this, _1));
down_thread_function_array[DOWN_FUNC_SORRYSERVER_MOD_DISCONNECT] =
- std::make_pair(
- DOWN_FUNC_SORRYSERVER_MOD_DISCONNECT,
- boost::bind(&tcp_session::down_thread_sorryserver_mod_disconnect, this, _1));
+ std::make_pair(
+ DOWN_FUNC_SORRYSERVER_MOD_DISCONNECT,
+ boost::bind(&tcp_session::down_thread_sorryserver_mod_disconnect, this, _1));
down_thread_function_array[DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT] =
- std::make_pair(
- DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT,
- boost::bind(&tcp_session::down_thread_sorryserver_disconnect_event, this, _1));
- down_thread_function_array[DOWN_FUNC_SORRY_ENABLE_EVENT] =
- std::make_pair(
- DOWN_FUNC_SORRY_ENABLE_EVENT,
- boost::bind(&tcp_session::down_thread_sorry_enable_event , this, _1 ));
- down_thread_function_array[DOWN_FUNC_SORRY_DISABLE_EVENT] =
- std::make_pair(
- DOWN_FUNC_SORRY_DISABLE_EVENT,
- boost::bind(&tcp_session::down_thread_sorry_disable_event , this, _1 ));
- down_thread_function_array[DOWN_FUNC_PAUSE_ON_EVENT] =
- std::make_pair(
- DOWN_FUNC_PAUSE_ON_EVENT,
- boost::bind(&tcp_session::down_thread_session_pause_on_event , this, _1 ));
- down_thread_function_array[DOWN_FUNC_PAUSE_OFF_EVENT] =
- std::make_pair(
- DOWN_FUNC_PAUSE_OFF_EVENT,
- boost::bind(&tcp_session::down_thread_session_pause_off_event , this, _1 ));
+ std::make_pair(
+ DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT,
+ boost::bind(&tcp_session::down_thread_sorryserver_disconnect_event, this, _1));
+ down_thread_function_array[DOWN_FUNC_SORRY_ENABLE_EVENT] =
+ std::make_pair(
+ DOWN_FUNC_SORRY_ENABLE_EVENT,
+ boost::bind(&tcp_session::down_thread_sorry_enable_event , this, _1));
+ down_thread_function_array[DOWN_FUNC_SORRY_DISABLE_EVENT] =
+ std::make_pair(
+ DOWN_FUNC_SORRY_DISABLE_EVENT,
+ boost::bind(&tcp_session::down_thread_sorry_disable_event , this, _1));
+ down_thread_function_array[DOWN_FUNC_PAUSE_ON_EVENT] =
+ std::make_pair(
+ DOWN_FUNC_PAUSE_ON_EVENT,
+ boost::bind(&tcp_session::down_thread_session_pause_on_event , this, _1));
+ down_thread_function_array[DOWN_FUNC_PAUSE_OFF_EVENT] =
+ std::make_pair(
+ DOWN_FUNC_PAUSE_OFF_EVENT,
+ boost::bind(&tcp_session::down_thread_session_pause_off_event , this, _1));
down_thread_function_array[DOWN_FUNC_EXIT] =
- std::make_pair(
- DOWN_FUNC_EXIT,
- boost::bind(&tcp_session::down_thread_exit, this, _1));
+ std::make_pair(
+ DOWN_FUNC_EXIT,
+ boost::bind(&tcp_session::down_thread_exit, this, _1));
// set down_que_function_map
- down_que_function_map[DOWN_FUNC_CLIENT_DISCONNECT_EVENT] =
- boost::bind( &tcp_session::down_thread_client_disconnect_event, this, _1 );
- down_que_function_map[DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT] =
- boost::bind( &tcp_session::down_thread_client_respond_event, this, _1 );
- down_que_function_map[DOWN_FUNC_REALSERVER_DISCONNECT_EVENT] =
- boost::bind( &tcp_session::down_thread_realserver_disconnect_event, this, _1 );
- down_que_function_map[DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT] =
- boost::bind( &tcp_session::down_thread_sorryserver_disconnect_event, this, _1 );
- down_que_function_map[DOWN_FUNC_SORRY_ENABLE_EVENT] =
- boost::bind( &tcp_session::down_thread_sorry_enable_event, this, _1 );
- down_que_function_map[DOWN_FUNC_EXIT] =
- boost::bind( &tcp_session::down_thread_exit, this, _1 );
- down_que_function_map[DOWN_FUNC_PAUSE_ON_EVENT] =
- boost::bind( &tcp_session::down_thread_session_pause_on_event, this, _1 );
- down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT] =
- boost::bind( &tcp_session::down_thread_session_pause_off_event, this, _1 );
+ down_que_function_map[DOWN_FUNC_CLIENT_DISCONNECT_EVENT] =
+ boost::bind(&tcp_session::down_thread_client_disconnect_event, this, _1);
+ down_que_function_map[DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT] =
+ boost::bind(&tcp_session::down_thread_client_respond_event, this, _1);
+ down_que_function_map[DOWN_FUNC_REALSERVER_DISCONNECT_EVENT] =
+ boost::bind(&tcp_session::down_thread_realserver_disconnect_event, this, _1);
+ down_que_function_map[DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT] =
+ boost::bind(&tcp_session::down_thread_sorryserver_disconnect_event, this, _1);
+ down_que_function_map[DOWN_FUNC_SORRY_ENABLE_EVENT] =
+ boost::bind(&tcp_session::down_thread_sorry_enable_event, this, _1);
+ down_que_function_map[DOWN_FUNC_EXIT] =
+ boost::bind(&tcp_session::down_thread_exit, this, _1);
+ down_que_function_map[DOWN_FUNC_PAUSE_ON_EVENT] =
+ boost::bind(&tcp_session::down_thread_session_pause_on_event, this, _1);
+ down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT] =
+ boost::bind(&tcp_session::down_thread_session_pause_off_event, this, _1);
// set virtual_service_message_up_thread_function_map
- virtual_service_message_up_thread_function_map[SORRY_STATE_ENABLE] = boost::bind( &tcp_session::up_thread_sorry_enable_event , this, _1 );
- virtual_service_message_up_thread_function_map[SORRY_STATE_DISABLE] = boost::bind( &tcp_session::up_thread_sorry_disable_event , this, _1 );
- virtual_service_message_up_thread_function_map[SESSION_END] = boost::bind( &tcp_session::up_thread_exit , this, _1 );
- virtual_service_message_up_thread_function_map[REALSERVER_REMOVE] = boost::bind( &tcp_session::up_thread_realserver_check , this, _1 );
+ virtual_service_message_up_thread_function_map[SORRY_STATE_ENABLE] = boost::bind(&tcp_session::up_thread_sorry_enable_event , this, _1);
+ virtual_service_message_up_thread_function_map[SORRY_STATE_DISABLE] = boost::bind(&tcp_session::up_thread_sorry_disable_event , this, _1);
+ virtual_service_message_up_thread_function_map[SESSION_END] = boost::bind(&tcp_session::up_thread_exit , this, _1);
+ virtual_service_message_up_thread_function_map[REALSERVER_REMOVE] = boost::bind(&tcp_session::up_thread_realserver_check , this, _1);
// set virtual_service_message_down_thread_function_map
- virtual_service_message_down_thread_function_map[SORRY_STATE_ENABLE] = boost::bind( &tcp_session::down_thread_sorry_enable_event ,this, _1 );
- virtual_service_message_down_thread_function_map[SORRY_STATE_DISABLE] = boost::bind( &tcp_session::down_thread_sorry_disable_event ,this, _1 );
- virtual_service_message_down_thread_function_map[SESSION_END] = boost::bind( &tcp_session::down_thread_exit ,this, _1 );
- virtual_service_message_down_thread_function_map[REALSERVER_REMOVE] = boost::bind( &tcp_session::down_thread_realserver_check ,this, _1 );
+ virtual_service_message_down_thread_function_map[SORRY_STATE_ENABLE] = boost::bind(&tcp_session::down_thread_sorry_enable_event , this, _1);
+ virtual_service_message_down_thread_function_map[SORRY_STATE_DISABLE] = boost::bind(&tcp_session::down_thread_sorry_disable_event , this, _1);
+ virtual_service_message_down_thread_function_map[SESSION_END] = boost::bind(&tcp_session::down_thread_exit , this, _1);
+ virtual_service_message_down_thread_function_map[REALSERVER_REMOVE] = boost::bind(&tcp_session::down_thread_realserver_check , this, _1);
}
//! destructor
virtual_service_message_up_thread_function_map.clear();
// virtual_service_message_down_thread_function_map
virtual_service_message_down_thread_function_map.clear();
- // realserver socket clear
- realserver_socket.reset();
- // realserver endpoint clear
- realserver_endpoint = boost::asio::ip::tcp::endpoint();
- // connectiing socket clear
- connecting_socket.reset();
- // connecting endpoint clear
- connecting_endpoint = boost::asio::ip::tcp::endpoint();
+ // realserver socket clear
+ realserver_socket.reset();
+ // realserver endpoint clear
+ realserver_endpoint = boost::asio::ip::tcp::endpoint();
+ // connectiing socket clear
+ connecting_socket.reset();
+ // connecting endpoint clear
+ connecting_endpoint = boost::asio::ip::tcp::endpoint();
// up_thread_message_que
- tcp_thread_message* msg = NULL;
- msg = up_thread_message_que.pop();
- while( msg ){
- delete msg;
- msg = up_thread_message_que.pop();
- }
+ tcp_thread_message *msg = NULL;
+ msg = up_thread_message_que.pop();
+ while (msg) {
+ delete msg;
+ msg = up_thread_message_que.pop();
+ }
// down_thread_message_que
- msg = down_thread_message_que.pop();
- while( msg ){
- delete msg;
- msg = down_thread_message_que.pop();
- }
+ msg = down_thread_message_que.pop();
+ while (msg) {
+ delete msg;
+ msg = down_thread_message_que.pop();
+ }
}
//! initialize
session_result_message tcp_session::initialize()
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN initialize");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN initialize");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
session_result_message msg;
msg.flag = false;
downthread_status = DOWNTHREAD_SLEEP;
protocol_module = NULL;
tcp_thread_message *tmp_msg;
- tmp_msg = up_thread_message_que.pop();
- while( tmp_msg ){
- delete tmp_msg;
- tmp_msg = up_thread_message_que.pop();
- }
-
- tmp_msg = down_thread_message_que.pop();
- while( tmp_msg ){
- delete tmp_msg;
- tmp_msg = down_thread_message_que.pop();
- }
+ tmp_msg = up_thread_message_que.pop();
+ while (tmp_msg) {
+ delete tmp_msg;
+ tmp_msg = up_thread_message_que.pop();
+ }
+
+ tmp_msg = down_thread_message_que.pop();
+ while (tmp_msg) {
+ delete tmp_msg;
+ tmp_msg = down_thread_message_que.pop();
+ }
//load parameter
l7vs::Parameter param;
//! get reference client side socket
//! @return reference client side socket
-tcp_socket& tcp_session::get_client_socket()
+tcp_socket &tcp_session::get_client_socket()
{
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
boost::format formatter("Thread ID[%d] FUNC IN/OUT get_client_socket");
}
//! message from parent virtualservice
//! @param[in] message is tcp virtualservice message type
-void tcp_session::set_virtual_service_message(const TCP_VIRTUAL_SERVICE_MESSAGE_TAG message, const boost::asio::ip::tcp::endpoint endpoint_ )
+void tcp_session::set_virtual_service_message(const TCP_VIRTUAL_SERVICE_MESSAGE_TAG message, const boost::asio::ip::tcp::endpoint endpoint_)
{
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
boost::format formatter("Thread ID[%d] FUNC IN set_virtual_service_message");
}
switch (message) {
- case SESSION_PAUSE_ON:{
- tcp_thread_message* up_msg = new tcp_thread_message();
- up_msg->message = up_que_function_map[UP_FUNC_PAUSE_ON_EVENT];
- #ifdef DEBUG
- up_msg->func_tag_name = func_tag_to_string( UP_FUNC_PAUSE_ON_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_PAUSE_ON_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !up_thread_message_que.push( up_msg ) ){}
- upthread_status_cond.notify_one();
-
- tcp_thread_message* down_msg = new tcp_thread_message();
- down_msg->message = down_que_function_map[DOWN_FUNC_PAUSE_ON_EVENT];
- #ifdef DEBUG
- down_msg->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_ON_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_ON_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( down_msg ) ){}
- downthread_status_cond.notify_one();
-
- if(unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))){
- boost::format fmt("Thread ID[%d] FUNC OUT set_virtual_service_message SESSION_PAUSE_ON" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__,__LINE__);
- }
- return;
- }
- case SESSION_PAUSE_OFF:{
- tcp_thread_message* up_msg = new tcp_thread_message();
- up_msg->message = up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- up_msg->func_tag_name = func_tag_to_string( UP_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !up_thread_message_que.push( up_msg ) ){}
- upthread_status_cond.notify_one();
-
- tcp_thread_message* down_msg = new tcp_thread_message();
- down_msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- down_msg->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( down_msg ) ){}
- downthread_status_cond.notify_one();
-
- if( unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION)) ){
- boost::format fmt("Thread ID[%d] FUNC OUT set_virtual_service_message SESSION_PAUSE_OFF" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION,999, fmt.str(), __FILE__, __LINE__);
- }
- return;
- }
- case ACCESS_LOG_ON: {
- rw_scoped_lock scope_lock(access_log_flag_mutex);
- access_log_flag = true;
- if(unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))){
- boost::format fmt("Thread ID[%d] FUNC OUT set_virtual_service_message ACCESS_LOG_ON" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION,999, fmt.str(), __FILE__, __LINE__);
- }
- return;
- }
- case ACCESS_LOG_OFF: {
+ case SESSION_PAUSE_ON: {
+ tcp_thread_message *up_msg = new tcp_thread_message();
+ up_msg->message = up_que_function_map[UP_FUNC_PAUSE_ON_EVENT];
+#ifdef DEBUG
+ up_msg->func_tag_name = func_tag_to_string(UP_FUNC_PAUSE_ON_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_PAUSE_ON_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!up_thread_message_que.push(up_msg)) {}
+ upthread_status_cond.notify_one();
+
+ tcp_thread_message *down_msg = new tcp_thread_message();
+ down_msg->message = down_que_function_map[DOWN_FUNC_PAUSE_ON_EVENT];
+#ifdef DEBUG
+ down_msg->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_ON_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_ON_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(down_msg)) {}
+ downthread_status_cond.notify_one();
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC OUT set_virtual_service_message SESSION_PAUSE_ON");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ return;
+ }
+ case SESSION_PAUSE_OFF: {
+ tcp_thread_message *up_msg = new tcp_thread_message();
+ up_msg->message = up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ up_msg->func_tag_name = func_tag_to_string(UP_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!up_thread_message_que.push(up_msg)) {}
+ upthread_status_cond.notify_one();
+
+ tcp_thread_message *down_msg = new tcp_thread_message();
+ down_msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ down_msg->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(down_msg)) {}
+ downthread_status_cond.notify_one();
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC OUT set_virtual_service_message SESSION_PAUSE_OFF");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ return;
+ }
+ case ACCESS_LOG_ON: {
+ rw_scoped_lock scope_lock(access_log_flag_mutex);
+ access_log_flag = true;
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC OUT set_virtual_service_message ACCESS_LOG_ON");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ return;
+ }
+ case ACCESS_LOG_OFF: {
rw_scoped_lock scope_lock(access_log_flag_mutex);
access_log_flag = false;
- if(unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))){
- boost::format fmt("Thread ID[%d] FUNC OUT set_virtual_service_message ACCESS_LOG_OFF" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION,999, fmt.str(), __FILE__, __LINE__ );
- }
- return;
- }
- case REALSERVER_REMOVE:
- //---Debug Log------
- if( unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))){
- boost::format fmt( "Thread ID[%d] set_virtual_service_message message:[REALSERVER_REMOVE]");
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__,__LINE__);
- }
- break;
- case SORRY_STATE_ENABLE:
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC OUT set_virtual_service_message ACCESS_LOG_OFF");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ return;
+ }
+ case REALSERVER_REMOVE:
+ //---Debug Log------
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] set_virtual_service_message message:[REALSERVER_REMOVE]");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ break;
+ case SORRY_STATE_ENABLE:
//----Debug log----------------------------------------------------------------------
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format fmt( "Thread ID[%d] set_virtual_service_message message:[SORRY_STATE_ENABLE]");
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 14, fmt.str(), __FILE__, __LINE__);
+ boost::format fmt("Thread ID[%d] set_virtual_service_message message:[SORRY_STATE_ENABLE]");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 14, fmt.str(), __FILE__, __LINE__);
}
//----Debug log----------------------------------------------------------------------
break;
- case SORRY_STATE_DISABLE:
+ case SORRY_STATE_DISABLE:
//----Debug log----------------------------------------------------------------------
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
std::stringstream buf;
}
//----Debug log----------------------------------------------------------------------
break;
- case SESSION_END:
+ case SESSION_END:
//----Debug log----------------------------------------------------------------------
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
std::stringstream buf;
}
// set message
tcp_thread_message *up_msg = new tcp_thread_message;
- up_msg->message = virtual_service_message_up_thread_function_map[message];
- up_msg->endpoint_info = endpoint_;
- #ifdef DEBUG
- up_msg->func_tag_name = func_tag_to_string( message );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( message );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while (!up_thread_message_que.push(up_msg)) {}
- upthread_status_cond.notify_one();
+ up_msg->message = virtual_service_message_up_thread_function_map[message];
+ up_msg->endpoint_info = endpoint_;
+#ifdef DEBUG
+ up_msg->func_tag_name = func_tag_to_string(message);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(message);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!up_thread_message_que.push(up_msg)) {}
+ upthread_status_cond.notify_one();
tcp_thread_message *down_msg = new tcp_thread_message;
down_msg->message = virtual_service_message_down_thread_function_map[message];
- down_msg->endpoint_info = endpoint_;
-#ifdef DEBUG
- down_msg->func_tag_name = func_tag_to_string( message );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( message );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
+ down_msg->endpoint_info = endpoint_;
+#ifdef DEBUG
+ down_msg->func_tag_name = func_tag_to_string(message);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(message);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
#endif
- while (!down_thread_message_que.push(down_msg)) {}
- downthread_status_cond.notify_one();
+ while (!down_thread_message_que.push(down_msg)) {}
+ downthread_status_cond.notify_one();
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
boost::format formatter("Thread ID[%d] FUNC OUT set_virtual_service_message");
//! up stream thread main function
void tcp_session::up_thread_run()
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_run");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 17, formatter.str(), __FILE__, __LINE__);
- }
-
- boost::system::error_code ec;
- boost::xtime xt;
-
- // down thread active waiting.
- up_thread_id = boost::this_thread::get_id();
- {
- boost::mutex::scoped_lock lock( downthread_status_mutex );
- while( downthread_status < DOWNTHREAD_ALIVE ){
- to_time( LOCKTIMEOUT, xt );
- downthread_status_cond.timed_wait(lock, xt);
- }
- }
-
- // socket option check
- if(!exit_flag ){
- boost::system::error_code error_code;
- !ssl_flag ? client_socket.setoption( error_code ) // error output in tcp_socket.h
- : client_ssl_socket.setoption( error_code );
- }
-
- if( !exit_flag ){
- // get client endpoint
- client_endpoint = !ssl_flag ? client_socket.get_socket().lowest_layer().remote_endpoint(ec)
- : client_ssl_socket.get_socket().lowest_layer().remote_endpoint(ec);
- if( unlikely( ec ) ){
- boost::format fmt( "Thread ID[%d] cannot get client endpoint: %s" );
- fmt % boost::this_thread::get_id() % ec.message();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION, 10, fmt.str(), __FILE__, __LINE__ );
- !ssl_flag ? client_socket.close(ec) : client_ssl_socket.close(ec);
- if( ec ){
- boost::format fmt2( "Thread ID[%s] cannot close endpoint : %s" );
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_run");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 17, formatter.str(), __FILE__, __LINE__);
+ }
+
+ boost::system::error_code ec;
+ boost::xtime xt;
+
+ // down thread active waiting.
+ up_thread_id = boost::this_thread::get_id();
+ {
+ boost::mutex::scoped_lock lock(downthread_status_mutex);
+ while (downthread_status < DOWNTHREAD_ALIVE) {
+ to_time(LOCKTIMEOUT, xt);
+ downthread_status_cond.timed_wait(lock, xt);
+ }
+ }
+
+ // socket option check
+ if (!exit_flag) {
+ boost::system::error_code error_code;
+ !ssl_flag ? client_socket.setoption(error_code) // error output in tcp_socket.h
+ : client_ssl_socket.setoption(error_code);
+ }
+
+ if (!exit_flag) {
+ // get client endpoint
+ client_endpoint = !ssl_flag ? client_socket.get_socket().lowest_layer().remote_endpoint(ec)
+ : client_ssl_socket.get_socket().lowest_layer().remote_endpoint(ec);
+ if (unlikely(ec)) {
+ boost::format fmt("Thread ID[%d] cannot get client endpoint: %s");
+ fmt % boost::this_thread::get_id() % ec.message();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 10, fmt.str(), __FILE__, __LINE__);
+ !ssl_flag ? client_socket.close(ec) : client_ssl_socket.close(ec);
+ if (ec) {
+ boost::format fmt2("Thread ID[%s] cannot close endpoint : %s");
fmt2 % boost::this_thread::get_id() % ec.message();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION, 11, fmt2.str(), __FILE__, __LINE__ );
- }
- __sync_bool_compare_and_swap(&exit_flag, 0, 1); // set exit flag true
- }
- }
-
-
- // set client socket options(receive buffer size)
- if (likely(!exit_flag) && likely( upstream_buffer_size > 0 ) ) {
- boost::asio::socket_base::receive_buffer_size opt(upstream_buffer_size);
-
- !ssl_flag ? client_socket.get_socket().lowest_layer().set_option(opt, ec)
- : client_ssl_socket.get_socket().lowest_layer().set_option(opt, ec);
-
- if( unlikely( ec ) ){
- boost::format fmt( "Thread ID[%d] cannot set client socket receive buffer size : %s" );
- Logger::putLogError(LOG_CAT_L7VSD_SESSION, 12, fmt.str(), __FILE__, __LINE__);
- __sync_bool_compare_and_swap(&exit_flag, 0, 1);
- }
- }
-
- // set client socket options(send buffer size)
- if( likely(!exit_flag) && likely(downstream_buffer_size > 0) ){
- boost::asio::socket_base::send_buffer_size opt(downstream_buffer_size);
- !ssl_flag ? client_socket.get_socket().lowest_layer().set_option(opt, ec)
- : client_ssl_socket.get_socket().lowest_layer().set_option(opt, ec);
- if( unlikely( ec ) ){
- boost::format fmt( "Thread ID[%d] cannot set client socket send buffer size : %s" );
- Logger::putLogError(LOG_CAT_L7VSD_SESSION, 13, fmt.str(), __FILE__, __LINE__);
- __sync_bool_compare_and_swap(&exit_flag, 0, 1);
- }
- }
-
- // module initialize
- if(likely(!exit_flag)) {
- protocol_module_base::EVENT_TAG module_event;
- module_event = protocol_module->handle_session_initialize( up_thread_id,
- down_thread_id,
- client_endpoint,
- boost::asio::ip::udp::endpoint() );
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_session_initialize( upthread_id = %d , downthread_id = %d ) return: %s" );
- fmt % boost::this_thread::get_id()
- % up_thread_id
- % down_thread_id
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION,0,fmt.str(),__FILE__,__LINE__ ); }
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 11, fmt2.str(), __FILE__, __LINE__);
+ }
+ __sync_bool_compare_and_swap(&exit_flag, 0, 1); // set exit flag true
+ }
+ }
+
+
+ // set client socket options(receive buffer size)
+ if (likely(!exit_flag) && likely(upstream_buffer_size > 0)) {
+ boost::asio::socket_base::receive_buffer_size opt(upstream_buffer_size);
+
+ !ssl_flag ? client_socket.get_socket().lowest_layer().set_option(opt, ec)
+ : client_ssl_socket.get_socket().lowest_layer().set_option(opt, ec);
+
+ if (unlikely(ec)) {
+ boost::format fmt("Thread ID[%d] cannot set client socket receive buffer size : %s");
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 12, fmt.str(), __FILE__, __LINE__);
+ __sync_bool_compare_and_swap(&exit_flag, 0, 1);
+ }
+ }
+
+ // set client socket options(send buffer size)
+ if (likely(!exit_flag) && likely(downstream_buffer_size > 0)) {
+ boost::asio::socket_base::send_buffer_size opt(downstream_buffer_size);
+ !ssl_flag ? client_socket.get_socket().lowest_layer().set_option(opt, ec)
+ : client_ssl_socket.get_socket().lowest_layer().set_option(opt, ec);
+ if (unlikely(ec)) {
+ boost::format fmt("Thread ID[%d] cannot set client socket send buffer size : %s");
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 13, fmt.str(), __FILE__, __LINE__);
+ __sync_bool_compare_and_swap(&exit_flag, 0, 1);
+ }
+ }
+
+ // module initialize
+ if (likely(!exit_flag)) {
+ protocol_module_base::EVENT_TAG module_event;
+ module_event = protocol_module->handle_session_initialize(up_thread_id,
+ down_thread_id,
+ client_endpoint,
+ boost::asio::ip::udp::endpoint());
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_session_initialize( upthread_id = %d , downthread_id = %d ) return: %s");
+ fmt % boost::this_thread::get_id()
+ % up_thread_id
+ % down_thread_id
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] first module event : %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(up_thread_next_call_function.first);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ }
+ upthread_status_mutex.lock();
+ upthread_status = UPTHREAD_ACTIVE;
+ upthread_status_mutex.unlock();
+ upthread_status_cond.notify_one();
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ std::stringstream buf;
+ buf << "Thread ID[" << boost::this_thread::get_id() << "] ";
+ buf << "up thread loop start";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 20, buf.str(), __FILE__, __LINE__);
+ }
+ while (!exit_flag) {
+
+ // LOCK WAIT MODE
+ {
+ boost::mutex::scoped_lock lock(upthread_status_mutex);
+ while (unlikely(upthread_status == UPTHREAD_LOCK)) {
+ to_time(LOCKTIMEOUT, xt);
+ upthread_status_cond.timed_wait(lock, xt);
+ tcp_thread_message *msg = up_thread_message_que.pop();
+ if (msg) { // message is alive.
+ if (UP_FUNC_EXIT == up_thread_next_call_function.first) { // don't execute message when UP_FUNC_EXIT
+ up_thread_next_call_function.second(LOCAL_PROC);
+ delete msg;
+ break;
+ } else {
+ up_thread_message_data.set_endpoint(msg->endpoint_info);
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] message execute : %s");
+ fmt % boost::this_thread::get_id() % msg->func_tag_name;
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+#endif
+ msg->message(MESSAGE_PROC); // execute message
+ delete msg;
+ msg = NULL;
+ }
+ if (!(client_socket.is_open() || client_ssl_socket.is_open())) { //client connection check
+ upthread_status = UPTHREAD_ACTIVE;
+ up_thread_next_call_function = up_thread_function_array[UP_FUNC_EXIT];
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] client socket is close. goto finalize");
+ fmt % boost::this_thread::get_id() ;
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
#endif
- up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
-#ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] first module event : %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( up_thread_next_call_function.first );
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
+ }
+ } //message alive end.
+ if (ssl_flag && up_thread_next_call_function.first == UP_FUNC_CLIENT_ACCEPT_EVENT) { //handshake timeout check
+ boost::xtime now_time;
+ boost::xtime_get(&now_time, boost::TIME_UTC);
+ if ((now_time.sec - start_handshake_time.sec) > ssl_handshake_time_out) { // timeout detect.
+ boost::system::error_code error_code;
+ client_ssl_socket.close(error_code);
+ if (error_code) {
+ boost::format fmt("Thread ID[%d] client SSL socket close fail when handshake timeout : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ }
+ }
+ } // lockmode while loop end.
+
+ // ACTIVE MODE
+ tcp_thread_message *msg = up_thread_message_que.pop(); //message checking
+ if (unlikely(msg)) { //message execute mode
+ if (unlikely(UP_FUNC_EXIT == up_thread_next_call_function.first) ||
+ unlikely(UP_FUNC_CLIENT_DISCONNECT == up_thread_next_call_function.first)) {
+ up_thread_next_call_function.second(LOCAL_PROC);
+ } else {
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] message execute : %s");
+ fmt % boost::this_thread::get_id() % msg->func_tag_name;
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+#endif
+ up_thread_message_data.set_endpoint(msg->endpoint_info);
+ msg->message(MESSAGE_PROC); //execute message
+ }
+ delete msg;
+ msg = NULL;
+ } else { // function exec mode
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] up_thread_next_call_function : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(up_thread_next_call_function.first);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+#endif
+ up_thread_next_call_function.second(LOCAL_PROC);
+ }
+ } // thread main loop end.
+
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] up thread loop end");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 21, fmt.str(), __FILE__, __LINE__);
+ }
+
+ {
+ // down thread waiting start
+ boost::mutex::scoped_lock lock(downthread_status_mutex);
+ while (downthread_status != DOWNTHREAD_COMPLETE && downthread_status != DOWNTHREAD_SLEEP) {
+ to_time(LOCKTIMEOUT, xt);
+ downthread_status_cond.timed_wait(lock, xt);
+
+ tcp_thread_message *down_msg = new tcp_thread_message();
+ down_msg->message = down_que_function_map[DOWN_FUNC_EXIT];
+#ifdef DEBUG
+ down_msg->func_tag_name = func_tag_to_string(DOWN_FUNC_EXIT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_EXIT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
#endif
- }
- upthread_status_mutex.lock();
- upthread_status = UPTHREAD_ACTIVE;
- upthread_status_mutex.unlock();
- upthread_status_cond.notify_one();
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- std::stringstream buf;
- buf << "Thread ID[" << boost::this_thread::get_id() << "] ";
- buf << "up thread loop start";
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 20, buf.str(), __FILE__, __LINE__);
- }
- while (!exit_flag) {
-
- // LOCK WAIT MODE
- {
- boost::mutex::scoped_lock lock(upthread_status_mutex);
- while ( unlikely(upthread_status == UPTHREAD_LOCK) ) {
- to_time(LOCKTIMEOUT, xt);
- upthread_status_cond.timed_wait(lock, xt);
- tcp_thread_message *msg = up_thread_message_que.pop();
- if(msg) { // message is alive.
- if (UP_FUNC_EXIT == up_thread_next_call_function.first){ // don't execute message when UP_FUNC_EXIT
- up_thread_next_call_function.second(LOCAL_PROC);
- delete msg;
- break;
- }
- else{
- up_thread_message_data.set_endpoint(msg->endpoint_info);
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] message execute : %s" );
- fmt % boost::this_thread::get_id() % msg->func_tag_name;
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
- msg->message(MESSAGE_PROC); // execute message
- delete msg;
- msg = NULL;
- }
- if( !(client_socket.is_open() || client_ssl_socket.is_open()) ){ //client connection check
- upthread_status = UPTHREAD_ACTIVE;
- up_thread_next_call_function = up_thread_function_array[UP_FUNC_EXIT];
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] client socket is close. goto finalize" );
- fmt % boost::this_thread::get_id() ;
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
- }
- } //message alive end.
- if( ssl_flag && up_thread_next_call_function.first == UP_FUNC_CLIENT_ACCEPT_EVENT ){ //handshake timeout check
- boost::xtime now_time;
- boost::xtime_get(&now_time, boost::TIME_UTC );
- if( (now_time.sec - start_handshake_time.sec) > ssl_handshake_time_out ){ // timeout detect.
- boost::system::error_code error_code;
- client_ssl_socket.close( error_code );
- if( error_code ){
- boost::format fmt( "Thread ID[%d] client SSL socket close fail when handshake timeout : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__ );
- }
- }
- }
- }
- } // lockmode while loop end.
-
- // ACTIVE MODE
- tcp_thread_message *msg = up_thread_message_que.pop(); //message checking
- if (unlikely(msg)) { //message execute mode
- if (unlikely(UP_FUNC_EXIT == up_thread_next_call_function.first) ||
- unlikely(UP_FUNC_CLIENT_DISCONNECT == up_thread_next_call_function.first) ) {
- up_thread_next_call_function.second(LOCAL_PROC);
- }
- else {
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] message execute : %s" );
- fmt % boost::this_thread::get_id() % msg->func_tag_name;
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
- up_thread_message_data.set_endpoint(msg->endpoint_info);
- msg->message(MESSAGE_PROC); //execute message
- }
- delete msg;
- msg = NULL;
- }
- else { // function exec mode
- #ifdef DEBUG
- boost::format fmt("Thread ID[%d] up_thread_next_call_function : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( up_thread_next_call_function.first );
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
- up_thread_next_call_function.second(LOCAL_PROC);
- }
- } // thread main loop end.
-
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format fmt( "Thread ID[%d] up thread loop end" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 21, fmt.str(), __FILE__, __LINE__);
- }
-
- { // down thread waiting start
- boost::mutex::scoped_lock lock(downthread_status_mutex);
- while (downthread_status != DOWNTHREAD_COMPLETE && downthread_status != DOWNTHREAD_SLEEP) {
- to_time(LOCKTIMEOUT, xt);
- downthread_status_cond.timed_wait(lock, xt);
-
- tcp_thread_message *down_msg = new tcp_thread_message();
- down_msg->message = down_que_function_map[DOWN_FUNC_EXIT];
- #ifdef DEBUG
- down_msg->func_tag_name = func_tag_to_string( DOWN_FUNC_EXIT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_EXIT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while (!down_thread_message_que.push(down_msg)) {}
- downthread_status_cond.notify_one();
- }
- }
-
- up_thread_all_socket_close();
- connecting_socket.reset();
-
- if (likely(protocol_module != NULL)) protocol_module->handle_session_finalize(up_thread_id, down_thread_id);
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- std::stringstream buf;
- buf << "Thread ID[" << boost::this_thread::get_id() << "] ";
- buf << "up thread called handle_session_finalize";
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 24, buf.str(), __FILE__, __LINE__);
- }
-
- if( ssl_flag ){
- client_ssl_socket.wait_async_event_all_end();
- client_ssl_socket.clear_socket();
- }
-
- upthread_status = UPTHREAD_SLEEP;
- // sockets finalize
- realserver_socket_mutex.lock();
- if( realserver_socket ) realserver_socket.reset();
- realserver_socket_mutex.unlock();
- realserver_endpoint = boost::asio::ip::tcp::endpoint();
-
-
- // clear messages
- tcp_thread_message* msg = up_thread_message_que.pop();
- while( msg ){
- delete msg;
- msg = up_thread_message_que.pop();
- }
-
- msg = down_thread_message_que.pop();
- while( msg ){
- delete msg;
- msg = down_thread_message_que.pop();
- }
-
- if ( !__sync_bool_compare_and_swap(&exit_flag, 1, 2) ) { // release session onece time.
- parent_service.release_session(this);
- }
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_run");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 18, formatter.str(), __FILE__, __LINE__);
- }
+ while (!down_thread_message_que.push(down_msg)) {}
+ downthread_status_cond.notify_one();
+ }
+ }
+
+ up_thread_all_socket_close();
+ connecting_socket.reset();
+
+ if (likely(protocol_module != NULL)) protocol_module->handle_session_finalize(up_thread_id, down_thread_id);
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ std::stringstream buf;
+ buf << "Thread ID[" << boost::this_thread::get_id() << "] ";
+ buf << "up thread called handle_session_finalize";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 24, buf.str(), __FILE__, __LINE__);
+ }
+
+ if (ssl_flag) {
+ client_ssl_socket.wait_async_event_all_end();
+ client_ssl_socket.clear_socket();
+ }
+
+ upthread_status = UPTHREAD_SLEEP;
+ // sockets finalize
+ realserver_socket_mutex.lock();
+ if (realserver_socket) realserver_socket.reset();
+ realserver_socket_mutex.unlock();
+ realserver_endpoint = boost::asio::ip::tcp::endpoint();
+
+
+ // clear messages
+ tcp_thread_message *msg = up_thread_message_que.pop();
+ while (msg) {
+ delete msg;
+ msg = up_thread_message_que.pop();
+ }
+
+ msg = down_thread_message_que.pop();
+ while (msg) {
+ delete msg;
+ msg = down_thread_message_que.pop();
+ }
+
+ if (!__sync_bool_compare_and_swap(&exit_flag, 1, 2)) { // release session onece time.
+ parent_service.release_session(this);
+ }
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_run");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 18, formatter.str(), __FILE__, __LINE__);
+ }
}
//! down stream thread main function
void tcp_session::down_thread_run()
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_run");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 27, formatter.str(), __FILE__, __LINE__);
- }
-
- down_thread_id = boost::this_thread::get_id();
- boost::xtime xt;
-
- downthread_status_mutex.lock();
- downthread_status = DOWNTHREAD_LOCK;
- downthread_status_mutex.unlock();
- down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_REALSERVER_RECEIVE];
- {
- boost::mutex::scoped_lock lock( upthread_status_mutex );
- while( upthread_status < UPTHREAD_ACTIVE ){
- to_time( LOCKTIMEOUT, xt );
- upthread_status_cond.timed_wait( lock, xt );
- }
- }
-
- if( unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format fmt( "Therad ID[%d] down thread loop start" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 30, fmt.str(), __FILE__, __LINE__ );
- }
-
- while (!exit_flag) { // down thread main loop.
-
- #ifdef DEBUG
- down_thread_function_pair old_func;
- #endif
- {
- boost::mutex::scoped_lock lock(downthread_status_mutex);
- while ( unlikely(downthread_status == DOWNTHREAD_LOCK) ) { // waiting loop
- to_time(LOCKTIMEOUT, xt);
- downthread_status_cond.timed_wait(lock, xt);
- tcp_thread_message* msg = down_thread_message_que.pop();
- if( msg ){
- if( DOWN_FUNC_EXIT == down_thread_next_call_function.first ){
- down_thread_next_call_function.second(LOCAL_PROC);
- delete msg;
- msg = NULL;
- break;
- }
- else{
- down_thread_message_data.set_endpoint( msg->endpoint_info );
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] message execute : %s" );
- fmt % boost::this_thread::get_id() % msg->func_tag_name;
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
- msg->message(MESSAGE_PROC);
- delete msg;
- msg = NULL;
- }
- }
- } // waiting loop end
- }
- tcp_thread_message *msg = down_thread_message_que.pop();
- if (unlikely(msg)) {
- if (unlikely(DOWN_FUNC_EXIT == down_thread_next_call_function.first) ){
- down_thread_next_call_function.second(LOCAL_PROC);
- }
- else {
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] message execute : %s" );
- fmt % boost::this_thread::get_id() % msg->func_tag_name;
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
- down_thread_message_data.set_endpoint(msg->endpoint_info);
- msg->message(MESSAGE_PROC);
- }
- delete msg;
- msg = NULL;
- } else {
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] down_thread_next_call_function : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( down_thread_next_call_function.first );
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__ );
-
- #endif
- down_thread_next_call_function.second(LOCAL_PROC);
- #ifdef DEBUG
- old_func = down_thread_next_call_function;
- #endif
- }
- } // down thread main loop end.
-
- if( unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format fmt( "Thread ID[%d] down thread loop end" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 31, fmt.str(), __FILE__, __LINE__);
- }
-
- { // waiting down thread loop.
- if( unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format fmt( "Thread ID[%d] downthread_status = DOWNTHREAD_SLEEP" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 31, fmt.str(), __FILE__, __LINE__);
- }
- boost::mutex::scoped_lock lock(downthread_status_mutex);
- downthread_status = DOWNTHREAD_SLEEP;
- downthread_status_cond.notify_one();
- }
-
- // clear down thread message
- {
- tcp_thread_message* msg = down_thread_message_que.pop();
- while( msg ){
- delete msg;
- msg = down_thread_message_que.pop();
- }
-
- }
-
- if ( !__sync_bool_compare_and_swap(&exit_flag, 1, 2) ) { // execute onetime on 2 threads.
- parent_service.release_session(this);
- }
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_run");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, /*XXX*/999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_run");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 27, formatter.str(), __FILE__, __LINE__);
+ }
+
+ down_thread_id = boost::this_thread::get_id();
+ boost::xtime xt;
+
+ downthread_status_mutex.lock();
+ downthread_status = DOWNTHREAD_LOCK;
+ downthread_status_mutex.unlock();
+ down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_REALSERVER_RECEIVE];
+ {
+ boost::mutex::scoped_lock lock(upthread_status_mutex);
+ while (upthread_status < UPTHREAD_ACTIVE) {
+ to_time(LOCKTIMEOUT, xt);
+ upthread_status_cond.timed_wait(lock, xt);
+ }
+ }
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Therad ID[%d] down thread loop start");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 30, fmt.str(), __FILE__, __LINE__);
+ }
+
+ while (!exit_flag) { // down thread main loop.
+
+#ifdef DEBUG
+ down_thread_function_pair old_func;
+#endif
+ {
+ boost::mutex::scoped_lock lock(downthread_status_mutex);
+ while (unlikely(downthread_status == DOWNTHREAD_LOCK)) { // waiting loop
+ to_time(LOCKTIMEOUT, xt);
+ downthread_status_cond.timed_wait(lock, xt);
+ tcp_thread_message *msg = down_thread_message_que.pop();
+ if (msg) {
+ if (DOWN_FUNC_EXIT == down_thread_next_call_function.first) {
+ down_thread_next_call_function.second(LOCAL_PROC);
+ delete msg;
+ msg = NULL;
+ break;
+ } else {
+ down_thread_message_data.set_endpoint(msg->endpoint_info);
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] message execute : %s");
+ fmt % boost::this_thread::get_id() % msg->func_tag_name;
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+#endif
+ msg->message(MESSAGE_PROC);
+ delete msg;
+ msg = NULL;
+ }
+ }
+ } // waiting loop end
+ }
+ tcp_thread_message *msg = down_thread_message_que.pop();
+ if (unlikely(msg)) {
+ if (unlikely(DOWN_FUNC_EXIT == down_thread_next_call_function.first)) {
+ down_thread_next_call_function.second(LOCAL_PROC);
+ } else {
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] message execute : %s");
+ fmt % boost::this_thread::get_id() % msg->func_tag_name;
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+#endif
+ down_thread_message_data.set_endpoint(msg->endpoint_info);
+ msg->message(MESSAGE_PROC);
+ }
+ delete msg;
+ msg = NULL;
+ } else {
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] down_thread_next_call_function : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(down_thread_next_call_function.first);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+
+#endif
+ down_thread_next_call_function.second(LOCAL_PROC);
+#ifdef DEBUG
+ old_func = down_thread_next_call_function;
+#endif
+ }
+ } // down thread main loop end.
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] down thread loop end");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 31, fmt.str(), __FILE__, __LINE__);
+ }
+
+ {
+ // waiting down thread loop.
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] downthread_status = DOWNTHREAD_SLEEP");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 31, fmt.str(), __FILE__, __LINE__);
+ }
+ boost::mutex::scoped_lock lock(downthread_status_mutex);
+ downthread_status = DOWNTHREAD_SLEEP;
+ downthread_status_cond.notify_one();
+ }
+
+ // clear down thread message
+ {
+ tcp_thread_message *msg = down_thread_message_que.pop();
+ while (msg) {
+ delete msg;
+ msg = down_thread_message_que.pop();
+ }
+
+ }
+
+ if (!__sync_bool_compare_and_swap(&exit_flag, 1, 2)) { // execute onetime on 2 threads.
+ parent_service.release_session(this);
+ }
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_run");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, /*XXX*/999, formatter.str(), __FILE__, __LINE__);
+ }
}
UP_THREAD_FUNC_TYPE_TAG func_tag = UP_FUNC_CLIENT_ACCEPT_EVENT;
- boost::system::error_code error_code;
+ boost::system::error_code error_code;
if (ssl_flag) {
- upthread_status = UPTHREAD_LOCK;
- // try ssl handshake
- boost::xtime_get(&start_handshake_time, boost::TIME_UTC);
- client_ssl_socket.setoption( error_code );
- client_ssl_socket.async_handshake( boost::bind( &tcp_session::up_thread_client_handshake_handle,
- this,
- boost::asio::placeholders::error) );
- }
- else{
- upthread_status = UPTHREAD_ACTIVE;
- }
+ upthread_status = UPTHREAD_LOCK;
+ // try ssl handshake
+ boost::xtime_get(&start_handshake_time, boost::TIME_UTC);
+ client_ssl_socket.setoption(error_code);
+ client_ssl_socket.async_handshake(boost::bind(&tcp_session::up_thread_client_handshake_handle,
+ this,
+ boost::asio::placeholders::error));
+ } else {
+ upthread_status = UPTHREAD_ACTIVE;
+ }
up_thread_next_call_function = up_thread_function_array[func_tag];
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
}
//! up thread message after client handshake
-void tcp_session::up_thread_client_handshake_handle( const boost::system::error_code& error_code ){
-
- if( ssl_flag ){
- client_ssl_socket.decrement_handshake_con();
- }
-
- tcp_thread_message* up_msg = new tcp_thread_message();
- if( !error_code ){
- up_msg->message = up_que_function_map[UP_FUNC_CLIENT_ACCEPT_EVENT];
- #ifdef DEBUG
- up_msg->func_tag_name = func_tag_to_string( UP_FUNC_CLIENT_ACCEPT_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_CLIENT_ACCEPT_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- }
- else{
- handshake_error_code = error_code;
- up_msg->message = up_que_function_map[UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT];
- #ifdef DEBUG
- up_msg->func_tag_name = func_tag_to_string( UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s / error_code = %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT ) % error_code.message();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- }
- while( !up_thread_message_que.push( up_msg ) ){}
- upthread_status_cond.notify_one();
+void tcp_session::up_thread_client_handshake_handle(const boost::system::error_code &error_code)
+{
+
+ if (ssl_flag) {
+ client_ssl_socket.decrement_handshake_con();
+ }
+
+ tcp_thread_message *up_msg = new tcp_thread_message();
+ if (!error_code) {
+ up_msg->message = up_que_function_map[UP_FUNC_CLIENT_ACCEPT_EVENT];
+#ifdef DEBUG
+ up_msg->func_tag_name = func_tag_to_string(UP_FUNC_CLIENT_ACCEPT_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_CLIENT_ACCEPT_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ } else {
+ handshake_error_code = error_code;
+ up_msg->message = up_que_function_map[UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT];
+#ifdef DEBUG
+ up_msg->func_tag_name = func_tag_to_string(UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s / error_code = %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_CLIENT_ACCEPT_FAIL_EVENT) % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ }
+ while (!up_thread_message_que.push(up_msg)) {}
+ upthread_status_cond.notify_one();
}
//! up thread raise module event of handle_accept and do handshake
Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
}
- if( ssl_flag ) upthread_status = UPTHREAD_ACTIVE;
+ if (ssl_flag) upthread_status = UPTHREAD_ACTIVE;
protocol_module_base::EVENT_TAG module_event;
module_event = protocol_module->handle_accept(up_thread_id);
-#ifdef DEBUG
- boost::format fmt( "Thread ID[%d] protocol_module->handle_accept() return : %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION,0, fmt.str(), __FILE__,__LINE__ );
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] protocol_module->handle_accept() return : %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
#endif
up_thread_data_client_side.set_endpoint(client_endpoint);
//! accept error event.
-void tcp_session::up_thread_client_accept_fail_event(const TCP_PROCESS_TYPE_TAG proc ){
-
- UP_THREAD_FUNC_TYPE_TAG func_tag = UP_FUNC_CLIENT_ACCEPT_EVENT;
-
- if( handshake_error_code == boost::asio::error::try_again ){
- upthread_status = UPTHREAD_LOCK;
- tcp_ssl_socket::async_handshake_handler_t handler;
- handler = boost::bind( &tcp_session::up_thread_client_handshake_handle, this, boost::asio::placeholders::error );
- client_ssl_socket.async_handshake( handler );
- }
- else{ //error
- func_tag = UP_FUNC_CLIENT_DISCONNECT;
- upthread_status = UPTHREAD_ACTIVE;
- tcp_thread_message* mes = new tcp_thread_message();
- mes->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- mes->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
-
- while( !down_thread_message_que.push( mes ) ){}
- downthread_status_cond.notify_one();
-
- boost::format fmt( "Thread ID[%d] tcp_ssl_socket::handshake[%s]" );
- fmt % boost::this_thread::get_id() % handshake_error_code.message();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 71, fmt.str(), __FILE__, __LINE__);
-
- }
- up_thread_next_call_function = up_thread_function_array[func_tag];
+void tcp_session::up_thread_client_accept_fail_event(const TCP_PROCESS_TYPE_TAG proc)
+{
+
+ UP_THREAD_FUNC_TYPE_TAG func_tag = UP_FUNC_CLIENT_ACCEPT_EVENT;
+
+ if (handshake_error_code == boost::asio::error::try_again) {
+ upthread_status = UPTHREAD_LOCK;
+ tcp_ssl_socket::async_handshake_handler_t handler;
+ handler = boost::bind(&tcp_session::up_thread_client_handshake_handle, this, boost::asio::placeholders::error);
+ client_ssl_socket.async_handshake(handler);
+ } else { //error
+ func_tag = UP_FUNC_CLIENT_DISCONNECT;
+ upthread_status = UPTHREAD_ACTIVE;
+ tcp_thread_message *mes = new tcp_thread_message();
+ mes->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ mes->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+
+ while (!down_thread_message_que.push(mes)) {}
+ downthread_status_cond.notify_one();
+
+ boost::format fmt("Thread ID[%d] tcp_ssl_socket::handshake[%s]");
+ fmt % boost::this_thread::get_id() % handshake_error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 71, fmt.str(), __FILE__, __LINE__);
+
+ }
+ up_thread_next_call_function = up_thread_function_array[func_tag];
}
//! real server remove
//! @param[in] target endpoint
-void tcp_session::realserver_remove(endpoint& target_endpoint)
+void tcp_session::realserver_remove(endpoint &target_endpoint)
{
tcp_thread_message *up_msg = new tcp_thread_message;
up_thread_function_pair up_func = up_thread_function_array[UP_FUNC_REALSERVER_CHECK];
up_msg->message = up_func.second;
- up_msg->endpoint_info = target_endpoint;
-#ifdef DEBUG
- up_msg->func_tag_name = func_tag_to_string( UP_FUNC_REALSERVER_CHECK );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_REALSERVER_CHECK );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
+ up_msg->endpoint_info = target_endpoint;
+#ifdef DEBUG
+ up_msg->func_tag_name = func_tag_to_string(UP_FUNC_REALSERVER_CHECK);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_REALSERVER_CHECK);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
#endif
while (!up_thread_message_que.push(up_msg)) {}
- upthread_status_cond.notify_one();
+ upthread_status_cond.notify_one();
}
up_thread_data_client_side.set_size(recv_size);
parent_service.update_up_recv_size(recv_size);
protocol_module_base::EVENT_TAG module_event = protocol_module->handle_client_recv(up_thread_id, data_buff, recv_size);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_client_recv() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );}
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_client_recv() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
#endif
func_tag = up_thread_module_event_map[module_event];
} else {
} else if (ec == boost::asio::error::try_again) {
upthread_status = UPTHREAD_LOCK;
func_tag = UP_FUNC_CLIENT_HANDLE_ARECIEVE;
- basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler
- = boost::bind( &tcp_session::up_thread_client_async_read_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- !ssl_flag ? client_socket.async_read_some( boost::asio::buffer( data_buff ), handler )
- : client_ssl_socket.async_read_some( boost::asio::buffer( data_buff ), handler );
-
-#ifdef DEBUG
- boost::format fmt( "Thread ID[%d] async_read_some execute" );
- fmt % boost::this_thread::get_id();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION,0, fmt.str(), __FILE__,__LINE__ );
+ basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler
+ = boost::bind(&tcp_session::up_thread_client_async_read_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ !ssl_flag ? client_socket.async_read_some(boost::asio::buffer(data_buff), handler)
+ : client_ssl_socket.async_read_some(boost::asio::buffer(data_buff), handler);
+
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] async_read_some execute");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
#endif
} else {
boost::format formatter("Thread ID[%d] client read error: %s");
tcp_thread_message *up_msg = new tcp_thread_message;
up_thread_function_pair up_func = up_thread_function_array[UP_FUNC_CLIENT_RESPOND_SEND_EVENT];
up_msg->message = up_func.second;
-#ifdef DEBUG
- up_msg->func_tag_name = func_tag_to_string( UP_FUNC_CLIENT_RESPOND_SEND_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_CLIENT_RESPOND_SEND_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
+#ifdef DEBUG
+ up_msg->func_tag_name = func_tag_to_string(UP_FUNC_CLIENT_RESPOND_SEND_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_CLIENT_RESPOND_SEND_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
#endif
while (!up_thread_message_que.push(up_msg)) {}
- upthread_status_cond.notify_one();
+ upthread_status_cond.notify_one();
tcp_thread_message *down_msg = new tcp_thread_message;
down_msg->message = down_que_function_map[DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT];
-#ifdef DEBUG
- down_msg->func_tag_name = func_tag_to_string( DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
+#ifdef DEBUG
+ down_msg->func_tag_name = func_tag_to_string(DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_CLIENT_RESPOND_SEND_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
#endif
while (!down_thread_message_que.push(down_msg)) {}
- downthread_status_cond.notify_one();
+ downthread_status_cond.notify_one();
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
boost::format formatter("Thread ID[%d] FUNC OUT up_thread_client_respond");
{
rw_scoped_lock scope_lock(module_function_response_send_inform_mutex);
module_event = protocol_module->handle_response_send_inform(up_thread_id);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_response_send_inform() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
-}
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_response_send_inform() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
#endif
}
boost::system::error_code ec;
- if(!ssl_flag){
- client_socket.shutdown(ec);
- if( ec ){
- boost::format fmt( "Thrad ID[%d] client shutdown error : %s " );
- fmt % boost::this_thread::get_id() % ec.message();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- func_tag = UP_FUNC_CLIENT_DISCONNECT_EVENT;
- }else{
- client_ssl_socket.shutdown(ec);
- if(ec == boost::asio::error::try_again ){
+ if (!ssl_flag) {
+ client_socket.shutdown(ec);
+ if (ec) {
+ boost::format fmt("Thrad ID[%d] client shutdown error : %s ");
+ fmt % boost::this_thread::get_id() % ec.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ func_tag = UP_FUNC_CLIENT_DISCONNECT_EVENT;
+ } else {
+ client_ssl_socket.shutdown(ec);
+ if (ec == boost::asio::error::try_again) {
#ifdef DEBUG
- boost::format fmt( "Thread ID[%d] ssl_shutdown fail: %s" );
- fmt % boost::this_thread::get_id() % ec.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
+ boost::format fmt("Thread ID[%d] ssl_shutdown fail: %s");
+ fmt % boost::this_thread::get_id() % ec.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
#endif
- func_tag = UP_FUNC_CLIENT_DISCONNECT;
- }else if(ec == boost::asio::error::eof ){
+ func_tag = UP_FUNC_CLIENT_DISCONNECT;
+ } else if (ec == boost::asio::error::eof) {
#ifdef DEBUG
- boost::format fmt( "Thread ID[%d] ssl_shutdown fail: %s" );
- fmt % boost::this_thread::get_id() % ec.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
+ boost::format fmt("Thread ID[%d] ssl_shutdown fail: %s");
+ fmt % boost::this_thread::get_id() % ec.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
#endif
- func_tag = UP_FUNC_CLIENT_DISCONNECT_EVENT;
- }else{
+ func_tag = UP_FUNC_CLIENT_DISCONNECT_EVENT;
+ } else {
#ifdef DEBUG
- boost::format fmt( "Thread ID[%d] ssl_shutdown fail: %s" );
- fmt % boost::this_thread::get_id() % ec.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
+ boost::format fmt("Thread ID[%d] ssl_shutdown fail: %s");
+ fmt % boost::this_thread::get_id() % ec.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
#endif
- func_tag = UP_FUNC_CLIENT_DISCONNECT_EVENT;
- }
+ func_tag = UP_FUNC_CLIENT_DISCONNECT_EVENT;
+ }
}
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
% func_tag_to_string(DOWN_FUNC_CLIENT_DISCONNECT_EVENT);
Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
}
- upthread_status = UPTHREAD_ACTIVE;
- up_thread_next_call_function = up_thread_function_array[func_tag];
+ upthread_status = UPTHREAD_ACTIVE;
+ up_thread_next_call_function = up_thread_function_array[func_tag];
}
//! up thread raise module event of handle_client_disconnect
//! @param[in] process_type is process type
}
protocol_module_base::EVENT_TAG module_event;
{
- rw_scoped_lock scope_lock(module_function_client_disconnect_mutex);
- module_event = protocol_module->handle_client_disconnect(up_thread_id);
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_client_disconnect() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
+ rw_scoped_lock scope_lock(module_function_client_disconnect_mutex);
+ module_event = protocol_module->handle_client_disconnect(up_thread_id);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_client_disconnect() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
}
- up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
+ up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
- tcp_thread_message* mes = new tcp_thread_message();
- mes->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- mes->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( mes ) ){}
+ tcp_thread_message *mes = new tcp_thread_message();
+ mes->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ mes->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(mes)) {}
- upthread_status = UPTHREAD_ACTIVE;
+ upthread_status = UPTHREAD_ACTIVE;
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
boost::format formatter("Thread ID[%d] FUNC OUT up_thread_client_disconnect_event: NEXT_FUNC[%s]");
Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
}
- boost::system::error_code error_code;
+ boost::system::error_code error_code;
boost::array<char, MAX_BUFFER_SIZE>& data_buff = up_thread_data_dest_side.get_data();
std::size_t data_size = up_thread_data_dest_side.get_size();
std::size_t send_data_size = up_thread_data_dest_side.get_send_size();
std::size_t send_size = 0;
UP_THREAD_FUNC_TYPE_TAG func_tag;
- if( realserver_socket )
- send_size = realserver_socket->write_some(
- boost::asio::const_buffers_1(
- data_buff.data() + send_data_size,
- data_size - send_data_size
- ),
- error_code
- );
- else
- error_code = boost::asio::error::connection_reset;
-
+ if (realserver_socket)
+ send_size = realserver_socket->write_some(
+ boost::asio::const_buffers_1(
+ data_buff.data() + send_data_size,
+ data_size - send_data_size
+ ),
+ error_code
+ );
+ else
+ error_code = boost::asio::error::connection_reset;
+
if (!error_code) {
- send_data_size += send_size;
- up_thread_data_dest_side.set_send_size(send_data_size);
- parent_service.update_up_send_size(send_size);
- if (data_size > send_data_size) {
- func_tag = UP_FUNC_REALSERVER_SEND;
- }
- else {
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_realserver_send(up_thread_id);
- #ifdef DEBUG
- { boost::format fmt( "Thread ID[%d] protocol_module->handle_realserver_send() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
-
- func_tag = up_thread_module_event_map[module_event];
- }
- }
- else {
- if (error_code == boost::asio::error::try_again) {
- upthread_status = UPTHREAD_LOCK;
- func_tag = UP_FUNC_REALSERVER_SEND;
- basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
- boost::bind( &tcp_session::up_thread_realserver_async_write_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- if( realserver_socket )
- realserver_socket->async_write_some(
- boost::asio::const_buffers_1(
- data_buff.data() + send_data_size,
- data_size - send_data_size
- ),
- handler
- );
- else
- func_tag = UP_FUNC_REALSERVER_DISCONNECT_EVENT;
- }
- else{
- func_tag = UP_FUNC_REALSERVER_DISCONNECT;
- boost::format fmt( "Thread ID[%d] realserver send error: %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
+ send_data_size += send_size;
+ up_thread_data_dest_side.set_send_size(send_data_size);
+ parent_service.update_up_send_size(send_size);
+ if (data_size > send_data_size) {
+ func_tag = UP_FUNC_REALSERVER_SEND;
+ } else {
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_realserver_send(up_thread_id);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_realserver_send() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+
+ func_tag = up_thread_module_event_map[module_event];
+ }
+ } else {
+ if (error_code == boost::asio::error::try_again) {
+ upthread_status = UPTHREAD_LOCK;
+ func_tag = UP_FUNC_REALSERVER_SEND;
+ basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
+ boost::bind(&tcp_session::up_thread_realserver_async_write_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ if (realserver_socket)
+ realserver_socket->async_write_some(
+ boost::asio::const_buffers_1(
+ data_buff.data() + send_data_size,
+ data_size - send_data_size
+ ),
+ handler
+ );
+ else
+ func_tag = UP_FUNC_REALSERVER_DISCONNECT_EVENT;
+ } else {
+ func_tag = UP_FUNC_REALSERVER_DISCONNECT;
+ boost::format fmt("Thread ID[%d] realserver send error: %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
}
up_thread_next_call_function = up_thread_function_array[func_tag];
//! @param[in] process_type is process type
void tcp_session::up_thread_realserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_get_destination_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_realserver_select(up_thread_id, connecting_endpoint );
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_realserver_select() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
- if( unlikely( module_event == protocol_module_base::SORRYSERVER_SELECT) ){ //sorry_server mode change when realserver select fail.
- tcp_thread_message* down_msg = new tcp_thread_message();
- down_msg->message = down_que_function_map[DOWN_FUNC_SORRY_ENABLE_EVENT];
- #ifdef DEBUG
- down_msg->func_tag_name = func_tag_to_string( DOWN_FUNC_SORRY_ENABLE_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_SORRY_ENABLE_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( down_msg ) ){}
- downthread_status_cond.notify_one();
- }
-
- up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_get_destination_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-}
-void tcp_session::up_thread_realserver_connect_handler(
- const boost::system::error_code &error)
-{
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))){
- boost::format fmt( "Thread ID[%d] FUNC IN up_thread_realserver_connect_handler");
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
- }
-
-
- tcp_thread_message* msg = new tcp_thread_message();
- if( !error ){
- up_thread_function_pair func = up_thread_function_array[UP_FUNC_REALSERVER_CONNECT_EVENT];
- msg->message = func.second;
- #ifdef DEBUG
- msg->func_tag_name = func_tag_to_string( UP_FUNC_REALSERVER_CONNECT_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_REALSERVER_CONNECT_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- }
- else{
- up_thread_function_pair func = up_thread_function_array[UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT];
- msg->message = func.second;
- #ifdef DEBUG
- msg->func_tag_name = func_tag_to_string( UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- boost::format fmt( "Thread ID[%d] connection error : %s" );
- fmt % boost::this_thread::get_id() % error.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- while( !up_thread_message_que.push(msg) ){}
- upthread_status_cond.notify_one();
-
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION ))){
- boost::format fmt( "Thread ID[%d] FUNC OUT up_thread_realserver_connect_handler");
- fmt % boost::this_thread::get_id() ;
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
- }
-}
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_get_destination_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_realserver_select(up_thread_id, connecting_endpoint);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_realserver_select() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ if (unlikely(module_event == protocol_module_base::SORRYSERVER_SELECT)) { //sorry_server mode change when realserver select fail.
+ tcp_thread_message *down_msg = new tcp_thread_message();
+ down_msg->message = down_que_function_map[DOWN_FUNC_SORRY_ENABLE_EVENT];
+#ifdef DEBUG
+ down_msg->func_tag_name = func_tag_to_string(DOWN_FUNC_SORRY_ENABLE_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_SORRY_ENABLE_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(down_msg)) {}
+ downthread_status_cond.notify_one();
+ }
+
+ up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_get_destination_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+}
+void tcp_session::up_thread_realserver_connect_handler(
+ const boost::system::error_code &error)
+{
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC IN up_thread_realserver_connect_handler");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+
+
+ tcp_thread_message *msg = new tcp_thread_message();
+ if (!error) {
+ up_thread_function_pair func = up_thread_function_array[UP_FUNC_REALSERVER_CONNECT_EVENT];
+ msg->message = func.second;
+#ifdef DEBUG
+ msg->func_tag_name = func_tag_to_string(UP_FUNC_REALSERVER_CONNECT_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_REALSERVER_CONNECT_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ } else {
+ up_thread_function_pair func = up_thread_function_array[UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT];
+ msg->message = func.second;
+#ifdef DEBUG
+ msg->func_tag_name = func_tag_to_string(UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_REALSERVER_CONNECT_FAIL_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ boost::format fmt("Thread ID[%d] connection error : %s");
+ fmt % boost::this_thread::get_id() % error.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ while (!up_thread_message_que.push(msg)) {}
+ upthread_status_cond.notify_one();
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC OUT up_thread_realserver_connect_handler");
+ fmt % boost::this_thread::get_id() ;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+}
//! up thread connect realserver
//! @param[in] process_type is process type
void tcp_session::up_thread_realserver_connect(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_connect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- boost::system::error_code error_code;
-
- if( realserver_socket && realserver_socket->is_open() ){
- up_thread_data_dest_side.initialize();
- boost::array<char, MAX_BUFFER_SIZE>& data_buff = up_thread_data_dest_side.get_data();
- size_t data_size = 0;
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_realserver_connect(up_thread_id, data_buff, data_size);
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_realserver_connect() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
- up_thread_data_dest_side.set_size(data_size);
- // next call function setup.
- up_thread_next_call_function = up_thread_function_array[ up_thread_module_event_map[module_event] ];
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_connect_event: NEXT_FUNC[%s]");
- formatter % boost::this_thread::get_id() % func_tag_to_string( up_thread_module_event_map[module_event] );
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
- return ;
- }
-
- connecting_socket.reset( new tcp_socket( parent_dispatcher, socket_opt_info ) );
-
- upthread_status = UPTHREAD_LOCK;
- up_thread_next_call_function = up_thread_function_array[UP_FUNC_REALSERVER_CONNECT_EVENT];
-
- // down thread_pause on
- tcp_thread_message* msg = new tcp_thread_message();
- msg->message = down_que_function_map[DOWN_FUNC_PAUSE_ON_EVENT];
-
- #ifdef DEBUG
- msg->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_ON_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_ON_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( msg ) ){}
- downthread_status_cond.notify_one();
-
- connecting_socket->open( connecting_endpoint );
- connecting_socket->setoption( error_code );
-
- #ifdef IP_TRANSPARENT
- if( parent_service.is_realserver_transparent( connecting_endpoint ) ){
- if( ( connecting_endpoint.address().is_v4() && client_endpoint.address().is_v4() ) ||
- ( connecting_endpoint.address().is_v6() && client_endpoint.address().is_v6() ) ){
- connecting_socket->set_transparent( client_endpoint, error_code );
- if( error_code ){
- boost::format fmt( "Thread ID[%d] realserver[%s:%d] socket option(IP_TRANSPARENT) set failed:" );
- fmt % boost::this_thread::get_id()
- % connecting_endpoint.address().to_string()
- % connecting_endpoint.port();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
- }
- }
- }
- #endif
-
- connecting_socket->async_connect(
- connecting_endpoint,
- boost::bind(
- &tcp_session::up_thread_realserver_connect_handler,
- this,
- boost::asio::placeholders::error
- )
- );
-
- if(unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))){
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_connect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_connect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ boost::system::error_code error_code;
+
+ if (realserver_socket && realserver_socket->is_open()) {
+ up_thread_data_dest_side.initialize();
+ boost::array<char, MAX_BUFFER_SIZE>& data_buff = up_thread_data_dest_side.get_data();
+ size_t data_size = 0;
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_realserver_connect(up_thread_id, data_buff, data_size);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_realserver_connect() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ up_thread_data_dest_side.set_size(data_size);
+ // next call function setup.
+ up_thread_next_call_function = up_thread_function_array[ up_thread_module_event_map[module_event] ];
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_connect_event: NEXT_FUNC[%s]");
+ formatter % boost::this_thread::get_id() % func_tag_to_string(up_thread_module_event_map[module_event]);
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+ return ;
+ }
+
+ connecting_socket.reset(new tcp_socket(parent_dispatcher, socket_opt_info));
+
+ upthread_status = UPTHREAD_LOCK;
+ up_thread_next_call_function = up_thread_function_array[UP_FUNC_REALSERVER_CONNECT_EVENT];
+
+ // down thread_pause on
+ tcp_thread_message *msg = new tcp_thread_message();
+ msg->message = down_que_function_map[DOWN_FUNC_PAUSE_ON_EVENT];
+
+#ifdef DEBUG
+ msg->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_ON_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_ON_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(msg)) {}
+ downthread_status_cond.notify_one();
+
+ connecting_socket->open(connecting_endpoint);
+ connecting_socket->setoption(error_code);
+
+#ifdef IP_TRANSPARENT
+ if (parent_service.is_realserver_transparent(connecting_endpoint)) {
+ if ((connecting_endpoint.address().is_v4() && client_endpoint.address().is_v4()) ||
+ (connecting_endpoint.address().is_v6() && client_endpoint.address().is_v6())) {
+ connecting_socket->set_transparent(client_endpoint, error_code);
+ if (error_code) {
+ boost::format fmt("Thread ID[%d] realserver[%s:%d] socket option(IP_TRANSPARENT) set failed:");
+ fmt % boost::this_thread::get_id()
+ % connecting_endpoint.address().to_string()
+ % connecting_endpoint.port();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ }
+#endif
+
+ connecting_socket->async_connect(
+ connecting_endpoint,
+ boost::bind(
+ &tcp_session::up_thread_realserver_connect_handler,
+ this,
+ boost::asio::placeholders::error
+ )
+ );
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_connect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! up thread raise module event of handle_realserver_connect
//! @param[in] process_type is process type
-void tcp_session::up_thread_realserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_connect_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- boost::system::error_code error_code;
-
- if( unlikely( error_code ) ){
- boost::format fmt( "Thread ID[%d] realserver socket option error %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION, 99, fmt.str(), __FILE__, __LINE__ );
- }
-
- //set realserver socket receive buffer size
- if( likely( downstream_buffer_size > 0 ) ){
- boost::asio::socket_base::receive_buffer_size buf_size( downstream_buffer_size );
- connecting_socket->get_socket().set_option( buf_size, error_code );
- if( unlikely( error_code ) ){
- boost::format formatter( "Thread ID[%d] realserver socket receive buffer size error: %s" );
- formatter % boost::this_thread::get_id % error_code.message();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION, 35, formatter.str(), __FILE__, __LINE__ );
-
- up_thread_next_call_function = up_thread_function_array[UP_FUNC_EXIT];
- upthread_status = UPTHREAD_ACTIVE;
- return;
- }
- }
-
- //set realserver socket send buffer size
- if( likely( upstream_buffer_size > 0 ) ){
- boost::asio::socket_base::send_buffer_size buf_size( upstream_buffer_size );
- connecting_socket->get_socket().set_option( buf_size, error_code );
- if( unlikely( error_code ) ){
- boost::format formatter( "Thread ID[%d] realserver socket send buffer size error: %s" );
- formatter % boost::this_thread::get_id() % error_code.message();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION, 35, formatter.str(), __FILE__, __LINE__ );
-
- up_thread_next_call_function = up_thread_function_array[UP_FUNC_EXIT];
- upthread_status = UPTHREAD_ACTIVE;
- return;
- }
- }
-
- //realserver socket alive.
- realserver_socket_mutex.lock();
- realserver_socket.swap( connecting_socket );
- realserver_socket_mutex.unlock();
- realserver_endpoint = connecting_endpoint;
-
- //set virtualservice connection active
- parent_service.connection_active( realserver_endpoint );
-
- // out put access log
- rd_scoped_lock scoped_lock(access_log_flag_mutex);
+void tcp_session::up_thread_realserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_connect_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ boost::system::error_code error_code;
+
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] realserver socket option error %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 99, fmt.str(), __FILE__, __LINE__);
+ }
+
+ //set realserver socket receive buffer size
+ if (likely(downstream_buffer_size > 0)) {
+ boost::asio::socket_base::receive_buffer_size buf_size(downstream_buffer_size);
+ connecting_socket->get_socket().set_option(buf_size, error_code);
+ if (unlikely(error_code)) {
+ boost::format formatter("Thread ID[%d] realserver socket receive buffer size error: %s");
+ formatter % boost::this_thread::get_id % error_code.message();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 35, formatter.str(), __FILE__, __LINE__);
+
+ up_thread_next_call_function = up_thread_function_array[UP_FUNC_EXIT];
+ upthread_status = UPTHREAD_ACTIVE;
+ return;
+ }
+ }
+
+ //set realserver socket send buffer size
+ if (likely(upstream_buffer_size > 0)) {
+ boost::asio::socket_base::send_buffer_size buf_size(upstream_buffer_size);
+ connecting_socket->get_socket().set_option(buf_size, error_code);
+ if (unlikely(error_code)) {
+ boost::format formatter("Thread ID[%d] realserver socket send buffer size error: %s");
+ formatter % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 35, formatter.str(), __FILE__, __LINE__);
+
+ up_thread_next_call_function = up_thread_function_array[UP_FUNC_EXIT];
+ upthread_status = UPTHREAD_ACTIVE;
+ return;
+ }
+ }
+
+ //realserver socket alive.
+ realserver_socket_mutex.lock();
+ realserver_socket.swap(connecting_socket);
+ realserver_socket_mutex.unlock();
+ realserver_endpoint = connecting_endpoint;
+
+ //set virtualservice connection active
+ parent_service.connection_active(realserver_endpoint);
+
+ // out put access log
+ rd_scoped_lock scoped_lock(access_log_flag_mutex);
if (access_log_flag && access_logger != NULL) {
- endpoint server_side_endpoint =
- realserver_socket->get_socket().local_endpoint(error_code);
- std::string reserv_msg("");
- access_logger->putLog(
- endpoint_to_string(virtualservice_endpoint),
- endpoint_to_string(client_endpoint),
- endpoint_to_string(server_side_endpoint),
- endpoint_to_string(realserver_endpoint),
- reserv_msg);
- }
-
- // up thread pause off
- upthread_status = UPTHREAD_ACTIVE;
-
- // down thread pause off
- tcp_thread_message* msg = new tcp_thread_message();
- msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
-
- #ifdef DEBUG
- msg->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( msg ) ){}
- downthread_status_cond.notify_one();
-
- // dist_side data initialize
- up_thread_data_dest_side.initialize();
- boost::array<char, MAX_BUFFER_SIZE>& data_buff = up_thread_data_dest_side.get_data();
- size_t data_size = 0;
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_realserver_connect(up_thread_id, data_buff, data_size);
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_realserver_connect() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
- up_thread_data_dest_side.set_endpoint( realserver_endpoint );
- up_thread_data_dest_side.set_size(data_size);
-
- // connecting values reset.
- connecting_socket.reset();
- connecting_endpoint = boost::asio::ip::tcp::endpoint();
-
- // next call function setup.
- up_thread_next_call_function = up_thread_function_array[ up_thread_module_event_map[module_event] ];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_connect_event: NEXT_FUNC[%s]");
- formatter % boost::this_thread::get_id() % func_tag_to_string( up_thread_module_event_map[module_event] );
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ endpoint server_side_endpoint =
+ realserver_socket->get_socket().local_endpoint(error_code);
+ std::string reserv_msg("");
+ access_logger->putLog(
+ endpoint_to_string(virtualservice_endpoint),
+ endpoint_to_string(client_endpoint),
+ endpoint_to_string(server_side_endpoint),
+ endpoint_to_string(realserver_endpoint),
+ reserv_msg);
+ }
+
+ // up thread pause off
+ upthread_status = UPTHREAD_ACTIVE;
+
+ // down thread pause off
+ tcp_thread_message *msg = new tcp_thread_message();
+ msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
+
+#ifdef DEBUG
+ msg->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(msg)) {}
+ downthread_status_cond.notify_one();
+
+ // dist_side data initialize
+ up_thread_data_dest_side.initialize();
+ boost::array<char, MAX_BUFFER_SIZE>& data_buff = up_thread_data_dest_side.get_data();
+ size_t data_size = 0;
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_realserver_connect(up_thread_id, data_buff, data_size);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_realserver_connect() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ up_thread_data_dest_side.set_endpoint(realserver_endpoint);
+ up_thread_data_dest_side.set_size(data_size);
+
+ // connecting values reset.
+ connecting_socket.reset();
+ connecting_endpoint = boost::asio::ip::tcp::endpoint();
+
+ // next call function setup.
+ up_thread_next_call_function = up_thread_function_array[ up_thread_module_event_map[module_event] ];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_connect_event: NEXT_FUNC[%s]");
+ formatter % boost::this_thread::get_id() % func_tag_to_string(up_thread_module_event_map[module_event]);
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! up thread raise module event of handle_realserver_connection_fail
//! @param[in] process_type is process type
Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
}
- // connecting socket clear
- connecting_socket.reset();
- connecting_endpoint = boost::asio::ip::tcp::endpoint();
+ // connecting socket clear
+ connecting_socket.reset();
+ connecting_endpoint = boost::asio::ip::tcp::endpoint();
- // module event call
+ // module event call
protocol_module_base::EVENT_TAG module_event = protocol_module->handle_realserver_connection_fail(up_thread_id, connecting_endpoint);
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_realserver_connection_fail() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_realserver_connection_fail() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
up_thread_next_call_function = up_thread_function_array[ up_thread_module_event_map[module_event] ];
- // session pause off
- upthread_status = UPTHREAD_ACTIVE;
+ // session pause off
+ upthread_status = UPTHREAD_ACTIVE;
- tcp_thread_message* down_msg = new tcp_thread_message();
- down_msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
+ tcp_thread_message *down_msg = new tcp_thread_message();
+ down_msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- down_msg->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( down_msg ) ){}
- downthread_status_cond.notify_one();
+#ifdef DEBUG
+ down_msg->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(down_msg)) {}
+ downthread_status_cond.notify_one();
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_connection_fail_event: NEXT_FUNC[%s]");
- formatter % boost::this_thread::get_id() % func_tag_to_string( up_thread_module_event_map[module_event] );
+ formatter % boost::this_thread::get_id() % func_tag_to_string(up_thread_module_event_map[module_event]);
Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ }
}
//! up thread close realserver socket and raise realserver disconnect event message for up and down thread
//! @param[in] process_type is process type
void tcp_session::up_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- realserver_socket_mutex.lock();
- if( realserver_socket ){
- boost::system::error_code error_code;
- if( realserver_socket->is_open() ){
- realserver_socket->close(error_code);
- parent_service.connection_inactive(realserver_endpoint);
- if( unlikely( error_code ) ){
- boost::format fmt( "Thread ID[%d] realserver_socket close error: %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
- }
- realserver_socket_mutex.unlock();
-
- tcp_thread_message *down_msg = new tcp_thread_message;
-
- down_msg->endpoint_info = realserver_endpoint;
- down_msg->message = down_que_function_map[DOWN_FUNC_REALSERVER_DISCONNECT_EVENT];
- #ifdef DEBUG
- down_msg->func_tag_name = func_tag_to_string( DOWN_FUNC_REALSERVER_DISCONNECT_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_REALSERVER_DISCONNECT_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while (!down_thread_message_que.push(down_msg)) {}
- downthread_status_cond.notify_one();
-
- up_thread_next_call_function = up_thread_function_array[UP_FUNC_REALSERVER_DISCONNECT_EVENT];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ realserver_socket_mutex.lock();
+ if (realserver_socket) {
+ boost::system::error_code error_code;
+ if (realserver_socket->is_open()) {
+ realserver_socket->close(error_code);
+ parent_service.connection_inactive(realserver_endpoint);
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] realserver_socket close error: %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ }
+ realserver_socket_mutex.unlock();
+
+ tcp_thread_message *down_msg = new tcp_thread_message;
+
+ down_msg->endpoint_info = realserver_endpoint;
+ down_msg->message = down_que_function_map[DOWN_FUNC_REALSERVER_DISCONNECT_EVENT];
+#ifdef DEBUG
+ down_msg->func_tag_name = func_tag_to_string(DOWN_FUNC_REALSERVER_DISCONNECT_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_REALSERVER_DISCONNECT_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(down_msg)) {}
+ downthread_status_cond.notify_one();
+
+ up_thread_next_call_function = up_thread_function_array[UP_FUNC_REALSERVER_DISCONNECT_EVENT];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! up thread raise module event of handle_client_disconnect
//! @param[in] process_type is process type
void tcp_session::up_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_disconnect_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- protocol_module_base::EVENT_TAG module_event;
- module_event = protocol_module->handle_realserver_disconnect(up_thread_id, realserver_endpoint);
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] protocol_module->handle_realserver_disconnect() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
-
- parent_service.connection_inactive(realserver_endpoint);
-
- up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_disconnect_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_disconnect_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ protocol_module_base::EVENT_TAG module_event;
+ module_event = protocol_module->handle_realserver_disconnect(up_thread_id, realserver_endpoint);
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] protocol_module->handle_realserver_disconnect() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+#endif
+
+ parent_service.connection_inactive(realserver_endpoint);
+
+ up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_disconnect_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! check and up thread close client socket and raise client disconnect event message for up thread
void tcp_session::up_thread_realserver_check(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_check");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- boost::asio::ip::tcp::endpoint check_endpoint = up_thread_message_data.get_endpoint();
-
- if( check_endpoint != realserver_endpoint && check_endpoint != connecting_endpoint ) return;
-
- realserver_socket_mutex.lock();
- if( realserver_socket ){
- boost::system::error_code error_code;
- if( realserver_socket->is_open() ){
- realserver_socket->close( error_code );
- parent_service.connection_inactive(realserver_endpoint);
- }
- if( unlikely( error_code ) ){
- boost::format fmt( "Thread ID[%d] realserver socket close fail: %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
- realserver_socket_mutex.unlock();
-
- if( connecting_socket ){
- boost::system::error_code error_code;
- if( connecting_socket->is_open() ) connecting_socket->close( error_code );
- if( unlikely( error_code ) ){
- boost::format fmt( "Thread ID[%d] connecting socket close fail: %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
- //
-
- // up thread next call function set REALSERVER DISCONNECT
- up_thread_next_call_function = up_thread_function_array[UP_FUNC_REALSERVER_DISCONNECT_EVENT];
-
- // up thread pause off
- upthread_status = UPTHREAD_ACTIVE;
-
- // down thread pause off
- tcp_thread_message* down_msg = new tcp_thread_message;
- down_msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- down_msg->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( down_msg ) ){}
-
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_check");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_check");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ boost::asio::ip::tcp::endpoint check_endpoint = up_thread_message_data.get_endpoint();
+
+ if (check_endpoint != realserver_endpoint && check_endpoint != connecting_endpoint) return;
+
+ realserver_socket_mutex.lock();
+ if (realserver_socket) {
+ boost::system::error_code error_code;
+ if (realserver_socket->is_open()) {
+ realserver_socket->close(error_code);
+ parent_service.connection_inactive(realserver_endpoint);
+ }
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] realserver socket close fail: %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ realserver_socket_mutex.unlock();
+
+ if (connecting_socket) {
+ boost::system::error_code error_code;
+ if (connecting_socket->is_open()) connecting_socket->close(error_code);
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] connecting socket close fail: %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ //
+
+ // up thread next call function set REALSERVER DISCONNECT
+ up_thread_next_call_function = up_thread_function_array[UP_FUNC_REALSERVER_DISCONNECT_EVENT];
+
+ // up thread pause off
+ upthread_status = UPTHREAD_ACTIVE;
+
+ // down thread pause off
+ tcp_thread_message *down_msg = new tcp_thread_message;
+ down_msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ down_msg->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(down_msg)) {}
+
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_realserver_check");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! up thread send sorryserver and raise module event of handle_sorryserver_send
func_tag = UP_FUNC_SORRYSERVER_SEND;
} else {
protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_send(up_thread_id);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_sorryserver_send() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
-}
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorryserver_send() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
#endif
std::map<protocol_module_base::EVENT_TAG, UP_THREAD_FUNC_TYPE_TAG>::iterator func_type = up_thread_module_event_map.find(module_event);
if (unlikely(func_type == up_thread_module_event_map.end())) {
}
} else {
if (ec == boost::asio::error::try_again) {
- upthread_status = UPTHREAD_LOCK;
- func_tag = UP_FUNC_SORRYSERVER_SEND;
- basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
- boost::bind(&tcp_session::up_thread_sorryserver_async_write_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- sorryserver_socket->async_write_some(
- boost::asio::const_buffers_1(data_buff.data() + send_data_size, data_size - send_data_size),handler );
- }
- else {
- func_tag = UP_FUNC_SORRYSERVER_DISCONNECT;
+ upthread_status = UPTHREAD_LOCK;
+ func_tag = UP_FUNC_SORRYSERVER_SEND;
+ basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
+ boost::bind(&tcp_session::up_thread_sorryserver_async_write_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ sorryserver_socket->async_write_some(
+ boost::asio::const_buffers_1(data_buff.data() + send_data_size, data_size - send_data_size), handler);
+ } else {
+ func_tag = UP_FUNC_SORRYSERVER_DISCONNECT;
}
}
//! @param[in] process_type is process type
void tcp_session::up_thread_sorryserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_get_destination_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- virtualservice_element &vs_element = parent_service.get_element();
- sorryserver_endpoint = vs_element.sorry_endpoint;
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_select(up_thread_id, sorryserver_endpoint );
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_sorryserver_select() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
- up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_get_destination_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_get_destination_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ virtualservice_element &vs_element = parent_service.get_element();
+ sorryserver_endpoint = vs_element.sorry_endpoint;
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_select(up_thread_id, sorryserver_endpoint);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorryserver_select() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_get_destination_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! up thread connect sorryserver
//! @param[in] process_type is process type
void tcp_session::up_thread_sorryserver_connect(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_connect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- sorryserver_socket.reset( new tcp_socket( parent_dispatcher, socket_opt_info ) );
- boost::system::error_code error_code;
-
- // up thread pause on
- upthread_status = UPTHREAD_LOCK;
- up_thread_next_call_function = up_thread_function_array[UP_FUNC_SORRYSERVER_CONNECT_EVENT];
-
- // down thread pause on
- tcp_thread_message* msg = new tcp_thread_message();
- msg->message = down_que_function_map[DOWN_FUNC_PAUSE_ON_EVENT];
- #ifdef DEBUG
- msg->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_ON_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_ON_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( msg ) ){}
- downthread_status_cond.notify_one();
-
- sorryserver_socket->open( sorryserver_endpoint );
- sorryserver_socket->setoption( error_code );
-
-
- #ifdef IP_TRANSPARENT
- if( parent_service.get_element().sorry_fwdmode == virtualservice_element::FWD_TPROXY ){
- if( ( sorryserver_endpoint.address().is_v4() && client_endpoint.address().is_v4() ) ||
- ( sorryserver_endpoint.address().is_v6() && client_endpoint.address().is_v6() ) ){
- sorryserver_socket->set_transparent( client_endpoint, error_code );
- if( error_code ){
- boost::format fmt( "Thread ID[%d] realserver[%s:%d] socket option(IP_TRANSPARENT) set failed:" );
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_connect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ sorryserver_socket.reset(new tcp_socket(parent_dispatcher, socket_opt_info));
+ boost::system::error_code error_code;
+
+ // up thread pause on
+ upthread_status = UPTHREAD_LOCK;
+ up_thread_next_call_function = up_thread_function_array[UP_FUNC_SORRYSERVER_CONNECT_EVENT];
+
+ // down thread pause on
+ tcp_thread_message *msg = new tcp_thread_message();
+ msg->message = down_que_function_map[DOWN_FUNC_PAUSE_ON_EVENT];
+#ifdef DEBUG
+ msg->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_ON_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_ON_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(msg)) {}
+ downthread_status_cond.notify_one();
+
+ sorryserver_socket->open(sorryserver_endpoint);
+ sorryserver_socket->setoption(error_code);
+
+
+#ifdef IP_TRANSPARENT
+ if (parent_service.get_element().sorry_fwdmode == virtualservice_element::FWD_TPROXY) {
+ if ((sorryserver_endpoint.address().is_v4() && client_endpoint.address().is_v4()) ||
+ (sorryserver_endpoint.address().is_v6() && client_endpoint.address().is_v6())) {
+ sorryserver_socket->set_transparent(client_endpoint, error_code);
+ if (error_code) {
+ boost::format fmt("Thread ID[%d] realserver[%s:%d] socket option(IP_TRANSPARENT) set failed:");
fmt % boost::this_thread::get_id()
- % connecting_endpoint.address().to_string()
- % connecting_endpoint.port();
+ % connecting_endpoint.address().to_string()
+ % connecting_endpoint.port();
Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
}
}
}
- #endif
+#endif
- sorryserver_socket->async_connect(
- sorryserver_endpoint,
- boost::bind(
- &tcp_session::up_thread_sorryserver_connect_handler,
- this,
- boost::asio::placeholders::error
- )
- );
+ sorryserver_socket->async_connect(
+ sorryserver_endpoint,
+ boost::bind(
+ &tcp_session::up_thread_sorryserver_connect_handler,
+ this,
+ boost::asio::placeholders::error
+ )
+ );
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_connect: next call function: %s");
- formatter % boost::this_thread::get_id() % func_tag_to_string( up_thread_next_call_function.first );
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_connect: next call function: %s");
+ formatter % boost::this_thread::get_id() % func_tag_to_string(up_thread_next_call_function.first);
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! up thread sorryserver connect handle
//! @param[in] error_code is system error code
-void tcp_session::up_thread_sorryserver_connect_handler( const boost::system::error_code& error_code ){
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel( LOG_CAT_L7VSD_SESSION ) ) ){
- boost::format fmt( "Thread ID[%d] FUNC IN up_thread_sorryserver_connect_handler" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
-
- tcp_thread_message* msg = new tcp_thread_message();
- if( !error_code ){
- up_thread_function_pair func = up_thread_function_array[UP_FUNC_SORRYSERVER_CONNECT_EVENT];
- msg->message = func.second;
- #ifdef DEBUG
- msg->func_tag_name = func_tag_to_string( UP_FUNC_SORRYSERVER_CONNECT_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_SORRYSERVER_CONNECT_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- }
- else{
- up_thread_function_pair func = up_thread_function_array[UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT];
- msg->message = func.second;
- #ifdef DEBUG
- msg->func_tag_name = func_tag_to_string( UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- boost::format fmt( "Thread ID[%d] connection error: %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- while( !up_thread_message_que.push( msg ) ){}
- upthread_status_cond.notify_one();
-
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel( LOG_CAT_L7VSD_SESSION ) ) ){
- boost::format fmt( "Thread ID[%d] FUNC OUT up_thread_sorryserver_connect_handler" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
+void tcp_session::up_thread_sorryserver_connect_handler(const boost::system::error_code &error_code)
+{
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC IN up_thread_sorryserver_connect_handler");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+
+ tcp_thread_message *msg = new tcp_thread_message();
+ if (!error_code) {
+ up_thread_function_pair func = up_thread_function_array[UP_FUNC_SORRYSERVER_CONNECT_EVENT];
+ msg->message = func.second;
+#ifdef DEBUG
+ msg->func_tag_name = func_tag_to_string(UP_FUNC_SORRYSERVER_CONNECT_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_SORRYSERVER_CONNECT_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ } else {
+ up_thread_function_pair func = up_thread_function_array[UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT];
+ msg->message = func.second;
+#ifdef DEBUG
+ msg->func_tag_name = func_tag_to_string(UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_SORRYSERVER_CONNECT_FAIL_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ boost::format fmt("Thread ID[%d] connection error: %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ while (!up_thread_message_que.push(msg)) {}
+ upthread_status_cond.notify_one();
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC OUT up_thread_sorryserver_connect_handler");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
}
//! @param[in] process_type is process type
void tcp_session::up_thread_sorryserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_connect_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- boost::system::error_code error_code;
-
- // set sorryserver socket receive buffer size
- if( likely( downstream_buffer_size > 0 ) ){
- boost::asio::socket_base::receive_buffer_size buf_size( downstream_buffer_size );
- sorryserver_socket->get_socket().set_option( buf_size, error_code );
- if( unlikely( error_code ) ){
- boost::format fmt( "Thread ID[%d] realserver socket receive buffer size error: %s" );
- fmt % boost::this_thread::get_id % error_code.message();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- up_thread_next_call_function = up_thread_function_array[UP_FUNC_EXIT];
- upthread_status = UPTHREAD_ACTIVE;
- return;
- }
- }
-
- // set sorryserver socet send buffer size
- if( likely( upstream_buffer_size > 0 ) ){
- boost::asio::socket_base::send_buffer_size buf_size( upstream_buffer_size );
- connecting_socket->get_socket().set_option( buf_size, error_code );
- if( unlikely( error_code ) ){
- boost::format fmt( "Thread ID[%d] realserver socket send buffer size error: %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogError( LOG_CAT_L7VSD_SESSION, 35, fmt.str(), __FILE__, __LINE__ );
- up_thread_next_call_function = up_thread_function_array[UP_FUNC_EXIT];
- upthread_status = UPTHREAD_ACTIVE;
- return;
- }
- }
-
- // up thread pause off
- upthread_status = UPTHREAD_ACTIVE;
-
- // down thread pause off
- tcp_thread_message* msg = new tcp_thread_message();
- msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
-
- #ifdef DEBUG
- msg->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
-
- while( !down_thread_message_que.push( msg ) ){}
- downthread_status_cond.notify_one();
-
- // dist side data initialize
- up_thread_data_dest_side.initialize();
- boost::array<char, MAX_BUFFER_SIZE>& data_buff = up_thread_data_dest_side.get_data();
- size_t data_size = 0;
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_connect( up_thread_id, data_buff, data_size );
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_sorryserver_connect() return: %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
-
- up_thread_data_dest_side.set_endpoint( sorryserver_endpoint );
- up_thread_data_dest_side.set_size( data_size );
-
- // next call function setup
- up_thread_next_call_function = up_thread_function_array[ up_thread_module_event_map[module_event] ];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_connect_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-}
-//! up thread raise module event of handle_sorryserver_connection_fail
-//! @param[in] process_type is process type
-void tcp_session::up_thread_sorryserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type)
-{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_connection_fail_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_connection_fail(up_thread_id, sorryserver_endpoint);
- #ifdef DEBUG
- { boost::format fmt( "Thread ID[%d] protocol_module->handle_sorryserver_connection_fail() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
- up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_connection_fail_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-}
-//! up thread close sorryserver socket and raise sorryserver disconnect event message for up and down thread
-//! @param[in] process_type is process type
-void tcp_session::up_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type)
-{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- // sorryserver socket clear
- sorryserver_socket.reset();
- sorryserver_endpoint = boost::asio::ip::tcp::endpoint();
-
- // module event call
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_connection_fail( up_thread_id, realserver_endpoint );
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_sorryserver_connection_fail() return: %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
-
- up_thread_next_call_function = up_thread_function_array[ up_thread_module_event_map[module_event] ];
-
- // up thread pause off
- upthread_status = UPTHREAD_ACTIVE;
-
- // down thread pause off
- tcp_thread_message* down_msg = new tcp_thread_message();
- down_msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- down_msg->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
-
- while( !down_thread_message_que.push( down_msg ) ){}
- downthread_status_cond.notify_one();
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-}
-//! up thread close sorryserver socket and raise module sorryserver disconnect event
-//! @param[in] process_type is process type
-void tcp_session::up_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type)
-{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_mod_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- if( sorryserver_socket ){
- boost::system::error_code error_code;
- if( sorryserver_socket->is_open() ){
- sorryserver_socket->close( error_code );
- if( unlikely( error_code ) ){
- boost::format fmt( "Thread ID[%d] cannot close sorryserver socket" );
- fmt % boost::this_thread::get_id();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
- }
-
-
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_disconnect( up_thread_id, sorryserver_endpoint );
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_sorryserver_disconnect() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
-
- up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_mod_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_connect_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ boost::system::error_code error_code;
+
+ // set sorryserver socket receive buffer size
+ if (likely(downstream_buffer_size > 0)) {
+ boost::asio::socket_base::receive_buffer_size buf_size(downstream_buffer_size);
+ sorryserver_socket->get_socket().set_option(buf_size, error_code);
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] realserver socket receive buffer size error: %s");
+ fmt % boost::this_thread::get_id % error_code.message();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ up_thread_next_call_function = up_thread_function_array[UP_FUNC_EXIT];
+ upthread_status = UPTHREAD_ACTIVE;
+ return;
+ }
+ }
+
+ // set sorryserver socet send buffer size
+ if (likely(upstream_buffer_size > 0)) {
+ boost::asio::socket_base::send_buffer_size buf_size(upstream_buffer_size);
+ connecting_socket->get_socket().set_option(buf_size, error_code);
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] realserver socket send buffer size error: %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogError(LOG_CAT_L7VSD_SESSION, 35, fmt.str(), __FILE__, __LINE__);
+ up_thread_next_call_function = up_thread_function_array[UP_FUNC_EXIT];
+ upthread_status = UPTHREAD_ACTIVE;
+ return;
+ }
+ }
+
+ // up thread pause off
+ upthread_status = UPTHREAD_ACTIVE;
+
+ // down thread pause off
+ tcp_thread_message *msg = new tcp_thread_message();
+ msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
+
+#ifdef DEBUG
+ msg->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+
+ while (!down_thread_message_que.push(msg)) {}
+ downthread_status_cond.notify_one();
+
+ // dist side data initialize
+ up_thread_data_dest_side.initialize();
+ boost::array<char, MAX_BUFFER_SIZE>& data_buff = up_thread_data_dest_side.get_data();
+ size_t data_size = 0;
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_connect(up_thread_id, data_buff, data_size);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorryserver_connect() return: %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+
+ up_thread_data_dest_side.set_endpoint(sorryserver_endpoint);
+ up_thread_data_dest_side.set_size(data_size);
+
+ // next call function setup
+ up_thread_next_call_function = up_thread_function_array[ up_thread_module_event_map[module_event] ];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_connect_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+}
+//! up thread raise module event of handle_sorryserver_connection_fail
+//! @param[in] process_type is process type
+void tcp_session::up_thread_sorryserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type)
+{
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_connection_fail_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_connection_fail(up_thread_id, sorryserver_endpoint);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorryserver_connection_fail() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_connection_fail_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+}
+//! up thread close sorryserver socket and raise sorryserver disconnect event message for up and down thread
+//! @param[in] process_type is process type
+void tcp_session::up_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type)
+{
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ // sorryserver socket clear
+ sorryserver_socket.reset();
+ sorryserver_endpoint = boost::asio::ip::tcp::endpoint();
+
+ // module event call
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_connection_fail(up_thread_id, realserver_endpoint);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorryserver_connection_fail() return: %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+
+ up_thread_next_call_function = up_thread_function_array[ up_thread_module_event_map[module_event] ];
+
+ // up thread pause off
+ upthread_status = UPTHREAD_ACTIVE;
+
+ // down thread pause off
+ tcp_thread_message *down_msg = new tcp_thread_message();
+ down_msg->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ down_msg->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+
+ while (!down_thread_message_que.push(down_msg)) {}
+ downthread_status_cond.notify_one();
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+}
+//! up thread close sorryserver socket and raise module sorryserver disconnect event
+//! @param[in] process_type is process type
+void tcp_session::up_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type)
+{
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_mod_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ if (sorryserver_socket) {
+ boost::system::error_code error_code;
+ if (sorryserver_socket->is_open()) {
+ sorryserver_socket->close(error_code);
+ if (unlikely(error_code)) {
+ boost::format fmt("Thread ID[%d] cannot close sorryserver socket");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ }
+
+
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_disconnect(up_thread_id, sorryserver_endpoint);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorryserver_disconnect() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+
+ up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_mod_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! up thread raise module event of handle_sorryserver_disconnect
//! @param[in] process_type is process type
void tcp_session::up_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_disconnect_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- protocol_module_base::EVENT_TAG module_event;
- module_event = protocol_module->handle_sorryserver_disconnect(up_thread_id, sorryserver_endpoint);
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_sorryserver_disconnect() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
-
- up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_disconnect_event NEXT_FUNC[%s]");
- formatter % boost::this_thread::get_id() % func_tag_to_string(up_thread_next_call_function.first);
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_disconnect_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ protocol_module_base::EVENT_TAG module_event;
+ module_event = protocol_module->handle_sorryserver_disconnect(up_thread_id, sorryserver_endpoint);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorryserver_disconnect() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+
+ up_thread_next_call_function = up_thread_function_array[up_thread_module_event_map[module_event]];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_sorryserver_disconnect_event NEXT_FUNC[%s]");
+ formatter % boost::this_thread::get_id() % func_tag_to_string(up_thread_next_call_function.first);
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! up thread raise module event of handle_sorry_enable
//! @param[in] process_type is process type
}
//----Debug log----------------------------------------------------------------------
module_event = protocol_module->handle_sorry_enable(up_thread_id);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_sorry_enable() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
-}
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorry_enable() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
#endif
}
std::map<protocol_module_base::EVENT_TAG, UP_THREAD_FUNC_TYPE_TAG>::iterator func_type = up_thread_module_event_map.find(module_event);
}
//----Debug log----------------------------------------------------------------------
module_event = protocol_module->handle_sorry_disable(up_thread_id);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_sorry_disable() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
-}
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorry_disable() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
#endif
}
std::map<protocol_module_base::EVENT_TAG, UP_THREAD_FUNC_TYPE_TAG>::iterator func_type = up_thread_module_event_map.find(module_event);
formatter % boost::this_thread::get_id();
Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
}
- upthread_status = UPTHREAD_ACTIVE;
+ upthread_status = UPTHREAD_ACTIVE;
__sync_bool_compare_and_swap(&exit_flag, 0, 1);
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
}
}
//! up thread close all socket
-void tcp_session::up_thread_all_socket_close(){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_all_socket_close");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- boost::system::error_code error_code;
-
- realserver_socket_mutex.lock();
- if( realserver_socket ){
- if( realserver_socket->is_open() ){
- realserver_socket->close( error_code );
- parent_service.connection_inactive(realserver_endpoint);
- if( error_code ){
- boost::format fmt( "Thread ID[%d] realserver socket close fail : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__ );
- }
- }
- }
- realserver_socket_mutex.unlock();
-
- if( connecting_socket ){
- if( connecting_socket->is_open() ){
- connecting_socket->close( error_code );
- if( error_code ){
- boost::format fmt( "Thread ID{%d] connecting socket clise fail : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__ );
- }
- connecting_socket.reset();
- connecting_endpoint = boost::asio::ip::tcp::endpoint();
- }
- }
-
- if( sorryserver_socket ){
- if( sorryserver_socket->is_open() ){
- sorryserver_socket->close( error_code );
- if( error_code ){
- boost::format fmt( "Thread ID[%d] sorryserver socket close fail : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__ );
- }
- }
- }
-
- !ssl_flag ? client_socket.close( error_code ) : client_ssl_socket.close( error_code );
-
- if(unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT up_thread_all_socket_close");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+void tcp_session::up_thread_all_socket_close()
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_all_socket_close");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ boost::system::error_code error_code;
+
+ realserver_socket_mutex.lock();
+ if (realserver_socket) {
+ if (realserver_socket->is_open()) {
+ realserver_socket->close(error_code);
+ parent_service.connection_inactive(realserver_endpoint);
+ if (error_code) {
+ boost::format fmt("Thread ID[%d] realserver socket close fail : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ }
+ realserver_socket_mutex.unlock();
+
+ if (connecting_socket) {
+ if (connecting_socket->is_open()) {
+ connecting_socket->close(error_code);
+ if (error_code) {
+ boost::format fmt("Thread ID{%d] connecting socket clise fail : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+ connecting_socket.reset();
+ connecting_endpoint = boost::asio::ip::tcp::endpoint();
+ }
+ }
+
+ if (sorryserver_socket) {
+ if (sorryserver_socket->is_open()) {
+ sorryserver_socket->close(error_code);
+ if (error_code) {
+ boost::format fmt("Thread ID[%d] sorryserver socket close fail : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ }
+
+ !ssl_flag ? client_socket.close(error_code) : client_ssl_socket.close(error_code);
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT up_thread_all_socket_close");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! up_thread_session_pause_on event
-void tcp_session::up_thread_session_pause_on_event( const tcp_session::TCP_PROCESS_TYPE_TAG type ){
+void tcp_session::up_thread_session_pause_on_event(const tcp_session::TCP_PROCESS_TYPE_TAG type)
+{
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION) ) ){
- boost::format fmt( "Thread ID[%d] FUNC IN up_thread_session_pause_on_event" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC IN up_thread_session_pause_on_event");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
- upthread_status = UPTHREAD_LOCK;
+ upthread_status = UPTHREAD_LOCK;
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION) ) ){
- boost::format fmt( "Thread ID[%d] FUNC OUT up_thread_session_pause_on_event" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC OUT up_thread_session_pause_on_event");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
- }
+ }
}
//! up_thread_session_pause off event
-void tcp_session::up_thread_session_pause_off_event( const tcp_session::TCP_PROCESS_TYPE_TAG type ){
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION ) ) ){
- boost::format fmt( "Thread ID[%d] FUNC IN up_thread_session_pause_off_event" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
+void tcp_session::up_thread_session_pause_off_event(const tcp_session::TCP_PROCESS_TYPE_TAG type)
+{
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC IN up_thread_session_pause_off_event");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
- upthread_status = UPTHREAD_ACTIVE;
+ upthread_status = UPTHREAD_ACTIVE;
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION) ) ){
- boost::format fmt( "Thread ID[%d] FUNC OUT up_thread_session_pause_off_event" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC OUT up_thread_session_pause_off_event");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
- }
+ }
}
//! down thread receive from realserver and raise module event of handle_realserver_recv
//! @param[in] process_type is process type
-void tcp_session::down_thread_realserver_receive(const TCP_PROCESS_TYPE_TAG process_type){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_realserver_receive");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- if (unlikely(0 < parent_service.get_wait_downstream())) {
- //----Debug log----------------------------------------------------------------------
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- std::stringstream buf;
- buf << "Thread ID[" << boost::this_thread::get_id() << "] ";
- buf << "down_thread_realserver_receive qos wait active";
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 42, buf.str(), __FILE__, __LINE__);
- }
- //----Debug log----------------------------------------------------------------------
- return;
- }
- if( unlikely( !realserver_socket ) ) return;
-
- DOWN_THREAD_FUNC_TYPE_TAG func_tag;
-
- down_thread_data_dest_side.initialize();
- boost::array<char, MAX_BUFFER_SIZE>& data_buff = down_thread_data_dest_side.get_data();
- boost::system::error_code error_code;
- size_t recv_size = 0;
-
- down_thread_data_dest_side.set_endpoint(realserver_endpoint);
-
- realserver_socket_mutex.lock();
- if( realserver_socket )
- recv_size = realserver_socket->read_some(boost::asio::buffer(data_buff, MAX_BUFFER_SIZE), error_code);
- else{
- error_code = boost::system::error_code( EBADF, boost::asio::error::get_system_category() );
- }
- realserver_socket_mutex.unlock();
-
- if( !error_code ){
- if( recv_size > 0 ) {
- down_thread_data_dest_side.set_size( recv_size );
- parent_service.update_down_recv_size( recv_size );
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_realserver_recv(
- down_thread_id,
- realserver_endpoint,
- data_buff,
- recv_size );
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] protocol_module->handle_realserver_recv() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
- func_tag = down_thread_module_event_map[module_event];
- }
- else{
- func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
- }
- }
- else{
- if( error_code == boost::asio::error::try_again ){
- downthread_status = DOWNTHREAD_LOCK;
- func_tag = DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE;
- basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
- boost::bind(&tcp_session::down_thread_realserver_async_read_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- realserver_socket_mutex.lock();
- if( realserver_socket )
- realserver_socket->async_read_some( boost::asio::buffer( data_buff ), handler );
- else
- func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
- realserver_socket_mutex.unlock();
- }
- else {
- func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
- }
- }
-
- down_thread_next_call_function = down_thread_function_array[func_tag];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_realserver_receive: NEXT_FUNC[%s]");
- formatter % boost::this_thread::get_id() % func_tag_to_string(func_tag);
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+void tcp_session::down_thread_realserver_receive(const TCP_PROCESS_TYPE_TAG process_type)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_realserver_receive");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ if (unlikely(0 < parent_service.get_wait_downstream())) {
+ //----Debug log----------------------------------------------------------------------
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ std::stringstream buf;
+ buf << "Thread ID[" << boost::this_thread::get_id() << "] ";
+ buf << "down_thread_realserver_receive qos wait active";
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 42, buf.str(), __FILE__, __LINE__);
+ }
+ //----Debug log----------------------------------------------------------------------
+ return;
+ }
+ if (unlikely(!realserver_socket)) return;
+
+ DOWN_THREAD_FUNC_TYPE_TAG func_tag;
+
+ down_thread_data_dest_side.initialize();
+ boost::array<char, MAX_BUFFER_SIZE>& data_buff = down_thread_data_dest_side.get_data();
+ boost::system::error_code error_code;
+ size_t recv_size = 0;
+
+ down_thread_data_dest_side.set_endpoint(realserver_endpoint);
+
+ realserver_socket_mutex.lock();
+ if (realserver_socket)
+ recv_size = realserver_socket->read_some(boost::asio::buffer(data_buff, MAX_BUFFER_SIZE), error_code);
+ else {
+ error_code = boost::system::error_code(EBADF, boost::asio::error::get_system_category());
+ }
+ realserver_socket_mutex.unlock();
+
+ if (!error_code) {
+ if (recv_size > 0) {
+ down_thread_data_dest_side.set_size(recv_size);
+ parent_service.update_down_recv_size(recv_size);
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_realserver_recv(
+ down_thread_id,
+ realserver_endpoint,
+ data_buff,
+ recv_size);
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] protocol_module->handle_realserver_recv() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+#endif
+ func_tag = down_thread_module_event_map[module_event];
+ } else {
+ func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
+ }
+ } else {
+ if (error_code == boost::asio::error::try_again) {
+ downthread_status = DOWNTHREAD_LOCK;
+ func_tag = DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE;
+ basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
+ boost::bind(&tcp_session::down_thread_realserver_async_read_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ realserver_socket_mutex.lock();
+ if (realserver_socket)
+ realserver_socket->async_read_some(boost::asio::buffer(data_buff), handler);
+ else
+ func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
+ realserver_socket_mutex.unlock();
+ } else {
+ func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
+ }
+ }
+
+ down_thread_next_call_function = down_thread_function_array[func_tag];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_realserver_receive: NEXT_FUNC[%s]");
+ formatter % boost::this_thread::get_id() % func_tag_to_string(func_tag);
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! down thread close realserver socket and raise realserver disconnect event message for up and down thread
//! @param[in] process_type is process type
void tcp_session::down_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_realserver_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
-
- tcp_thread_message* up_msg = new tcp_thread_message();
- up_msg->message = up_que_function_map[UP_FUNC_REALSERVER_DISCONNECT];
- #ifdef DEBUG
- up_msg->func_tag_name = func_tag_to_string( UP_FUNC_REALSERVER_DISCONNECT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_REALSERVER_DISCONNECT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while(!up_thread_message_que.push( up_msg ) ){}
-
- downthread_status = DOWNTHREAD_ACTIVE;
-
- down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_REALSERVER_DISCONNECT_EVENT];
-
- if(unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_realserver_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-}
-
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_realserver_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
-// ! down thread realserver check event.
-//! @param[in] process_type is process type
-void tcp_session::down_thread_realserver_check( const TCP_PROCESS_TYPE_TAG process_type ){
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel( LOG_CAT_L7VSD_SESSION ))){
- boost::format fmt( "Thread ID[%d] FUNC IN down_thread_realserver_check" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__,__LINE__ );
- }
-
- downthread_status = DOWNTHREAD_ACTIVE;
- down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_CLIENT_SEND];
-
-
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel( LOG_CAT_L7VSD_SESSION ))){
- boost::format fmt( "Thread ID[%d] FUNC OUT down_thread_realserver_check next_call_function : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( down_thread_next_call_function.first );
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
-}
-//! down thread raise module event of handle_realserver_disconnect
-//! @param[in] process_type is process type
-void tcp_session::down_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type)
-{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_realserver_disconnect_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- protocol_module_base::EVENT_TAG module_event;
- {
- rw_scoped_lock scope_lock(module_function_realserver_disconnect_mutex);
- module_event = protocol_module->handle_realserver_disconnect(down_thread_id, realserver_endpoint);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_realserver_disconnect() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
-}
+ tcp_thread_message *up_msg = new tcp_thread_message();
+ up_msg->message = up_que_function_map[UP_FUNC_REALSERVER_DISCONNECT];
+#ifdef DEBUG
+ up_msg->func_tag_name = func_tag_to_string(UP_FUNC_REALSERVER_DISCONNECT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_REALSERVER_DISCONNECT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
#endif
- }
+ while (!up_thread_message_que.push(up_msg)) {}
- down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
+ downthread_status = DOWNTHREAD_ACTIVE;
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_realserver_disconnect_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_REALSERVER_DISCONNECT_EVENT];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_realserver_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
-//! down thread raise module event of handle_client_connection_check
-//! @param[in] process_type is process type
-void tcp_session::down_thread_client_connection_chk_event(const TCP_PROCESS_TYPE_TAG process_type)
+
+
+// ! down thread realserver check event.
+//! @param[in] process_type is process type
+void tcp_session::down_thread_realserver_check(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_connection_chk_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- down_thread_data_client_side.initialize();
- boost::array<char, MAX_BUFFER_SIZE>& data_buff = down_thread_data_client_side.get_data();
- std::size_t data_size;
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_client_connection_check(down_thread_id, data_buff, data_size);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_client_connection_check() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
-}
-#endif
- down_thread_data_client_side.set_size(data_size);
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC IN down_thread_realserver_check");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+
+ downthread_status = DOWNTHREAD_ACTIVE;
+ down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_CLIENT_SEND];
- down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_client_connection_chk_event:");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC OUT down_thread_realserver_check next_call_function : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(down_thread_next_call_function.first);
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
}
-//! down thread raise module event of handle_response_send_inform
+//! down thread raise module event of handle_realserver_disconnect
//! @param[in] process_type is process type
-void tcp_session::down_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type)
+void tcp_session::down_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type)
{
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_respond_event");
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_realserver_disconnect_event");
formatter % boost::this_thread::get_id();
Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
}
protocol_module_base::EVENT_TAG module_event;
{
- rw_scoped_lock scope_lock(module_function_response_send_inform_mutex);
- module_event = protocol_module->handle_response_send_inform(down_thread_id);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_response_send_inform() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
-}
+ rw_scoped_lock scope_lock(module_function_realserver_disconnect_mutex);
+ module_event = protocol_module->handle_realserver_disconnect(down_thread_id, realserver_endpoint);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_realserver_disconnect() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
#endif
}
+
down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_client_respond_event");
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_realserver_disconnect_event");
formatter % boost::this_thread::get_id();
Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
}
}
-//! down thread send for client and raise module event of handle_client_send
+//! down thread raise module event of handle_client_connection_check
//! @param[in] process_type is process type
-void tcp_session::down_thread_client_send(const TCP_PROCESS_TYPE_TAG process_type)
+void tcp_session::down_thread_client_connection_chk_event(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_send");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- boost::system::error_code error_code;
- boost::array<char, MAX_BUFFER_SIZE>& data_buff = down_thread_data_client_side.get_data();
- std::size_t data_size = down_thread_data_client_side.get_size();
- std::size_t send_data_size = down_thread_data_client_side.get_send_size();
- std::size_t send_size;
- DOWN_THREAD_FUNC_TYPE_TAG func_tag;
-
- send_size = !ssl_flag ? client_socket.write_some(
- boost::asio::const_buffers_1(
- data_buff.data() + send_data_size,
- data_size - send_data_size
- ),
- error_code
- )
- : client_ssl_socket.write_some(
- boost::asio::const_buffers_1(
- data_buff.data() + send_data_size,
- data_size - send_data_size),
- error_code
- );
-
- if(!error_code){
- send_data_size += send_size;
- down_thread_data_client_side.set_send_size(send_data_size);
- parent_service.update_down_send_size(send_size);
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- client_endpoint = !ssl_flag ? client_socket.get_socket().lowest_layer().remote_endpoint(error_code)
- : client_ssl_socket.get_socket().lowest_layer().remote_endpoint(error_code);
- boost::format formatter("Thread ID[%d] down_thread_client_send send data size[%d] for [%d]");
- formatter % boost::this_thread::get_id() % send_size % client_endpoint;
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 45, formatter.str(), __FILE__, __LINE__);
- }
- if (data_size > send_data_size) {
- func_tag = DOWN_FUNC_CLIENT_SEND;
- }
- else {
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_client_send(down_thread_id);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_client_send() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
-}
-#endif
- func_tag = down_thread_module_event_map[module_event];
- }
- }
- else{
- if( error_code == boost::asio::error::try_again){
-
- downthread_status = DOWNTHREAD_LOCK;
- func_tag = DOWN_FUNC_CLIENT_HANDLE_ASEND;
- basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
- boost::bind(&tcp_session::down_thread_client_async_write_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- !ssl_flag ? client_socket.async_write_some(
- boost::asio::const_buffers_1(
- data_buff.data() + send_data_size,
- data_size - send_data_size
- ),
- handler
- )
- : client_ssl_socket.async_write_some(
- boost::asio::const_buffers_1(
- data_buff.data() + send_data_size,
- data_size - send_data_size
- ),
- handler
- );
-
- }
- else{
- func_tag = DOWN_FUNC_CLIENT_DISCONNECT;
- }
- }
-
- down_thread_next_call_function = down_thread_function_array[func_tag];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_client_send: NEXT_FUNC[%s]");
- formatter % boost::this_thread::get_id() % func_tag_to_string(func_tag);
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-}
-
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_connection_chk_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ down_thread_data_client_side.initialize();
+ boost::array<char, MAX_BUFFER_SIZE>& data_buff = down_thread_data_client_side.get_data();
+ std::size_t data_size;
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_client_connection_check(down_thread_id, data_buff, data_size);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_client_connection_check() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ down_thread_data_client_side.set_size(data_size);
+
+ down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_client_connection_chk_event:");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+}
+
+//! down thread raise module event of handle_response_send_inform
+//! @param[in] process_type is process type
+void tcp_session::down_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type)
+{
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_respond_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ protocol_module_base::EVENT_TAG module_event;
+ {
+ rw_scoped_lock scope_lock(module_function_response_send_inform_mutex);
+ module_event = protocol_module->handle_response_send_inform(down_thread_id);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_response_send_inform() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ }
+ down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_client_respond_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+}
+//! down thread send for client and raise module event of handle_client_send
+//! @param[in] process_type is process type
+void tcp_session::down_thread_client_send(const TCP_PROCESS_TYPE_TAG process_type)
+{
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_send");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ boost::system::error_code error_code;
+ boost::array<char, MAX_BUFFER_SIZE>& data_buff = down_thread_data_client_side.get_data();
+ std::size_t data_size = down_thread_data_client_side.get_size();
+ std::size_t send_data_size = down_thread_data_client_side.get_send_size();
+ std::size_t send_size;
+ DOWN_THREAD_FUNC_TYPE_TAG func_tag;
+
+ send_size = !ssl_flag ? client_socket.write_some(
+ boost::asio::const_buffers_1(
+ data_buff.data() + send_data_size,
+ data_size - send_data_size
+ ),
+ error_code
+ )
+ : client_ssl_socket.write_some(
+ boost::asio::const_buffers_1(
+ data_buff.data() + send_data_size,
+ data_size - send_data_size),
+ error_code
+ );
+
+ if (!error_code) {
+ send_data_size += send_size;
+ down_thread_data_client_side.set_send_size(send_data_size);
+ parent_service.update_down_send_size(send_size);
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ client_endpoint = !ssl_flag ? client_socket.get_socket().lowest_layer().remote_endpoint(error_code)
+ : client_ssl_socket.get_socket().lowest_layer().remote_endpoint(error_code);
+ boost::format formatter("Thread ID[%d] down_thread_client_send send data size[%d] for [%d]");
+ formatter % boost::this_thread::get_id() % send_size % client_endpoint;
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 45, formatter.str(), __FILE__, __LINE__);
+ }
+ if (data_size > send_data_size) {
+ func_tag = DOWN_FUNC_CLIENT_SEND;
+ } else {
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_client_send(down_thread_id);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_client_send() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ func_tag = down_thread_module_event_map[module_event];
+ }
+ } else {
+ if (error_code == boost::asio::error::try_again) {
+
+ downthread_status = DOWNTHREAD_LOCK;
+ func_tag = DOWN_FUNC_CLIENT_HANDLE_ASEND;
+ basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
+ boost::bind(&tcp_session::down_thread_client_async_write_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ !ssl_flag ? client_socket.async_write_some(
+ boost::asio::const_buffers_1(
+ data_buff.data() + send_data_size,
+ data_size - send_data_size
+ ),
+ handler
+ )
+ : client_ssl_socket.async_write_some(
+ boost::asio::const_buffers_1(
+ data_buff.data() + send_data_size,
+ data_size - send_data_size
+ ),
+ handler
+ );
+
+ } else {
+ func_tag = DOWN_FUNC_CLIENT_DISCONNECT;
+ }
+ }
+
+ down_thread_next_call_function = down_thread_function_array[func_tag];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_client_send: NEXT_FUNC[%s]");
+ formatter % boost::this_thread::get_id() % func_tag_to_string(func_tag);
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+}
+
//! down thread close client socket and raise client disconnect event message for up and down thread
//! @param[in] process_type is process type
void tcp_session::down_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- tcp_thread_message* mes = new tcp_thread_message();
- mes->message = up_que_function_map[UP_FUNC_CLIENT_DISCONNECT];
- #ifdef DEBUG
- mes->func_tag_name = func_tag_to_string( UP_FUNC_CLIENT_DISCONNECT );
- boost::format fmt( "Thread ID[%d] up_queue.push : %s " );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_CLIENT_DISCONNECT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- #endif
- while( !up_thread_message_que.push( mes ) );
- upthread_status_cond.notify_one();
-
- downthread_status = DOWNTHREAD_LOCK;
- down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_CLIENT_DISCONNECT_EVENT];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_client_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ tcp_thread_message *mes = new tcp_thread_message();
+ mes->message = up_que_function_map[UP_FUNC_CLIENT_DISCONNECT];
+#ifdef DEBUG
+ mes->func_tag_name = func_tag_to_string(UP_FUNC_CLIENT_DISCONNECT);
+ boost::format fmt("Thread ID[%d] up_queue.push : %s ");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_CLIENT_DISCONNECT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+#endif
+ while (!up_thread_message_que.push(mes));
+ upthread_status_cond.notify_one();
+
+ downthread_status = DOWNTHREAD_LOCK;
+ down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_CLIENT_DISCONNECT_EVENT];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_client_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! down thread raise module event of handle_client_disconnect
//! @param[in] process_type is process type
void tcp_session::down_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_disconnect_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- protocol_module_base::EVENT_TAG module_event;
- {
- rw_scoped_lock scope_lock(module_function_client_disconnect_mutex);
- module_event = protocol_module->handle_client_disconnect(down_thread_id);
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_client_disconnect() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
- }
- down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
-
-
- tcp_thread_message* mes = new tcp_thread_message();
- mes->message = up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- mes->func_tag_name = func_tag_to_string( UP_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while(!up_thread_message_que.push( mes ) ){}
-
- downthread_status = DOWNTHREAD_ACTIVE;
-
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_exit");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_disconnect_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ protocol_module_base::EVENT_TAG module_event;
+ {
+ rw_scoped_lock scope_lock(module_function_client_disconnect_mutex);
+ module_event = protocol_module->handle_client_disconnect(down_thread_id);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_client_disconnect() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ }
+ down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
+
+
+ tcp_thread_message *mes = new tcp_thread_message();
+ mes->message = up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ mes->func_tag_name = func_tag_to_string(UP_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!up_thread_message_que.push(mes)) {}
+
+ downthread_status = DOWNTHREAD_ACTIVE;
+
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_exit");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! down thread receive from sorryserver and raise module event of handle_sorryserver_recv
//! @param[in] process_type is process type
void tcp_session::down_thread_sorryserver_receive(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_receive");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- if( unlikely( !sorryserver_socket ) ){
- down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_SORRYSERVER_RECEIVE];
- return;
- }
-
- if( unlikely( !sorryserver_socket->get_socket().lowest_layer().is_open() )){
- down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_SORRYSERVER_RECEIVE];
- return;
- }
-
- down_thread_data_dest_side.initialize();
- boost::array<char, MAX_BUFFER_SIZE>& data_buff = down_thread_data_dest_side.get_data();
- boost::system::error_code error_code;
- DOWN_THREAD_FUNC_TYPE_TAG func_tag;
-
- down_thread_data_dest_side.set_endpoint(sorryserver_endpoint);
-
- size_t recv_size = sorryserver_socket->read_some(boost::asio::buffer(data_buff, MAX_BUFFER_SIZE), error_code);
- #ifdef DEBUG
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format fmt( "Thread ID[%d] down_thread_sorryserver_receive receive data size[%d] from [%s];");
- fmt % boost::this_thread::get_id() % recv_size % sorryserver_endpoint.address().to_string();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 46, fmt.str(), __FILE__, __LINE__);
- }
- #endif
- if(!error_code ){
- if (recv_size > 0) {
- down_thread_data_dest_side.set_size(recv_size);
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_recv(
- down_thread_id,
- sorryserver_endpoint,
- data_buff,
- recv_size);
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_sorryserver_recv() return: %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
- func_tag = down_thread_module_event_map[module_event];
- }
- else{
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] recv size == 0" );
- fmt % boost::this_thread::get_id();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
- func_tag = DOWN_FUNC_SORRYSERVER_DISCONNECT;
- }
- }
- else{
- if( error_code == boost::asio::error::try_again ){
- downthread_status = DOWNTHREAD_LOCK;
- func_tag = DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE;
- basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
- boost::bind(&tcp_session::down_thread_sorryserver_async_read_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- sorryserver_socket->async_read_some( boost::asio::buffer( data_buff ), handler );
- #ifdef DEBUG
- boost::format fmt( "Thraed ID[%d] try_agein async read some: %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
- }
- else{
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] recv error : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
- func_tag = DOWN_FUNC_SORRYSERVER_DISCONNECT;
- }
- }
-
- down_thread_next_call_function = down_thread_function_array[func_tag];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_sorryserver_receive: NEXT_FUNC[%s]");
- formatter % boost::this_thread::get_id() % func_tag_to_string(func_tag);
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_receive");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ if (unlikely(!sorryserver_socket)) {
+ down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_SORRYSERVER_RECEIVE];
+ return;
+ }
+
+ if (unlikely(!sorryserver_socket->get_socket().lowest_layer().is_open())) {
+ down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_SORRYSERVER_RECEIVE];
+ return;
+ }
+
+ down_thread_data_dest_side.initialize();
+ boost::array<char, MAX_BUFFER_SIZE>& data_buff = down_thread_data_dest_side.get_data();
+ boost::system::error_code error_code;
+ DOWN_THREAD_FUNC_TYPE_TAG func_tag;
+
+ down_thread_data_dest_side.set_endpoint(sorryserver_endpoint);
+
+ size_t recv_size = sorryserver_socket->read_some(boost::asio::buffer(data_buff, MAX_BUFFER_SIZE), error_code);
+#ifdef DEBUG
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] down_thread_sorryserver_receive receive data size[%d] from [%s];");
+ fmt % boost::this_thread::get_id() % recv_size % sorryserver_endpoint.address().to_string();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 46, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ if (!error_code) {
+ if (recv_size > 0) {
+ down_thread_data_dest_side.set_size(recv_size);
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_sorryserver_recv(
+ down_thread_id,
+ sorryserver_endpoint,
+ data_buff,
+ recv_size);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorryserver_recv() return: %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ func_tag = down_thread_module_event_map[module_event];
+ } else {
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] recv size == 0");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+#endif
+ func_tag = DOWN_FUNC_SORRYSERVER_DISCONNECT;
+ }
+ } else {
+ if (error_code == boost::asio::error::try_again) {
+ downthread_status = DOWNTHREAD_LOCK;
+ func_tag = DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE;
+ basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
+ boost::bind(&tcp_session::down_thread_sorryserver_async_read_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ sorryserver_socket->async_read_some(boost::asio::buffer(data_buff), handler);
+#ifdef DEBUG
+ boost::format fmt("Thraed ID[%d] try_agein async read some: %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+#endif
+ } else {
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] recv error : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+#endif
+ func_tag = DOWN_FUNC_SORRYSERVER_DISCONNECT;
+ }
+ }
+
+ down_thread_next_call_function = down_thread_function_array[func_tag];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_sorryserver_receive: NEXT_FUNC[%s]");
+ formatter % boost::this_thread::get_id() % func_tag_to_string(func_tag);
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! down thread raise module event of handle_sorryserver_disconnect
//! @param[in] process_type is process type
void tcp_session::down_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- tcp_thread_message* up_msg = new tcp_thread_message();
- up_msg->message = up_que_function_map[UP_FUNC_SORRYSERVER_DISCONNECT_EVENT];
- #ifdef DEBUG
- up_msg->func_tag_name = func_tag_to_string( UP_FUNC_SORRYSERVER_DISCONNECT_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_SORRYSERVER_DISCONNECT_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while (!up_thread_message_que.push(up_msg)) {}
- upthread_status_cond.notify_one();
-
- down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_sorryserver_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ tcp_thread_message *up_msg = new tcp_thread_message();
+ up_msg->message = up_que_function_map[UP_FUNC_SORRYSERVER_DISCONNECT_EVENT];
+#ifdef DEBUG
+ up_msg->func_tag_name = func_tag_to_string(UP_FUNC_SORRYSERVER_DISCONNECT_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_SORRYSERVER_DISCONNECT_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!up_thread_message_que.push(up_msg)) {}
+ upthread_status_cond.notify_one();
+
+ down_thread_next_call_function = down_thread_function_array[DOWN_FUNC_SORRYSERVER_DISCONNECT_EVENT];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_sorryserver_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! down thread close sorryserver socket and raise module sorryserver disconnect event
//! @param[in] process_type is process type
void tcp_session::down_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_mod_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- boost::system::error_code error_code;
- protocol_module_base::EVENT_TAG module_event;
- if( !sorryserver_socket ){
- if( !sorryserver_socket->is_open() ){
- sorryserver_socket->close( error_code );
- }
- }
- {
- rw_scoped_lock scope_lock(module_function_sorryserver_disconnect_mutex);
- module_event = protocol_module->handle_sorryserver_disconnect(down_thread_id, sorryserver_endpoint);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_sorryserver_disconnect() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
-}
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_mod_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ boost::system::error_code error_code;
+ protocol_module_base::EVENT_TAG module_event;
+ if (!sorryserver_socket) {
+ if (!sorryserver_socket->is_open()) {
+ sorryserver_socket->close(error_code);
+ }
+ }
+ {
+ rw_scoped_lock scope_lock(module_function_sorryserver_disconnect_mutex);
+ module_event = protocol_module->handle_sorryserver_disconnect(down_thread_id, sorryserver_endpoint);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorryserver_disconnect() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
#endif
- }
+ }
-down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
+ down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_sorryserver_mod_disconnect");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_sorryserver_mod_disconnect");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! down thread raise module event of handle_sorryserver_disconnect
//! @param[in] process_type is process type
void tcp_session::down_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_disconnect_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- protocol_module_base::EVENT_TAG module_event;
- {
- rw_scoped_lock scope_lock(module_function_sorryserver_disconnect_mutex);
- module_event = protocol_module->handle_sorryserver_disconnect(down_thread_id, sorryserver_endpoint);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module->handle_sorryserver_disconnect() return: %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
-}
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_disconnect_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ protocol_module_base::EVENT_TAG module_event;
+ {
+ rw_scoped_lock scope_lock(module_function_sorryserver_disconnect_mutex);
+ module_event = protocol_module->handle_sorryserver_disconnect(down_thread_id, sorryserver_endpoint);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorryserver_disconnect() return: %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
#endif
- }
- down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_sorryserver_disconnect_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ }
+ down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_sorryserver_disconnect_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! down thread raise module event of handle_sorry_enable
//! @param[in] process_type is process type
void tcp_session::down_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorry_enable_event");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
-
- protocol_module_base::EVENT_TAG module_event;
- module_event = protocol_module->handle_sorry_enable(down_thread_id);
- #ifdef DEBUG
- {
- boost::format fmt( "Thread ID[%d] protocol_module->handle_sorry_enable() return: %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- }
- #endif
- down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_sorry_enable_event: NEXT_FUNC[%s]");
- formatter % boost::this_thread::get_id() % func_tag_to_string(down_thread_next_call_function.first);
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorry_enable_event");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+
+ protocol_module_base::EVENT_TAG module_event;
+ module_event = protocol_module->handle_sorry_enable(down_thread_id);
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module->handle_sorry_enable() return: %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ down_thread_next_call_function = down_thread_function_array[down_thread_module_event_map[module_event]];
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_sorry_enable_event: NEXT_FUNC[%s]");
+ formatter % boost::this_thread::get_id() % func_tag_to_string(down_thread_next_call_function.first);
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! down thread raise module event of handle_sorry_disable
//! @param[in] process_type is process type
}
//----Debug log----------------------------------------------------------------------
module_event = protocol_module->handle_sorry_disable(down_thread_id);
-#ifdef DEBUG
-{ boost::format fmt( "Thread ID[%d] protocol_module-> return:handle_sorry_disable() %s" );
- fmt % boost::this_thread::get_id()
- % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
-}
+#ifdef DEBUG
+ {
+ boost::format fmt("Thread ID[%d] protocol_module-> return:handle_sorry_disable() %s");
+ fmt % boost::this_thread::get_id()
+ % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
#endif
}
std::map<protocol_module_base::EVENT_TAG, DOWN_THREAD_FUNC_TYPE_TAG>::iterator func_type = down_thread_module_event_map.find(module_event);
Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
}
- downthread_status = DOWNTHREAD_ACTIVE;
+ downthread_status = DOWNTHREAD_ACTIVE;
__sync_bool_compare_and_swap(&exit_flag, 0, 1);
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
//! down thread close all socket
void tcp_session::down_thread_all_socket_close(void)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_all_socket_close");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- boost::system::error_code error_code;
-
- realserver_socket_mutex.lock();
- if( realserver_socket ){
- if( realserver_socket->is_open() ){
- realserver_socket->close( error_code );
- parent_service.connection_inactive(realserver_endpoint);
- if( error_code ){
- boost::format fmt( "Thread ID[%d] realserver socket close fail : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__ );
- }
- }
- }
- realserver_socket_mutex.unlock();
-
-
- if( connecting_socket ){
- if( connecting_socket->is_open() ){
- connecting_socket->close( error_code );
- if( error_code ){
- boost::format fmt( "Thread ID{%d] connecting socket clise fail : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__ );
- }
- connecting_socket.reset();
- connecting_endpoint = boost::asio::ip::tcp::endpoint();
- }
- }
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC OUT down_thread_all_socket_close");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_all_socket_close");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ boost::system::error_code error_code;
+
+ realserver_socket_mutex.lock();
+ if (realserver_socket) {
+ if (realserver_socket->is_open()) {
+ realserver_socket->close(error_code);
+ parent_service.connection_inactive(realserver_endpoint);
+ if (error_code) {
+ boost::format fmt("Thread ID[%d] realserver socket close fail : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ }
+ realserver_socket_mutex.unlock();
+
+
+ if (connecting_socket) {
+ if (connecting_socket->is_open()) {
+ connecting_socket->close(error_code);
+ if (error_code) {
+ boost::format fmt("Thread ID{%d] connecting socket clise fail : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+ }
+ connecting_socket.reset();
+ connecting_endpoint = boost::asio::ip::tcp::endpoint();
+ }
+ }
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC OUT down_thread_all_socket_close");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
}
//! down_thread_session_pause_on_event
//!
//!
-void tcp_session::down_thread_session_pause_on_event( tcp_session::TCP_PROCESS_TYPE_TAG type ){
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))){
- boost::format fmt( "Thread ID[%d] FUNC IN down_thread_session_pause_on_event" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- downthread_status = DOWNTHREAD_LOCK;
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))){
- boost::format fmt( "Thread ID[%d] FUNC OUT down_thread_session_pause_on_event" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
+void tcp_session::down_thread_session_pause_on_event(tcp_session::TCP_PROCESS_TYPE_TAG type)
+{
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC IN down_thread_session_pause_on_event");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ downthread_status = DOWNTHREAD_LOCK;
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC OUT down_thread_session_pause_on_event");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
}
//! down_thread_session_pause_off_event
//!
//!
-void tcp_session::down_thread_session_pause_off_event( tcp_session::TCP_PROCESS_TYPE_TAG type ){
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))){
- boost::format fmt( "Thread ID[%d] FUNC IN down_thread_session_pause_off_event" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- downthread_status = DOWNTHREAD_ACTIVE;
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))){
- boost::format fmt( "Thread ID[%d] FUNC OUT down_thread_session_pause_off_event" );
- fmt % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
+void tcp_session::down_thread_session_pause_off_event(tcp_session::TCP_PROCESS_TYPE_TAG type)
+{
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC IN down_thread_session_pause_off_event");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ downthread_status = DOWNTHREAD_ACTIVE;
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] FUNC OUT down_thread_session_pause_off_event");
+ fmt % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
}
//! up_thrad_client_async_raed_some_hander
//! this function call from other thread(io_service thread).
//!
-void tcp_session::up_thread_client_async_read_some_handler( const boost::system::error_code& error_code , std::size_t len ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_client_async_read_some_handler");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- if( ssl_flag ){
- client_ssl_socket.decrement_read_con();
- }
-
- up_thread_data_client_side.set_error_code( error_code );
- up_thread_data_client_side.set_async_len( len );
-
- if( error_code == boost::asio::error::operation_aborted ){
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel( LOG_CAT_L7VSD_SESSION ) ) ){
- boost::format fmt( "Thread ID[%d] up_thread_client_async_read_some_handler canceled: %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
- tcp_thread_message* mes = new tcp_thread_message();
- mes->message = up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- mes->func_tag_name = func_tag_to_string( UP_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !up_thread_message_que.push( mes ) ){}
-
- upthread_status_cond.notify_one();
+void tcp_session::up_thread_client_async_read_some_handler(const boost::system::error_code &error_code , std::size_t len)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_client_async_read_some_handler");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ if (ssl_flag) {
+ client_ssl_socket.decrement_read_con();
+ }
+
+ up_thread_data_client_side.set_error_code(error_code);
+ up_thread_data_client_side.set_async_len(len);
+
+ if (error_code == boost::asio::error::operation_aborted) {
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] up_thread_client_async_read_some_handler canceled: %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ tcp_thread_message *mes = new tcp_thread_message();
+ mes->message = up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ mes->func_tag_name = func_tag_to_string(UP_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!up_thread_message_que.push(mes)) {}
+
+ upthread_status_cond.notify_one();
}
//! up_thread_client_handle_async_read_some
//! this function call form up_thread_run : next_call_function.
-void tcp_session::up_thread_client_handle_async_read_some( const tcp_session::TCP_PROCESS_TYPE_TAG proc ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_client_handle_async_read_some : error=%s : recv byte= %d");
- formatter % boost::this_thread::get_id()
- % up_thread_data_client_side.get_error_code().message()
- % up_thread_data_client_side.get_async_len();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- UP_THREAD_FUNC_TYPE_TAG func_tag;
- boost::system::error_code error_code = up_thread_data_client_side.get_error_code();
- std::size_t recv_size = up_thread_data_client_side.get_async_len();
-
- if( !error_code ){ // no error
- if( recv_size > 0 ){
- parent_service.update_up_recv_size( up_thread_data_client_side.get_size() );
- protocol_module_base::EVENT_TAG module_event = protocol_module->handle_client_recv(
- up_thread_id,
- up_thread_data_client_side.get_data(),
- up_thread_data_client_side.get_async_len() );
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] protocol_module->handle_client_recv( upthread_id = %d, downthread_id = %d ) return %s");
- fmt % up_thread_id % down_thread_id % func_tag_to_string( module_event );
- #endif
-
- func_tag = up_thread_module_event_map[module_event];
- }
- else{ // recv zero byte
- upthread_status = UPTHREAD_LOCK;
- func_tag = UP_FUNC_CLIENT_HANDLE_ARECIEVE;
- basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
- boost::bind(&tcp_session::up_thread_client_async_read_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- !ssl_flag ? client_socket.async_read_some( boost::asio::buffer( up_thread_data_client_side.get_data() ), handler )
- : client_ssl_socket.async_read_some( boost::asio::buffer( up_thread_data_client_side.get_data()), handler );
- }
- }
- else { // error handling
- if( up_thread_data_client_side.get_error_code() == boost::asio::error::try_again ){ // don't recv try again
- upthread_status = UPTHREAD_LOCK;
- func_tag = UP_FUNC_CLIENT_HANDLE_ARECIEVE;
- basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
- boost::bind(&tcp_session::up_thread_client_async_read_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- !ssl_flag ? client_socket.async_read_some( boost::asio::buffer( up_thread_data_client_side.get_data() ), handler )
- : client_ssl_socket.async_read_some( boost::asio::buffer( up_thread_data_client_side.get_data()), handler );
- }
- else if( up_thread_data_client_side.get_error_code() == boost::asio::error::eof ){ // hung up
- func_tag = UP_FUNC_CLIENT_DISCONNECT;
- }
- else{ // other error.
- func_tag = UP_FUNC_CLIENT_DISCONNECT;
- boost::format fmt("Thread ID[%d] client read error: %s");
- fmt % boost::this_thread::get_id() % up_thread_data_client_side.get_error_code().message();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
- }
- }
-
- up_thread_next_call_function = up_thread_function_array[func_tag];
+void tcp_session::up_thread_client_handle_async_read_some(const tcp_session::TCP_PROCESS_TYPE_TAG proc)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_client_handle_async_read_some : error=%s : recv byte= %d");
+ formatter % boost::this_thread::get_id()
+ % up_thread_data_client_side.get_error_code().message()
+ % up_thread_data_client_side.get_async_len();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ UP_THREAD_FUNC_TYPE_TAG func_tag;
+ boost::system::error_code error_code = up_thread_data_client_side.get_error_code();
+ std::size_t recv_size = up_thread_data_client_side.get_async_len();
+
+ if (!error_code) { // no error
+ if (recv_size > 0) {
+ parent_service.update_up_recv_size(up_thread_data_client_side.get_size());
+ protocol_module_base::EVENT_TAG module_event = protocol_module->handle_client_recv(
+ up_thread_id,
+ up_thread_data_client_side.get_data(),
+ up_thread_data_client_side.get_async_len());
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] protocol_module->handle_client_recv( upthread_id = %d, downthread_id = %d ) return %s");
+ fmt % up_thread_id % down_thread_id % func_tag_to_string(module_event);
+#endif
+
+ func_tag = up_thread_module_event_map[module_event];
+ } else { // recv zero byte
+ upthread_status = UPTHREAD_LOCK;
+ func_tag = UP_FUNC_CLIENT_HANDLE_ARECIEVE;
+ basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
+ boost::bind(&tcp_session::up_thread_client_async_read_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ !ssl_flag ? client_socket.async_read_some(boost::asio::buffer(up_thread_data_client_side.get_data()), handler)
+ : client_ssl_socket.async_read_some(boost::asio::buffer(up_thread_data_client_side.get_data()), handler);
+ }
+ } else { // error handling
+ if (up_thread_data_client_side.get_error_code() == boost::asio::error::try_again) { // don't recv try again
+ upthread_status = UPTHREAD_LOCK;
+ func_tag = UP_FUNC_CLIENT_HANDLE_ARECIEVE;
+ basic_tcp_socket<boost::asio::ip::tcp>::async_rw_handler_t handler =
+ boost::bind(&tcp_session::up_thread_client_async_read_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ !ssl_flag ? client_socket.async_read_some(boost::asio::buffer(up_thread_data_client_side.get_data()), handler)
+ : client_ssl_socket.async_read_some(boost::asio::buffer(up_thread_data_client_side.get_data()), handler);
+ } else if (up_thread_data_client_side.get_error_code() == boost::asio::error::eof) { // hung up
+ func_tag = UP_FUNC_CLIENT_DISCONNECT;
+ } else { // other error.
+ func_tag = UP_FUNC_CLIENT_DISCONNECT;
+ boost::format fmt("Thread ID[%d] client read error: %s");
+ fmt % boost::this_thread::get_id() % up_thread_data_client_side.get_error_code().message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+
+ up_thread_next_call_function = up_thread_function_array[func_tag];
}
//! up_thread_realserver_async_write_some_handler
//! this function called from other thread( io_service thread ).
//!
-void tcp_session::up_thread_realserver_async_write_some_handler( const boost::system::error_code& error_code, std::size_t len ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_async_write_some_handler");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- up_thread_data_dest_side.set_error_code( error_code );
- up_thread_data_dest_side.set_async_len( len );
-
- if( error_code == boost::asio::error::operation_aborted ){
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel( LOG_CAT_L7VSD_SESSION ) ) ){
- boost::format fmt( "Thread ID[%d] up_thread_reaslserver_async_write_some_handler canceled : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
- tcp_thread_message* mes = new tcp_thread_message();
- mes->message = up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- mes->func_tag_name = func_tag_to_string( UP_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !up_thread_message_que.push( mes ) ){}
- upthread_status_cond.notify_one();
+void tcp_session::up_thread_realserver_async_write_some_handler(const boost::system::error_code &error_code, std::size_t len)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_async_write_some_handler");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ up_thread_data_dest_side.set_error_code(error_code);
+ up_thread_data_dest_side.set_async_len(len);
+
+ if (error_code == boost::asio::error::operation_aborted) {
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] up_thread_reaslserver_async_write_some_handler canceled : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ tcp_thread_message *mes = new tcp_thread_message();
+ mes->message = up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ mes->func_tag_name = func_tag_to_string(UP_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!up_thread_message_que.push(mes)) {}
+ upthread_status_cond.notify_one();
}
-void tcp_session::up_thread_realserver_handle_async_write_some( const tcp_session::TCP_PROCESS_TYPE_TAG proc ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_handle_async_write_some");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- UP_THREAD_FUNC_TYPE_TAG func_tag;
-
- std::size_t data_size = up_thread_data_dest_side.get_size();
- std::size_t send_data_size = up_thread_data_dest_side.get_send_size();
-
- if( !up_thread_data_dest_side.get_error_code() ){ // no error
- send_data_size = up_thread_data_dest_side.get_async_len();
- up_thread_data_dest_side.set_send_size( send_data_size );
- parent_service.update_up_send_size( up_thread_data_dest_side.get_async_len() );
- if( data_size > send_data_size )
- func_tag = UP_FUNC_REALSERVER_SEND;
- else
- func_tag = up_thread_module_event_map[protocol_module->handle_realserver_send(up_thread_id)];
- }
- else{ // error
- if( up_thread_data_dest_side.get_error_code() == boost::asio::error::try_again ){
- func_tag = UP_FUNC_REALSERVER_ASEND_HANDLE_EVENT;
- upthread_status = UPTHREAD_LOCK;
- boost::array<char, MAX_BUFFER_SIZE>& send_buff = up_thread_data_dest_side.get_data();
- tcp_socket::async_rw_handler_t handler = boost::bind( &tcp_session::up_thread_realserver_async_write_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- if( realserver_socket )
- realserver_socket->async_write_some(
- boost::asio::const_buffers_1(
- send_buff.data() + send_data_size,
- data_size - send_data_size
- ),
- handler );
- }
- else{
- func_tag = UP_FUNC_REALSERVER_DISCONNECT;
- boost::format fmt( "Thread ID[%d] realserver send error: %s" );
- fmt % boost::this_thread::get_id() % up_thread_data_dest_side.get_error_code().message();
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__,__LINE__ );
- }
- }
- up_thread_next_call_function = up_thread_function_array[func_tag];
+void tcp_session::up_thread_realserver_handle_async_write_some(const tcp_session::TCP_PROCESS_TYPE_TAG proc)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_realserver_handle_async_write_some");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ UP_THREAD_FUNC_TYPE_TAG func_tag;
+
+ std::size_t data_size = up_thread_data_dest_side.get_size();
+ std::size_t send_data_size = up_thread_data_dest_side.get_send_size();
+
+ if (!up_thread_data_dest_side.get_error_code()) { // no error
+ send_data_size = up_thread_data_dest_side.get_async_len();
+ up_thread_data_dest_side.set_send_size(send_data_size);
+ parent_service.update_up_send_size(up_thread_data_dest_side.get_async_len());
+ if (data_size > send_data_size)
+ func_tag = UP_FUNC_REALSERVER_SEND;
+ else
+ func_tag = up_thread_module_event_map[protocol_module->handle_realserver_send(up_thread_id)];
+ } else { // error
+ if (up_thread_data_dest_side.get_error_code() == boost::asio::error::try_again) {
+ func_tag = UP_FUNC_REALSERVER_ASEND_HANDLE_EVENT;
+ upthread_status = UPTHREAD_LOCK;
+ boost::array<char, MAX_BUFFER_SIZE>& send_buff = up_thread_data_dest_side.get_data();
+ tcp_socket::async_rw_handler_t handler = boost::bind(&tcp_session::up_thread_realserver_async_write_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ if (realserver_socket)
+ realserver_socket->async_write_some(
+ boost::asio::const_buffers_1(
+ send_buff.data() + send_data_size,
+ data_size - send_data_size
+ ),
+ handler);
+ } else {
+ func_tag = UP_FUNC_REALSERVER_DISCONNECT;
+ boost::format fmt("Thread ID[%d] realserver send error: %s");
+ fmt % boost::this_thread::get_id() % up_thread_data_dest_side.get_error_code().message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ up_thread_next_call_function = up_thread_function_array[func_tag];
}
-void tcp_session::up_thread_sorryserver_async_write_some_handler( const boost::system::error_code& error_code, std::size_t len ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_async_write_some_handler");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
-
- if( ssl_flag ){
- client_ssl_socket.decrement_write_con();
- }
- up_thread_data_dest_side.set_error_code( error_code );
- up_thread_data_dest_side.set_async_len( len );
-
- if( error_code == boost::asio::error::operation_aborted ){
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel( LOG_CAT_L7VSD_SESSION ) ) ){
- boost::format fmt( "Thread ID[%d] up_thread_reaslserver_async_write_some_handler canceled : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
- tcp_thread_message* mes = new tcp_thread_message();
- mes->message = up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- mes->func_tag_name = func_tag_to_string( UP_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] up_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( UP_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !up_thread_message_que.push( mes ) ){}
- upthread_status_cond.notify_one();
+void tcp_session::up_thread_sorryserver_async_write_some_handler(const boost::system::error_code &error_code, std::size_t len)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_async_write_some_handler");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+
+ if (ssl_flag) {
+ client_ssl_socket.decrement_write_con();
+ }
+ up_thread_data_dest_side.set_error_code(error_code);
+ up_thread_data_dest_side.set_async_len(len);
+
+ if (error_code == boost::asio::error::operation_aborted) {
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] up_thread_reaslserver_async_write_some_handler canceled : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ tcp_thread_message *mes = new tcp_thread_message();
+ mes->message = up_que_function_map[UP_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ mes->func_tag_name = func_tag_to_string(UP_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] up_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(UP_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!up_thread_message_que.push(mes)) {}
+ upthread_status_cond.notify_one();
}
-void tcp_session::up_thread_sorryserver_handle_async_write_some( const TCP_PROCESS_TYPE_TAG proc ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_handle_async_write_some");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- UP_THREAD_FUNC_TYPE_TAG func_tag;
-
- std::size_t data_size = up_thread_data_dest_side.get_size();
- std::size_t send_data_size = up_thread_data_dest_side.get_send_size();
-
- if( !up_thread_data_dest_side.get_error_code() ){ //no error
- send_data_size = up_thread_data_dest_side.get_async_len();
- up_thread_data_dest_side.set_send_size( send_data_size );
- parent_service.update_up_send_size( up_thread_data_dest_side.get_async_len() );
- if( data_size > send_data_size )
- func_tag = UP_FUNC_SORRYSERVER_SEND;
- else
- func_tag = up_thread_module_event_map[protocol_module->handle_realserver_send(up_thread_id)];
- }
- else{
- if( up_thread_data_dest_side.get_error_code() == boost::asio::error::try_again ){
- func_tag = UP_FUNC_SORRYSERVER_HANDLE_ASEND;
- upthread_status = UPTHREAD_LOCK;
-
- boost::array<char, MAX_BUFFER_SIZE>& send_buff = up_thread_data_dest_side.get_data();
- tcp_socket::async_rw_handler_t handler = boost::bind( &tcp_session::up_thread_sorryserver_async_write_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- sorryserver_socket->async_write_some(
- boost::asio::const_buffers_1( send_buff.data() + send_data_size, data_size - send_data_size ),
- handler );
- }
- else{
- func_tag = UP_FUNC_SORRYSERVER_DISCONNECT;
- boost::format fmt( "Thread ID[%d] sorryserver send error: %s" );
- fmt % boost::this_thread::get_id() % up_thread_data_dest_side.get_error_code().message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
- up_thread_next_call_function = up_thread_function_array[func_tag];
+void tcp_session::up_thread_sorryserver_handle_async_write_some(const TCP_PROCESS_TYPE_TAG proc)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN up_thread_sorryserver_handle_async_write_some");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ UP_THREAD_FUNC_TYPE_TAG func_tag;
+
+ std::size_t data_size = up_thread_data_dest_side.get_size();
+ std::size_t send_data_size = up_thread_data_dest_side.get_send_size();
+
+ if (!up_thread_data_dest_side.get_error_code()) { //no error
+ send_data_size = up_thread_data_dest_side.get_async_len();
+ up_thread_data_dest_side.set_send_size(send_data_size);
+ parent_service.update_up_send_size(up_thread_data_dest_side.get_async_len());
+ if (data_size > send_data_size)
+ func_tag = UP_FUNC_SORRYSERVER_SEND;
+ else
+ func_tag = up_thread_module_event_map[protocol_module->handle_realserver_send(up_thread_id)];
+ } else {
+ if (up_thread_data_dest_side.get_error_code() == boost::asio::error::try_again) {
+ func_tag = UP_FUNC_SORRYSERVER_HANDLE_ASEND;
+ upthread_status = UPTHREAD_LOCK;
+
+ boost::array<char, MAX_BUFFER_SIZE>& send_buff = up_thread_data_dest_side.get_data();
+ tcp_socket::async_rw_handler_t handler = boost::bind(&tcp_session::up_thread_sorryserver_async_write_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ sorryserver_socket->async_write_some(
+ boost::asio::const_buffers_1(send_buff.data() + send_data_size, data_size - send_data_size),
+ handler);
+ } else {
+ func_tag = UP_FUNC_SORRYSERVER_DISCONNECT;
+ boost::format fmt("Thread ID[%d] sorryserver send error: %s");
+ fmt % boost::this_thread::get_id() % up_thread_data_dest_side.get_error_code().message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ up_thread_next_call_function = up_thread_function_array[func_tag];
}
-void tcp_session::down_thread_realserver_async_read_some_handler( const boost::system::error_code& error_code, std::size_t len ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_realserver_async_read_some_handler");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- down_thread_data_dest_side.set_error_code( error_code );
- down_thread_data_dest_side.set_async_len( len );
-
- if( error_code == boost::asio::error::operation_aborted ){ //error
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel( LOG_CAT_L7VSD_SESSION ) ) ){
- boost::format fmt( "Thread ID[%d] down_thread_realserver_async_read_some_handler candeld : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
-
-
- tcp_thread_message* mes = new tcp_thread_message();
- mes->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- mes->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( mes ) ){}
- downthread_status_cond.notify_one();
+void tcp_session::down_thread_realserver_async_read_some_handler(const boost::system::error_code &error_code, std::size_t len)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_realserver_async_read_some_handler");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ down_thread_data_dest_side.set_error_code(error_code);
+ down_thread_data_dest_side.set_async_len(len);
+
+ if (error_code == boost::asio::error::operation_aborted) { //error
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] down_thread_realserver_async_read_some_handler candeld : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+
+
+ tcp_thread_message *mes = new tcp_thread_message();
+ mes->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ mes->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(mes)) {}
+ downthread_status_cond.notify_one();
}
-void tcp_session::down_thread_realserver_handle_async_read_some( const tcp_session::TCP_PROCESS_TYPE_TAG proc ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_realserver_handle_async_raed_some : error = %s : recv_byte = %d");
- formatter % boost::this_thread::get_id()
- % down_thread_data_dest_side.get_error_code().message()
- % down_thread_data_dest_side.get_async_len();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- DOWN_THREAD_FUNC_TYPE_TAG func_tag;
- boost::system::error_code error_code = down_thread_data_dest_side.get_error_code();
- std::size_t recv_size = down_thread_data_dest_side.get_async_len();
-
- if( !error_code ){ //no error
- if( down_thread_data_dest_side.get_async_len() > 0 ){ //recv success
- down_thread_data_dest_side.set_size( recv_size );
- parent_service.update_down_recv_size( recv_size );
- protocol_module_base::EVENT_TAG module_event =
- protocol_module->handle_realserver_recv( down_thread_id,
- realserver_endpoint,
- down_thread_data_dest_side.get_data(),
- recv_size );
- func_tag = down_thread_module_event_map[module_event];
- }
- else{ // zero byte recv = try again.
- downthread_status = DOWNTHREAD_LOCK;
- func_tag = DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE;
- tcp_socket::async_rw_handler_t handler = boost::bind( &tcp_session::down_thread_realserver_async_read_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- realserver_socket_mutex.lock();
- if( realserver_socket )
- realserver_socket->async_read_some( boost::asio::buffer( down_thread_data_dest_side.get_data() ), handler );
- else
- func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
- realserver_socket_mutex.unlock();
- }
- }
- else{ // error
- if( error_code == boost::asio::error::try_again ){
- downthread_status = DOWNTHREAD_LOCK;
- func_tag = DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE;
- tcp_socket::async_rw_handler_t handler = boost::bind( &tcp_session::down_thread_realserver_async_read_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- realserver_socket_mutex.lock();
- if( realserver_socket )
- realserver_socket->async_read_some( boost::asio::buffer( down_thread_data_dest_side.get_data() ), handler );
- else
- func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
- realserver_socket_mutex.lock();
- }
- else{ //recv error
- func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
- boost::format fmt( "Thread ID[%d] down_thread_realserver_handle_async_read_some recv error:%s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
-
- down_thread_next_call_function = down_thread_function_array[func_tag];
+void tcp_session::down_thread_realserver_handle_async_read_some(const tcp_session::TCP_PROCESS_TYPE_TAG proc)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_realserver_handle_async_raed_some : error = %s : recv_byte = %d");
+ formatter % boost::this_thread::get_id()
+ % down_thread_data_dest_side.get_error_code().message()
+ % down_thread_data_dest_side.get_async_len();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ DOWN_THREAD_FUNC_TYPE_TAG func_tag;
+ boost::system::error_code error_code = down_thread_data_dest_side.get_error_code();
+ std::size_t recv_size = down_thread_data_dest_side.get_async_len();
+
+ if (!error_code) { //no error
+ if (down_thread_data_dest_side.get_async_len() > 0) { //recv success
+ down_thread_data_dest_side.set_size(recv_size);
+ parent_service.update_down_recv_size(recv_size);
+ protocol_module_base::EVENT_TAG module_event =
+ protocol_module->handle_realserver_recv(down_thread_id,
+ realserver_endpoint,
+ down_thread_data_dest_side.get_data(),
+ recv_size);
+ func_tag = down_thread_module_event_map[module_event];
+ } else { // zero byte recv = try again.
+ downthread_status = DOWNTHREAD_LOCK;
+ func_tag = DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE;
+ tcp_socket::async_rw_handler_t handler = boost::bind(&tcp_session::down_thread_realserver_async_read_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ realserver_socket_mutex.lock();
+ if (realserver_socket)
+ realserver_socket->async_read_some(boost::asio::buffer(down_thread_data_dest_side.get_data()), handler);
+ else
+ func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
+ realserver_socket_mutex.unlock();
+ }
+ } else { // error
+ if (error_code == boost::asio::error::try_again) {
+ downthread_status = DOWNTHREAD_LOCK;
+ func_tag = DOWN_FUNC_REALSERVER_HANDLE_ARECEIVE;
+ tcp_socket::async_rw_handler_t handler = boost::bind(&tcp_session::down_thread_realserver_async_read_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ realserver_socket_mutex.lock();
+ if (realserver_socket)
+ realserver_socket->async_read_some(boost::asio::buffer(down_thread_data_dest_side.get_data()), handler);
+ else
+ func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
+ realserver_socket_mutex.lock();
+ } else { //recv error
+ func_tag = DOWN_FUNC_REALSERVER_DISCONNECT;
+ boost::format fmt("Thread ID[%d] down_thread_realserver_handle_async_read_some recv error:%s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+
+ down_thread_next_call_function = down_thread_function_array[func_tag];
}
-
-void tcp_session::down_thread_client_async_write_some_handler( const boost::system::error_code& error_code, std::size_t len ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_async_write_some_handler");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- if( ssl_flag ){
- client_ssl_socket.decrement_write_con();
- }
-
- down_thread_data_client_side.set_error_code( error_code );
- down_thread_data_client_side.set_async_len( len );
-
- if( error_code == boost::asio::error::operation_aborted ){
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel( LOG_CAT_L7VSD_SESSION ) ) ){
- boost::format fmt( "Thread ID[%d] down_thread_client_async_write_some_handle candeld : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
-
- tcp_thread_message* mes = new tcp_thread_message();
- mes->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- mes->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( mes ) ){}
- downthread_status_cond.notify_one();
+
+void tcp_session::down_thread_client_async_write_some_handler(const boost::system::error_code &error_code, std::size_t len)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_async_write_some_handler");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ if (ssl_flag) {
+ client_ssl_socket.decrement_write_con();
+ }
+
+ down_thread_data_client_side.set_error_code(error_code);
+ down_thread_data_client_side.set_async_len(len);
+
+ if (error_code == boost::asio::error::operation_aborted) {
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] down_thread_client_async_write_some_handle candeld : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+
+ tcp_thread_message *mes = new tcp_thread_message();
+ mes->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ mes->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(mes)) {}
+ downthread_status_cond.notify_one();
}
-void tcp_session::down_thread_client_handle_async_write_some( tcp_session::TCP_PROCESS_TYPE_TAG proc ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_handle_async_write_some");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- DOWN_THREAD_FUNC_TYPE_TAG func_tag;
- boost::system::error_code error_code = down_thread_data_client_side.get_error_code();
- boost::array<char, MAX_BUFFER_SIZE>& data_buff = down_thread_data_client_side.get_data();
- std::size_t data_size = down_thread_data_client_side.get_size();
- std::size_t send_data_size = down_thread_data_client_side.get_send_size();
- std::size_t send_size = down_thread_data_client_side.get_async_len();
-
- if( !error_code ) { //no error
- send_data_size += send_size;
- down_thread_data_client_side.set_send_size( send_size );
- if( data_size > send_data_size ){
- func_tag = DOWN_FUNC_CLIENT_SEND;
- }
- else {
- protocol_module_base::EVENT_TAG module_event =
- protocol_module->handle_client_send( down_thread_id );
- #ifdef DEBUG
- boost::format fmt( "Thread ID[%d] protocol_module->handle_client_send() return: %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( module_event );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__,__LINE__ );
- #endif
- func_tag = down_thread_module_event_map[module_event];
- }
- }
- else{ //error
- if( error_code == boost::asio::error::try_again ){
- func_tag = DOWN_FUNC_CLIENT_HANDLE_ASEND;
- downthread_status = DOWNTHREAD_LOCK;
- tcp_socket::async_rw_handler_t handler = boost::bind(
- &tcp_session::down_thread_client_async_write_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- !ssl_flag ? client_socket.async_write_some(
- boost::asio::const_buffers_1( data_buff.data() + send_data_size, data_size - send_data_size ),
- handler )
- : client_ssl_socket.async_write_some(
- boost::asio::const_buffers_1( data_buff.data() + send_data_size, data_size - send_data_size ),
- handler );
- }
- else{
- func_tag = DOWN_FUNC_CLIENT_DISCONNECT;
- }
- }
- down_thread_next_call_function = down_thread_function_array[func_tag];
+void tcp_session::down_thread_client_handle_async_write_some(tcp_session::TCP_PROCESS_TYPE_TAG proc)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_client_handle_async_write_some");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ DOWN_THREAD_FUNC_TYPE_TAG func_tag;
+ boost::system::error_code error_code = down_thread_data_client_side.get_error_code();
+ boost::array<char, MAX_BUFFER_SIZE>& data_buff = down_thread_data_client_side.get_data();
+ std::size_t data_size = down_thread_data_client_side.get_size();
+ std::size_t send_data_size = down_thread_data_client_side.get_send_size();
+ std::size_t send_size = down_thread_data_client_side.get_async_len();
+
+ if (!error_code) { //no error
+ send_data_size += send_size;
+ down_thread_data_client_side.set_send_size(send_size);
+ if (data_size > send_data_size) {
+ func_tag = DOWN_FUNC_CLIENT_SEND;
+ } else {
+ protocol_module_base::EVENT_TAG module_event =
+ protocol_module->handle_client_send(down_thread_id);
+#ifdef DEBUG
+ boost::format fmt("Thread ID[%d] protocol_module->handle_client_send() return: %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(module_event);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 0, fmt.str(), __FILE__, __LINE__);
+#endif
+ func_tag = down_thread_module_event_map[module_event];
+ }
+ } else { //error
+ if (error_code == boost::asio::error::try_again) {
+ func_tag = DOWN_FUNC_CLIENT_HANDLE_ASEND;
+ downthread_status = DOWNTHREAD_LOCK;
+ tcp_socket::async_rw_handler_t handler = boost::bind(
+ &tcp_session::down_thread_client_async_write_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ !ssl_flag ? client_socket.async_write_some(
+ boost::asio::const_buffers_1(data_buff.data() + send_data_size, data_size - send_data_size),
+ handler)
+ : client_ssl_socket.async_write_some(
+ boost::asio::const_buffers_1(data_buff.data() + send_data_size, data_size - send_data_size),
+ handler);
+ } else {
+ func_tag = DOWN_FUNC_CLIENT_DISCONNECT;
+ }
+ }
+ down_thread_next_call_function = down_thread_function_array[func_tag];
}
-void tcp_session::down_thread_sorryserver_async_read_some_handler( const boost::system::error_code& error_code, std::size_t len ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_async_read_some_handler");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- if( ssl_flag ){
- client_ssl_socket.decrement_read_con();
- }
-
- down_thread_data_dest_side.set_error_code( error_code );
- down_thread_data_dest_side.set_async_len( len );
-
- if( error_code == boost::asio::error::operation_aborted ){
- if( unlikely( LOG_LV_DEBUG == Logger::getLogLevel( LOG_CAT_L7VSD_SESSION ) ) ){
- boost::format fmt( "Thread ID[%d] down_thread_realserver_async_read_some_handler candeld : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogDebug( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
- tcp_thread_message* mes = new tcp_thread_message();
- mes->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
- #ifdef DEBUG
- mes->func_tag_name = func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- {
- boost::format fmt( "Thread ID[%d] down_queue.push : %s" );
- fmt % boost::this_thread::get_id() % func_tag_to_string( DOWN_FUNC_PAUSE_OFF_EVENT );
- Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- #endif
- while( !down_thread_message_que.push( mes ) ){}
- downthread_status_cond.notify_one();
+void tcp_session::down_thread_sorryserver_async_read_some_handler(const boost::system::error_code &error_code, std::size_t len)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_async_read_some_handler");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ if (ssl_flag) {
+ client_ssl_socket.decrement_read_con();
+ }
+
+ down_thread_data_dest_side.set_error_code(error_code);
+ down_thread_data_dest_side.set_async_len(len);
+
+ if (error_code == boost::asio::error::operation_aborted) {
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format fmt("Thread ID[%d] down_thread_realserver_async_read_some_handler candeld : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ tcp_thread_message *mes = new tcp_thread_message();
+ mes->message = down_que_function_map[DOWN_FUNC_PAUSE_OFF_EVENT];
+#ifdef DEBUG
+ mes->func_tag_name = func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ {
+ boost::format fmt("Thread ID[%d] down_queue.push : %s");
+ fmt % boost::this_thread::get_id() % func_tag_to_string(DOWN_FUNC_PAUSE_OFF_EVENT);
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+#endif
+ while (!down_thread_message_que.push(mes)) {}
+ downthread_status_cond.notify_one();
}
-void tcp_session::down_thread_sorryserver_handle_async_read_some( tcp_session::TCP_PROCESS_TYPE_TAG ){
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
- boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_handle_async_read_some");
- formatter % boost::this_thread::get_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
- }
-
- DOWN_THREAD_FUNC_TYPE_TAG func_tag;
- boost::system::error_code error_code = down_thread_data_dest_side.get_error_code();
- std::size_t recv_size = down_thread_data_dest_side.get_async_len();
-
- if( !error_code ){ // no error
- if( recv_size > 0 ){ //recv success
- down_thread_data_dest_side.set_size( recv_size );
- parent_service.update_down_recv_size( recv_size );
- protocol_module_base::EVENT_TAG module_event =
- protocol_module->handle_sorryserver_recv( down_thread_id,
- sorryserver_endpoint,
- down_thread_data_dest_side.get_data(),
- recv_size );
- func_tag = down_thread_module_event_map[module_event];
- }
- else{ // zero byte recv try_again
- downthread_status = DOWNTHREAD_LOCK;
- func_tag = DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE;
- tcp_socket::async_rw_handler_t handler =
- boost::bind( &tcp_session::down_thread_sorryserver_async_read_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
- sorryserver_socket->async_read_some( boost::asio::buffer( down_thread_data_dest_side.get_data() ), handler );
- }
- }
- else{
- if( error_code == boost::asio::error::try_again ){
- downthread_status = DOWNTHREAD_LOCK;
- func_tag = DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE;
- tcp_socket::async_rw_handler_t handler =
- boost::bind( &tcp_session::down_thread_sorryserver_async_read_some_handler,
- this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred );
-
- sorryserver_socket->async_read_some( boost::asio::buffer( down_thread_data_dest_side.get_data() ), handler );
- }
- else{ //recv error
- func_tag = DOWN_FUNC_SORRYSERVER_DISCONNECT;
- boost::format fmt( "Thread ID[%d] down_thread_sorryserver_handle_async_read_some recv error : %s" );
- fmt % boost::this_thread::get_id() % error_code.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__ );
- }
- }
- down_thread_next_call_function = down_thread_function_array[func_tag];
+void tcp_session::down_thread_sorryserver_handle_async_read_some(tcp_session::TCP_PROCESS_TYPE_TAG)
+{
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_SESSION))) {
+ boost::format formatter("Thread ID[%d] FUNC IN down_thread_sorryserver_handle_async_read_some");
+ formatter % boost::this_thread::get_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_SESSION, 999, formatter.str(), __FILE__, __LINE__);
+ }
+
+ DOWN_THREAD_FUNC_TYPE_TAG func_tag;
+ boost::system::error_code error_code = down_thread_data_dest_side.get_error_code();
+ std::size_t recv_size = down_thread_data_dest_side.get_async_len();
+
+ if (!error_code) { // no error
+ if (recv_size > 0) { //recv success
+ down_thread_data_dest_side.set_size(recv_size);
+ parent_service.update_down_recv_size(recv_size);
+ protocol_module_base::EVENT_TAG module_event =
+ protocol_module->handle_sorryserver_recv(down_thread_id,
+ sorryserver_endpoint,
+ down_thread_data_dest_side.get_data(),
+ recv_size);
+ func_tag = down_thread_module_event_map[module_event];
+ } else { // zero byte recv try_again
+ downthread_status = DOWNTHREAD_LOCK;
+ func_tag = DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE;
+ tcp_socket::async_rw_handler_t handler =
+ boost::bind(&tcp_session::down_thread_sorryserver_async_read_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+ sorryserver_socket->async_read_some(boost::asio::buffer(down_thread_data_dest_side.get_data()), handler);
+ }
+ } else {
+ if (error_code == boost::asio::error::try_again) {
+ downthread_status = DOWNTHREAD_LOCK;
+ func_tag = DOWN_FUNC_SORRYSERVER_HANDLE_ARECEIVE;
+ tcp_socket::async_rw_handler_t handler =
+ boost::bind(&tcp_session::down_thread_sorryserver_async_read_some_handler,
+ this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred);
+
+ sorryserver_socket->async_read_some(boost::asio::buffer(down_thread_data_dest_side.get_data()), handler);
+ } else { //recv error
+ func_tag = DOWN_FUNC_SORRYSERVER_DISCONNECT;
+ boost::format fmt("Thread ID[%d] down_thread_sorryserver_handle_async_read_some recv error : %s");
+ fmt % boost::this_thread::get_id() % error_code.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
+ }
+ }
+ down_thread_next_call_function = down_thread_function_array[func_tag];
}
std::stringstream ret;
if (target_endpoint.address().is_v6()) {
ret << "[" << target_endpoint.address().to_string() << "]:" << target_endpoint.port()
-;
+ ;
} else {
ret << target_endpoint.address().to_string() << ":" << target_endpoint.port();
}
int val = opt_info.cork_val;
size_t len = sizeof(val);
int err = ::setsockopt(my_socket->lowest_layer().native(), IPPROTO_TCP,
- TCP_CORK, &val, len);
+ TCP_CORK, &val, len);
if (unlikely(err)) {
//ERROR
Logger::putLogError(LOG_CAT_L7VSD_SESSION, 108,
int val = opt_info.quickack_val;
std::size_t len = sizeof(val);
int err = ::setsockopt(my_socket->lowest_layer().native(), IPPROTO_TCP,
- TCP_QUICKACK, &val, len);
+ TCP_QUICKACK, &val, len);
if (unlikely(err)) {
//ERROR
std::stringstream buf;
wait_count_down = 0;
interrupt_running_flag = 0;
virtualservice_stop_flag = 0;
- upqos_alert_flag = false;
+ upqos_alert_flag = false;
downqos_alert_flag = false;
sessionpool_alert_flag = false;
if (!vs_err)
param_data.rep_interval = int_val;
- //get upstream QoS alert on threshold
+ //get upstream QoS alert on threshold
int_val = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, QOS_UP_ALERT_ON_SIZE, vs_err);
if (!vs_err) {
- if (int_val > 0 && int_val <= 100 ) {
+ if (int_val > 0 && int_val <= 100) {
param_data.qos_up_alert_on = int_val;
} else {
- param_data.qos_up_alert_on = virtualservice_base::UPQOS_ALERT_ON_SIZE_DEFAULT;
+ param_data.qos_up_alert_on = virtualservice_base::UPQOS_ALERT_ON_SIZE_DEFAULT;
}
}
//get upstream QoS alert off threshold
int_val = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, QOS_UP_ALERT_OFF_SIZE, vs_err);
if (!vs_err) {
- if (int_val > 0 && int_val <= 100 ) {
+ if (int_val > 0 && int_val <= 100) {
param_data.qos_up_alert_off = int_val;
} else {
param_data.qos_up_alert_off = virtualservice_base::UPQOS_ALERT_OFF_SIZE_DEFAULT;
- }
- }
+ }
+ }
- //get downstream QoS alert on threshold
+ //get downstream QoS alert on threshold
int_val = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, QOS_DOWN_ALERT_ON_SIZE, vs_err);
if (!vs_err) {
- if (int_val > 0 && int_val <= 100 ) {
+ if (int_val > 0 && int_val <= 100) {
param_data.qos_down_alert_on = int_val;
} else {
param_data.qos_down_alert_on = virtualservice_base::DOWNQOS_ALERT_ON_SIZE_DEFAULT;
}
}
- //get downstream QoS alert off threshold
+ //get downstream QoS alert off threshold
int_val = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, QOS_DOWN_ALERT_OFF_SIZE, vs_err);
if (!vs_err) {
- if (int_val > 0 && int_val <= 100 ) {
+ if (int_val > 0 && int_val <= 100) {
param_data.qos_down_alert_off = int_val;
} else {
param_data.qos_down_alert_off = virtualservice_base::DOWNQOS_ALERT_OFF_SIZE_DEFAULT;
}
//get session pool alert on threshold
- int_val = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, SESSION_POOL_ALERT_ON_SIZE, vs_err);
+ int_val = param.get_int(l7vs::PARAM_COMP_SNMPAGENT, SESSION_POOL_ALERT_ON_SIZE, vs_err);
if (!vs_err) {
if (int_val > 0) {
param_data.session_pool_alert_on = int_val;
if (unlikely(LOG_LV_DEBUG == l7vs::Logger::getLogLevel(l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD))) {
std::stringstream buf;
buf << "out_function : void virtualservice_base::load_parameter() : ";
- buf << "param_data.nic_realserver_side = [" << param_data.nic_realserver_side << "], ";
+ buf << "param_data.nic_realserver_side = [" << param_data.nic_realserver_side << "], ";
buf << "param_data.session_pool_size = [" << param_data.session_pool_size << "], ";
buf << "param_data.bps_interval = [" << param_data.bps_interval << "], ";
buf << "param_data.rep_interval = [" << param_data.rep_interval << "], ";
buf << "param_data.qos_down_alert_on = [" << param_data.qos_down_alert_on << "], ";
buf << "param_data.qos_down_alert_off = [" << param_data.qos_down_alert_off << "], ";
buf << "param_data.session_pool_alert_on = [" << param_data.session_pool_alert_on << "], ";
- buf << "param_data.session_pool_alert_off = ["<< param_data.session_pool_alert_off << "]";
+ buf << "param_data.session_pool_alert_off = [" << param_data.session_pool_alert_off << "]";
l7vs::Logger::putLogDebug(l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, 2, buf.str(), __FILE__, __LINE__);
}
throughput_down = (unsigned long long)(byte_sec_down_val * 1000);
current_down_recvsize = 0ULL;
}
-
+
//calc downstream alert on throughput
unsigned long long downqos_alert_on_throughput = element.qos_downstream * param_data.qos_down_alert_on / 100;
//calc downstream alert off throughput
formatter2 % throughput_down.get() % wait_count_down.get();
l7vs::Logger::putLogDebug(l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, 9, formatter2.str(), __FILE__, __LINE__);
}
+ } else if (err == boost::asio::error::operation_aborted) { //nomal exit case
+ boost::format fmt("Thread ID[%d] throughput update timer cancel : %s");
+ fmt % boost::this_thread::get_id() % err.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, 0, fmt.str(), __FILE__, __LINE__);
+ } else { // error case
+ boost::format fmt("Thread ID[%d] throughput update timer error : %s");
+ fmt % boost::this_thread::get_id() % err.message();
+ Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, 5, fmt.str(), __FILE__, __LINE__);
}
- else if( err == boost::asio::error::operation_aborted ){ //nomal exit case
- boost::format fmt( "Thread ID[%d] throughput update timer cancel : %s" );
- fmt % boost::this_thread::get_id() % err.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, 0, fmt.str(), __FILE__, __LINE__ );
- }
- else{ // error case
- boost::format fmt( "Thread ID[%d] throughput update timer error : %s" );
- fmt % boost::this_thread::get_id() % err.message();
- Logger::putLogError( LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, 5, fmt.str(), __FILE__, __LINE__ );
- }
if (unlikely(LOG_LV_DEBUG == l7vs::Logger::getLogLevel(l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD))) {
element.throughput_upstream = throughput_up.get();
element.throughput_downstream = throughput_down.get();
- if (protomod != NULL) {
- stats_base& sbase = protomod->get_stats();
+ if (protomod != NULL) {
+ stats_base &sbase = protomod->get_stats();
if (sbase.get_mode() == stats_base::MODE_HTTP) {
- http_stats& hstats = static_cast<http_stats&>(sbase);
+ http_stats &hstats = static_cast<http_stats &>(sbase);
element.http_total_count = hstats.http_requests.get();
element.http_get_count = hstats.http_get_requests.get();
element.http_post_count = hstats.http_post_requests.get();
rs_list_lock();
for (std::list<realserver>::iterator itr = rs_list.begin();
- itr != rs_list.end(); ++itr) {
+ itr != rs_list.end(); ++itr) {
itr->clear_inact();
}
rs_list_unlock();
// @param[in] realserver_endpoint realserver endpoint
// @return mode check result
//
-bool l7vs::virtualservice_base::is_realserver_transparent( const boost::asio::ip::tcp::endpoint& realserver_endpoint ){
-
- rs_list_lock();
- for( std::list<realserver>::iterator itr = rs_list.begin(); itr != rs_list.end(); ++itr ){
- if( (itr->tcp_endpoint == realserver_endpoint) &&
- (itr->fwdmode == realserver_element::FWD_TPROXY ) ){
- rs_list_unlock();
- return true;
- }
- }
- rs_list_unlock();
- return false;
+bool l7vs::virtualservice_base::is_realserver_transparent(const boost::asio::ip::tcp::endpoint &realserver_endpoint)
+{
+
+ rs_list_lock();
+ for (std::list<realserver>::iterator itr = rs_list.begin(); itr != rs_list.end(); ++itr) {
+ if ((itr->tcp_endpoint == realserver_endpoint) &&
+ (itr->fwdmode == realserver_element::FWD_TPROXY)) {
+ rs_list_unlock();
+ return true;
+ }
+ }
+ rs_list_unlock();
+ return false;
}
const replication &inrep,
const virtualservice_element &inelement)
:
- virtualservice_base(invsd, inrep, inelement){
- access_log_file_name = "";
- dispatcher.reset( new boost::asio::io_service( 10 ) );
- calc_bps_timer.reset(new boost::asio::deadline_timer(*dispatcher));
- replication_timer.reset(new boost::asio::deadline_timer(*dispatcher));
- protomod_rep_timer.reset(new boost::asio::deadline_timer(*dispatcher));
- schedmod_rep_timer.reset(new boost::asio::deadline_timer(*dispatcher));
- acceptor_.reset( new boost::asio::ip::tcp::acceptor( *dispatcher ) );
- sslcontext.reset( new boost::asio::ssl::context( *dispatcher, DEFAULT_SSL_METHOD ) );
+ virtualservice_base(invsd, inrep, inelement)
+{
+ access_log_file_name = "";
+ dispatcher.reset(new boost::asio::io_service(10));
+ calc_bps_timer.reset(new boost::asio::deadline_timer(*dispatcher));
+ replication_timer.reset(new boost::asio::deadline_timer(*dispatcher));
+ protomod_rep_timer.reset(new boost::asio::deadline_timer(*dispatcher));
+ schedmod_rep_timer.reset(new boost::asio::deadline_timer(*dispatcher));
+ acceptor_.reset(new boost::asio::ip::tcp::acceptor(*dispatcher));
+ sslcontext.reset(new boost::asio::ssl::context(*dispatcher, DEFAULT_SSL_METHOD));
active_count = 0;
ca_dir = "";
ca_file = "";
{
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format fmt("in_function: void virtualservice_tcp::handle_replication_interrupt( "
- "const boost::system::error_code& err ): err = %s, err.message = %s");
+ "const boost::system::error_code& err ): err = %s, err.message = %s");
fmt % (err ? "true" : "false") % err.message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 20, fmt.str(), __FILE__, __LINE__);
}
if (replication::REPLICATION_SINGLE == rep_noconst.get_status()) {
Logger::putLogInfo(LOG_CAT_L7VSD_VIRTUALSERVICE, 1, "replication mode is single.",
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
interrupt_running_flag--;
return;
}
//get replication area
unsigned int rep_size = 0;
replication_header *rep_header_ptr = reinterpret_cast<replication_header *>(
- rep_noconst.pay_memory(REP_AREA_NAME, rep_size));
+ rep_noconst.pay_memory(REP_AREA_NAME, rep_size));
if ((rep_header_ptr == NULL) || (0 == rep_size)) {
Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 1, REP_BLOCK_SIZE_ERR_MSG,
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
interrupt_running_flag--;
return;
}
if ((rep_size * DATA_SIZE) <
((sizeof(replication_data) * MAX_REPLICATION_DATA_NUM) + sizeof(replication_header))) {
Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 2, REP_AREA_SIZE_ERR_MSG,
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
interrupt_running_flag--;
return;
}
//if it is new data, increment data num.
if (newdata) {
rep_header_ptr = reinterpret_cast<replication_header *>(
- rep_noconst.pay_memory(REP_AREA_NAME, rep_size));
+ rep_noconst.pay_memory(REP_AREA_NAME, rep_size));
++(rep_header_ptr->data_num);
}
//write replication data
replication_timer->expires_from_now(
boost::posix_time::milliseconds(param_data.rep_interval));
replication_timer->async_wait(boost::bind(
- &virtualservice_tcp::handle_replication_interrupt,
- this, boost::asio::placeholders::error));
+ &virtualservice_tcp::handle_replication_interrupt,
+ this, boost::asio::placeholders::error));
}
interrupt_running_flag--;
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 21,
- "out_function: void virtualservice_tcp::handle_replication_interrupt( "
- "const boost::system::error_code& err )", __FILE__, __LINE__);
+ "out_function: void virtualservice_tcp::handle_replication_interrupt( "
+ "const boost::system::error_code& err )", __FILE__, __LINE__);
}
}
void l7vs::virtualservice_tcp::read_replicationdata()
{
Logger funclog(LOG_CAT_L7VSD_VIRTUALSERVICE, 22, "function: "
- "void virtualservice_tcp::read_replicationdata()", __FILE__, __LINE__);
+ "void virtualservice_tcp::read_replicationdata()", __FILE__, __LINE__);
replication &rep_noconst = const_cast<replication &>(rep);
if (replication::REPLICATION_SINGLE == rep_noconst.get_status()) {
Logger::putLogInfo(LOG_CAT_L7VSD_VIRTUALSERVICE, 2, "replication mode is single.",
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
return;
}
unsigned int rep_size = 0;
replication_header *rep_header_ptr = reinterpret_cast<replication_header *>(
- rep_noconst.pay_memory(REP_AREA_NAME, rep_size));
+ rep_noconst.pay_memory(REP_AREA_NAME, rep_size));
if ((rep_header_ptr == NULL) || (0 == rep_size)) {
Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 3, REP_BLOCK_SIZE_ERR_MSG,
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 23, "out_function: "
- "void virtualservice_tcp::read_replicationdata()", __FILE__, __LINE__);
+ "void virtualservice_tcp::read_replicationdata()", __FILE__, __LINE__);
}
return;
}
if ((rep_size * DATA_SIZE) <
((sizeof(replication_data) * MAX_REPLICATION_DATA_NUM) + sizeof(replication_header))) {
Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 4, REP_AREA_SIZE_ERR_MSG,
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 24, "out_function: "
- "void virtualservice_tcp::read_replicationdata()", __FILE__, __LINE__);
+ "void virtualservice_tcp::read_replicationdata()", __FILE__, __LINE__);
}
return;
}
//if data_num over MAX_REPLICATION_DATA_NUM, set data_num = 0
if (static_cast<unsigned int>(MAX_REPLICATION_DATA_NUM) < loop_cnt) {
Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 5, REP_BLOCK_SIZE_ERR_MSG,
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 25, "out_function: "
- "void virtualservice_tcp::read_replicationdata()", __FILE__, __LINE__);
+ "void virtualservice_tcp::read_replicationdata()", __FILE__, __LINE__);
}
rep_header_ptr->data_num = 0;
rep_noconst.unlock(REP_AREA_NAME);
//check equal udpmode and tcp_accept_endpoint
if ((rep_data_ptr->udpmode == element.udpmode) &&
(tcp_endpoint_type(boost::asio::ip::address::from_string(ipaddr), portno)
- == element.tcp_accept_endpoint)) {
+ == element.tcp_accept_endpoint)) {
element.sorry_maxconnection = rep_data_ptr->sorry_maxconnection;
tmpstr = rep_data_ptr->sorry_endpoint;
try {
portno = boost::lexical_cast<unsigned short>(
- tmpstr.substr((tmpstr.rfind(":") + 1)));
+ tmpstr.substr((tmpstr.rfind(":") + 1)));
} catch (const boost::bad_lexical_cast &err) {
portno = 0;
}
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 26, "out_function: "
- "void virtualservice_tcp::read_replicationdata()", __FILE__, __LINE__);
+ "void virtualservice_tcp::read_replicationdata()", __FILE__, __LINE__);
}
}
*/
void l7vs::virtualservice_tcp::handle_accept(const l7vs::session_thread_control *stc_ptr, const boost::system::error_code &err)
{
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
- boost::format fmt( "in_function: void virtualservice_tcp::handle_accept( "
- "const boost::shared_ptr<session_thread_control> , "
- "const boost::system::error_code& err ): err = %s, err.message = %s");
- fmt % (err ? "true" : "false") % err.message();
- Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 27, fmt.str(), __FILE__, __LINE__);
- }
-
- if(unlikely(virtualservice_stop_flag.get())){
- return;
- }
-
- session_thread_control *stc_ptr_noconst = const_cast<session_thread_control *>(stc_ptr);
-
- if( unlikely( err == boost::asio::error::operation_aborted ) ){ // nomal exit case
- boost::format fmt( "Thread ID[%d] handle accept cancel : %s" );
- fmt % boost::this_thread::get_id() % err.message();
- Logger::putLogInfo( LOG_CAT_L7VSD_VIRTUALSERVICE, 0, fmt.str(), __FILE__, __LINE__ );
- return;
- }
- else if (unlikely(err)) { // register next accept handle when error mode.
- if(!ssl_virtualservice_mode_flag ){
- waiting_session->get_client_socket().get_socket().close();
- acceptor_->async_accept( waiting_session->get_client_socket().get_socket(),
- boost::bind( &virtualservice_tcp::handle_accept,
- this,
- stc_ptr,
- boost::asio::placeholders::error ) );
- }else{
- waiting_session->get_client_ssl_socket().lowest_layer().close();
- acceptor_->async_accept( waiting_session->get_client_ssl_socket().lowest_layer(),
- boost::bind( &virtualservice_tcp::handle_accept,
- this,
- stc_ptr,
- boost::asio::placeholders::error ) );
- }
- Logger::putLogInfo(LOG_CAT_L7VSD_VIRTUALSERVICE, 2, err.message(), __FILE__, __LINE__);
- return;
- }
-
- tcp_session *tmp_session = stc_ptr_noconst->get_session().get();
-
- if (ssl_file_name != "") {
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
+ boost::format fmt("in_function: void virtualservice_tcp::handle_accept( "
+ "const boost::shared_ptr<session_thread_control> , "
+ "const boost::system::error_code& err ): err = %s, err.message = %s");
+ fmt % (err ? "true" : "false") % err.message();
+ Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 27, fmt.str(), __FILE__, __LINE__);
+ }
+
+ if (unlikely(virtualservice_stop_flag.get())) {
+ return;
+ }
+
+ session_thread_control *stc_ptr_noconst = const_cast<session_thread_control *>(stc_ptr);
+
+ if (unlikely(err == boost::asio::error::operation_aborted)) { // nomal exit case
+ boost::format fmt("Thread ID[%d] handle accept cancel : %s");
+ fmt % boost::this_thread::get_id() % err.message();
+ Logger::putLogInfo(LOG_CAT_L7VSD_VIRTUALSERVICE, 0, fmt.str(), __FILE__, __LINE__);
+ return;
+ } else if (unlikely(err)) { // register next accept handle when error mode.
+ if (!ssl_virtualservice_mode_flag) {
+ waiting_session->get_client_socket().get_socket().close();
+ acceptor_->async_accept(waiting_session->get_client_socket().get_socket(),
+ boost::bind(&virtualservice_tcp::handle_accept,
+ this,
+ stc_ptr,
+ boost::asio::placeholders::error));
+ } else {
+ waiting_session->get_client_ssl_socket().lowest_layer().close();
+ acceptor_->async_accept(waiting_session->get_client_ssl_socket().lowest_layer(),
+ boost::bind(&virtualservice_tcp::handle_accept,
+ this,
+ stc_ptr,
+ boost::asio::placeholders::error));
+ }
+ Logger::putLogInfo(LOG_CAT_L7VSD_VIRTUALSERVICE, 2, err.message(), __FILE__, __LINE__);
+ return;
+ }
+
+ tcp_session *tmp_session = stc_ptr_noconst->get_session().get();
+
+ if (ssl_file_name != "") {
//*-------- DEBUG LOG --------*/
if (unlikely(LOG_LV_DEBUG ==
get_ssl_session_cache_info(buf);
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 28,
buf.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
//*------ DEBUG LOG END ------*/
buf.str(),
__FILE__, __LINE__);
}
- //*------ DEBUG LOG END ------*/
- }
-
- // initialize session
- stc_ptr_noconst->get_session()->initialize();
-
- // send access log output ON or OFF message to tcp_session
- stc_ptr_noconst->session_access_log_output_mode_change(access_log_flag);
-
- active_sessions.insert(tmp_session, stc_ptr_noconst);
-
- //check sorry flag and status
- if (unlikely(
- (0 != element.sorry_flag) ||
- ((0 < element.sorry_maxconnection) && ((active_count.get() >= static_cast<size_t>(element.sorry_maxconnection)))
- )
- )) {
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
- boost::format fmt("Connection switch Sorry mode. "
- "active_session.size = %d, active_count.get = %d");
- fmt % active_sessions.size() % active_count.get();
- Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 30, fmt.str(), __FILE__, __LINE__);
- }
-
- stc_ptr_noconst->get_session()->set_virtual_service_message(tcp_session::SORRY_STATE_ENABLE, boost::asio::ip::tcp::endpoint() );
- }
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
- boost::format fmt1("active session thread id = %d");
- fmt1 % stc_ptr_noconst->get_upthread_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 31, fmt1.str(), __FILE__, __LINE__);
- boost::format fmt2("pool_session.size = %d");
- fmt2 % pool_sessions.size();
- Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 32, fmt2.str(), __FILE__, __LINE__);
- boost::format fmt3("active_session.size = %d");
- fmt3 % active_sessions.size();
- Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 33, fmt3.str(), __FILE__, __LINE__);
- boost::format fmt4("active_count = %d");
- fmt4 % active_count.get();
- Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 34, fmt4.str(), __FILE__, __LINE__);
- }
-
- stc_ptr_noconst->startupstream();
- stc_ptr_noconst->startdownstream();
-
- //left session is less than the threshold
- if ((sessionpool_alert_flag == false) &&
- ((pool_sessions.size() + 1) < param_data.session_pool_alert_on)) {
- //create trap message
- trapmessage trap_msg;
- trap_msg.type = trapmessage::SESSIONPOOL_ALERT_ON;
- trap_msg.message = "TRAP00020011,Warning: The left-session has fell below the threshold of left-session warning.";
- error_code err_code;
- //push the trap message
- snmpagent::push_trapmessage(trap_msg, err_code);
- if (err_code) {
- std::string str("Push trap message failed :");
- Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 38, str , __FILE__, __LINE__);
- }
- //set sessionpool alert flag true
- sessionpool_alert_flag = true;
- }
-
- //waiting, pool_sessions.size become over 1
- //pick up session from pool
- session_thread_control* stc_ptr_register_accept;
-
- for(;;){
- stc_ptr_register_accept = pool_sessions.pop();
- if( stc_ptr_register_accept ) break;
- else if( pool_sessions.empty() ) dispatcher->poll();
- timespec ts = { 0, 50 };
- nanosleep( &ts, NULL );
- }
-
- //session add wait_sessions
- boost::mutex::scoped_lock up_wait_lk(stc_ptr_register_accept->get_upthread_mutex());
- boost::mutex::scoped_lock down_wait_lk(stc_ptr_register_accept->get_downthread_mutex());
-
- waiting_session = stc_ptr_register_accept->get_session().get();
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
- boost::format fmt1("active session thread id = %d");
- fmt1 % stc_ptr_register_accept->get_upthread_id();
- Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 35, fmt1.str(), __FILE__, __LINE__);
- boost::format fmt2("pool_session.size = %d");
- fmt2 % pool_sessions.size();
- Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 36, fmt2.str(), __FILE__, __LINE__);
- boost::format fmt3("active_session.size = %d");
- fmt3 % active_sessions.size();
- Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 37, fmt3.str(), __FILE__, __LINE__);
- boost::format fmt4("active_count = %d");
- fmt4 % active_count.get();
- Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 38, fmt4.str(), __FILE__, __LINE__);
- }
-
- //register accept event handler
- if (!ssl_virtualservice_mode_flag) {
- acceptor_->async_accept(waiting_session->get_client_socket().get_socket(),
- boost::bind(&virtualservice_tcp::handle_accept,
- this,
- stc_ptr_register_accept,
- boost::asio::placeholders::error));
- }
- else {
- acceptor_->async_accept(waiting_session->get_client_ssl_socket().lowest_layer(),
- boost::bind(&virtualservice_tcp::handle_accept,
- this,
- stc_ptr_register_accept,
- boost::asio::placeholders::error));
- }
-
- if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
- Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 39,
- "out_function: "
- "void virtualservice_tcp::handle_accept( "
- "const boost::shared_ptr<session_thread_control> , "
- "const boost::system::error_code& err )", __FILE__, __LINE__);
- }
+ //*------ DEBUG LOG END ------*/
+ }
+
+ // initialize session
+ stc_ptr_noconst->get_session()->initialize();
+
+ // send access log output ON or OFF message to tcp_session
+ stc_ptr_noconst->session_access_log_output_mode_change(access_log_flag);
+
+ active_sessions.insert(tmp_session, stc_ptr_noconst);
+
+ //check sorry flag and status
+ if (unlikely(
+ (0 != element.sorry_flag) ||
+ ((0 < element.sorry_maxconnection) && ((active_count.get() >= static_cast<size_t>(element.sorry_maxconnection)))
+ )
+ )) {
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
+ boost::format fmt("Connection switch Sorry mode. "
+ "active_session.size = %d, active_count.get = %d");
+ fmt % active_sessions.size() % active_count.get();
+ Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 30, fmt.str(), __FILE__, __LINE__);
+ }
+
+ stc_ptr_noconst->get_session()->set_virtual_service_message(tcp_session::SORRY_STATE_ENABLE, boost::asio::ip::tcp::endpoint());
+ }
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
+ boost::format fmt1("active session thread id = %d");
+ fmt1 % stc_ptr_noconst->get_upthread_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 31, fmt1.str(), __FILE__, __LINE__);
+ boost::format fmt2("pool_session.size = %d");
+ fmt2 % pool_sessions.size();
+ Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 32, fmt2.str(), __FILE__, __LINE__);
+ boost::format fmt3("active_session.size = %d");
+ fmt3 % active_sessions.size();
+ Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 33, fmt3.str(), __FILE__, __LINE__);
+ boost::format fmt4("active_count = %d");
+ fmt4 % active_count.get();
+ Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 34, fmt4.str(), __FILE__, __LINE__);
+ }
+
+ stc_ptr_noconst->startupstream();
+ stc_ptr_noconst->startdownstream();
+
+ //left session is less than the threshold
+ if ((sessionpool_alert_flag == false) &&
+ ((pool_sessions.size() + 1) < param_data.session_pool_alert_on)) {
+ //create trap message
+ trapmessage trap_msg;
+ trap_msg.type = trapmessage::SESSIONPOOL_ALERT_ON;
+ trap_msg.message = "TRAP00020011,Warning: The left-session has fell below the threshold of left-session warning.";
+ error_code err_code;
+ //push the trap message
+ snmpagent::push_trapmessage(trap_msg, err_code);
+ if (err_code) {
+ std::string str("Push trap message failed :");
+ Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 38, str , __FILE__, __LINE__);
+ }
+ //set sessionpool alert flag true
+ sessionpool_alert_flag = true;
+ }
+
+ //waiting, pool_sessions.size become over 1
+ //pick up session from pool
+ session_thread_control *stc_ptr_register_accept;
+
+ for (;;) {
+ stc_ptr_register_accept = pool_sessions.pop();
+ if (stc_ptr_register_accept) break;
+ else if (pool_sessions.empty()) dispatcher->poll();
+ timespec ts = { 0, 50 };
+ nanosleep(&ts, NULL);
+ }
+
+ //session add wait_sessions
+ boost::mutex::scoped_lock up_wait_lk(stc_ptr_register_accept->get_upthread_mutex());
+ boost::mutex::scoped_lock down_wait_lk(stc_ptr_register_accept->get_downthread_mutex());
+
+ waiting_session = stc_ptr_register_accept->get_session().get();
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
+ boost::format fmt1("active session thread id = %d");
+ fmt1 % stc_ptr_register_accept->get_upthread_id();
+ Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 35, fmt1.str(), __FILE__, __LINE__);
+ boost::format fmt2("pool_session.size = %d");
+ fmt2 % pool_sessions.size();
+ Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 36, fmt2.str(), __FILE__, __LINE__);
+ boost::format fmt3("active_session.size = %d");
+ fmt3 % active_sessions.size();
+ Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 37, fmt3.str(), __FILE__, __LINE__);
+ boost::format fmt4("active_count = %d");
+ fmt4 % active_count.get();
+ Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 38, fmt4.str(), __FILE__, __LINE__);
+ }
+
+ //register accept event handler
+ if (!ssl_virtualservice_mode_flag) {
+ acceptor_->async_accept(waiting_session->get_client_socket().get_socket(),
+ boost::bind(&virtualservice_tcp::handle_accept,
+ this,
+ stc_ptr_register_accept,
+ boost::asio::placeholders::error));
+ } else {
+ acceptor_->async_accept(waiting_session->get_client_ssl_socket().lowest_layer(),
+ boost::bind(&virtualservice_tcp::handle_accept,
+ this,
+ stc_ptr_register_accept,
+ boost::asio::placeholders::error));
+ }
+
+ if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
+ Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 39,
+ "out_function: "
+ "void virtualservice_tcp::handle_accept( "
+ "const boost::shared_ptr<session_thread_control> , "
+ "const boost::system::error_code& err )", __FILE__, __LINE__);
+ }
}
/*!
"l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 41, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
"l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 42, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
err);
if (access_log_instance == NULL) {
boost::format formatter("access logger Instance acquisition err = %s, "
- "err.message = %s ");
+ "err.message = %s ");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 4, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, "access log class instance create failed");
return;
}
acceptor_->open(element.tcp_accept_endpoint.protocol(), acceptor_err);
if (acceptor_err) {
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 5, acceptor_err.message(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, acceptor_err.message());
return;
}
acceptor_->set_option(boost::asio::ip::tcp::acceptor::reuse_address(true), acceptor_err);
if (acceptor_err) {
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 6, acceptor_err.message(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, acceptor_err.message());
return;
}
acceptor_->set_option(option, acceptor_err);
if (acceptor_err) {
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 7, acceptor_err.message(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, acceptor_err.message());
return;
}
acceptor_->bind(element.tcp_accept_endpoint, acceptor_err);
if (acceptor_err) {
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 8, acceptor_err.message(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, acceptor_err.message());
return;
}
if (NULL == protomod) {
//ERROR case
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 9, PROTOMOD_LOAD_ERROR_MSG,
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, PROTOMOD_LOAD_ERROR_MSG);
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format formatter("out_function: void virtualservice_tcp::initialize( "
"l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 43, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
element.tcp_accept_endpoint,
element.udp_recv_endpoint);
tcp_schedule_func_type sched_rs_func = boost::bind(
- &virtualservice_tcp::schedule_rs, this, _1, _2, _3, _4, _5);
+ &virtualservice_tcp::schedule_rs, this, _1, _2, _3, _4, _5);
protomod->register_schedule(sched_rs_func);
protocol_module_base::check_message_result pm_result;
"l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 44, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
"l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 45, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
if (NULL == schedmod) {
//ERROR case
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 10, SCHEDMOD_LOAD_ERROR_MSG,
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, SCHEDMOD_LOAD_ERROR_MSG);
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format formatter("out_function: void virtualservice_tcp::initialize( "
"l7vs::error_code& err ) : err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 46, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
if (unlikely(!get_ssl_parameter())) {
//Error
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 11, "get ssl parameter failed",
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, "get ssl parameter failed");
return;
}
if (unlikely(!set_ssl_config())) {
//Error
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 12, "set ssl config failed",
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, "set ssl config failed");
return;
}
for (int i = 0; i < param_data.session_pool_size; ++i) {
try {
tcp_session *sess = new tcp_session(*this,
- *dispatcher,
- set_sock_opt,
- element.tcp_accept_endpoint,
- ssl_virtualservice_mode_flag,
- *sslcontext,
- is_session_cache_use,
- handshake_timeout,
- access_log_instance);
+ *dispatcher,
+ set_sock_opt,
+ element.tcp_accept_endpoint,
+ ssl_virtualservice_mode_flag,
+ *sslcontext,
+ is_session_cache_use,
+ handshake_timeout,
+ access_log_instance);
session_result_message result = sess->initialize();
if (result.flag == true) {
err.setter(result.flag, result.message);
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format formatter("out_function: "
- "void virtualservice_tcp::initialize( "
- "l7vs::error_code& err ): err = %s, "
- "err.message = %s");
+ "void virtualservice_tcp::initialize( "
+ "l7vs::error_code& err ): err = %s, "
+ "err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 47,
- formatter.str(), __FILE__, __LINE__);
+ formatter.str(), __FILE__, __LINE__);
}
return;
}
} catch (...) {
Logger::putLogFatal(
LOG_CAT_L7VSD_VIRTUALSERVICE, 1, "error, create session.",
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, "error, create session.");
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format formatter("out_function: "
- "void virtualservice_tcp::initialize( "
- "l7vs::error_code& err ): err = %s, err.message = %s");
+ "void virtualservice_tcp::initialize( "
+ "l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 48, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
boost::format fmt1("pool_session.size = %d");
fmt1 % pool_sessions.size();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 49, fmt1.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
boost::format fmt2("active_session.size = %d");
fmt2 % active_sessions.size();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 50, fmt2.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
}
"l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 51, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
}
boost::format formatter("in_function: void virtualservice_tcp::finalize( "
"l7vs::error_code& err )");
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 52, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
boost::format fmt1("pool_session.size = %d");
fmt1 % pool_sessions.size();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 53, fmt1.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
boost::format fmt2("active_session.size = %d");
fmt2 % active_sessions.size();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 54, fmt2.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
//release sessions[i]->join();
boost::format fmt("join pool session: pool_sessions.size = %d");
fmt % pool_sessions.size();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 55, fmt.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
}
- //waiting session delete
- delete waiting_session;
- waiting_session = NULL;
+ //waiting session delete
+ delete waiting_session;
+ waiting_session = NULL;
//unload ProtocolModule
if (protomod) {
if (replication::REPLICATION_SINGLE != rep_noconst.get_status()) {
unsigned int rep_size = 0;
replication_header *rep_header_ptr = reinterpret_cast<replication_header *>(
- rep_noconst.pay_memory(REP_AREA_NAME, rep_size));
+ rep_noconst.pay_memory(REP_AREA_NAME, rep_size));
if ((rep_header_ptr == NULL) || (0 == rep_size)) {
err.setter(true, REP_BLOCK_SIZE_ERR_MSG);
Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 6, REP_BLOCK_SIZE_ERR_MSG,
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
replication_status = false;
}
((sizeof(replication_data) * MAX_REPLICATION_DATA_NUM) + sizeof(replication_header))) {
err.setter(true, REP_AREA_SIZE_ERR_MSG);
Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 7, REP_AREA_SIZE_ERR_MSG,
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
replication_status = false;
}
if ((NULL != rep_header_ptr) && (replication_status)) {
{
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format formatter("in_function: void virtualservice_tcp::edit_virtualservice( "
- "const l7vs::virtualservice_element& in,"
- "l7vs::error_code& err ): dump in ");
+ "const l7vs::virtualservice_element& in,"
+ "l7vs::error_code& err ): dump in ");
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 61, formatter.str(), __FILE__, __LINE__);
}
err.setter(true, "Virtual Service does not exist.");
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format formatter("out_function: void virtualservice_tcp::edit_virtualservice( "
- "const l7vs::virtualservice_element& in,"
- "l7vs::error_code& err ): err = %s, err.message = %s");
+ "const l7vs::virtualservice_element& in,"
+ "l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 62, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
if (NULL == schedmod) {
//ERROR case
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 13, SCHEDMOD_LOAD_ERROR_MSG,
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, SCHEDMOD_LOAD_ERROR_MSG);
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format formatter("out_function: "
- "void virtualservice_tcp::edit_virtualservice( "
- "const l7vs::virtualservice_element& in,"
- "l7vs::error_code& err ): err = %s, err.message = %s");
+ "void virtualservice_tcp::edit_virtualservice( "
+ "const l7vs::virtualservice_element& in,"
+ "l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 63, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
if (elem.sorry_endpoint ==
boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("255.255.255.255"), (0))) {
element.sorry_endpoint = boost::asio::ip::tcp::endpoint(
- boost::asio::ip::address::from_string("0.0.0.0"), (0));
+ boost::asio::ip::address::from_string("0.0.0.0"), (0));
element.sorry_maxconnection = 0LL;
element.sorry_flag = false;
active_sessions.do_all(boost::bind(&session_thread_control::session_sorry_disable, _1));
} else {
if (elem.sorry_endpoint != boost::asio::ip::tcp::endpoint(
- boost::asio::ip::address::from_string("0.0.0.0"), (0))) {
+ boost::asio::ip::address::from_string("0.0.0.0"), (0))) {
element.sorry_endpoint = elem.sorry_endpoint;
}
active_sessions.do_all(boost::bind(
- &session_thread_control::session_sorry_mode_change, _1, elem.sorry_flag));
+ &session_thread_control::session_sorry_mode_change, _1, elem.sorry_flag));
}
if (elem.access_log_flag != -1) {
if (elem.access_log_flag == 1 && element.access_log_file_name == "") {
//ERROR case
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 15, SCHEDMOD_LOAD_ERROR_MSG,
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
err.setter(true, "access log flag change err.");
return;
}
element.access_log_flag = elem.access_log_flag;
if (elem.access_log_flag == 1 && access_log_flag == false) {
active_sessions.do_all(boost::bind(
- &session_thread_control::session_accesslog_output_mode_on, _1));
+ &session_thread_control::session_accesslog_output_mode_on, _1));
access_log_flag = true;
} else if (elem.access_log_flag == 0 && access_log_flag == true) {
active_sessions.do_all(boost::bind(
- &session_thread_control::session_accesslog_output_mode_off, _1));
+ &session_thread_control::session_accesslog_output_mode_off, _1));
access_log_flag = false;
}
}
"l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 68, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
"l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 69, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
err.setter(true, "Real Server already exist.");
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format formatter("out_function: "
- "void virtualservice_tcp::add_realserver( "
- "const l7vs::virtualservice_element& in,"
- "l7vs::error_code& err ): err = %s, err.message = %s");
+ "void virtualservice_tcp::add_realserver( "
+ "const l7vs::virtualservice_element& in,"
+ "l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 70,
- formatter.str(), __FILE__, __LINE__);
+ formatter.str(), __FILE__, __LINE__);
}
return;
}
"l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 73, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
err.setter(true, "Real Server does not exist.");
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format formatter("out_function: "
- "void virtualservice_tcp::edit_realserver( "
- "const l7vs::virtualservice_element& in,"
- "l7vs::error_code& err ): err = %s, err.message = %s");
+ "void virtualservice_tcp::edit_realserver( "
+ "const l7vs::virtualservice_element& in,"
+ "l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 74, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
"l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 77, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
"l7vs::error_code& err ): err = %s, err.message = %s");
formatter % (err ? "true" : "false") % err.get_message();
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 78, formatter.str(),
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
}
return;
}
rs_itr != rs_list.end(); ++rs_itr) {
if (itr->tcp_endpoint == rs_itr->tcp_endpoint) {
rs_list.erase(rs_itr);
- active_sessions.do_all( boost::bind( &session_thread_control::session_realserver_remove, _1, rs_itr->tcp_endpoint ) );
+ active_sessions.do_all(boost::bind(&session_thread_control::session_realserver_remove, _1, rs_itr->tcp_endpoint));
break;
}
}
void l7vs::virtualservice_tcp::run()
{
Logger funcLog(LOG_CAT_L7VSD_VIRTUALSERVICE, 80, "function: void virtualservice_tcp::run()",
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
if (pool_sessions.size() == 0) {
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 16, "VirtualService not initialized.",
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
return;
}
boost::asio::socket_base::receive_buffer_size option(8192 * 192);
if (unlikely(err)) {
//ERROR
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 17,
- "socket option(TCP_DEFER_ACCEPT) set failed" , __FILE__, __LINE__);
+ "socket option(TCP_DEFER_ACCEPT) set failed" , __FILE__, __LINE__);
}
}
//start listen
//switch active a session
session_thread_control *stc_ptr;
- do{
- stc_ptr = pool_sessions.pop();
- }
- while( !stc_ptr );
+ do {
+ stc_ptr = pool_sessions.pop();
+ } while (!stc_ptr);
- waiting_session = stc_ptr->get_session().get();
+ waiting_session = stc_ptr->get_session().get();
if (!ssl_virtualservice_mode_flag) {
- acceptor_->async_accept( waiting_session->get_client_socket().get_socket(),
- boost::bind(&virtualservice_tcp::handle_accept, this, stc_ptr,
- boost::asio::placeholders::error));
+ acceptor_->async_accept(waiting_session->get_client_socket().get_socket(),
+ boost::bind(&virtualservice_tcp::handle_accept, this, stc_ptr,
+ boost::asio::placeholders::error));
} else {
- acceptor_->async_accept( waiting_session->get_client_ssl_socket().lowest_layer(),
- boost::bind(&virtualservice_tcp::handle_accept, this, stc_ptr,
- boost::asio::placeholders::error));
+ acceptor_->async_accept(waiting_session->get_client_ssl_socket().lowest_layer(),
+ boost::bind(&virtualservice_tcp::handle_accept, this, stc_ptr,
+ boost::asio::placeholders::error));
}
//register timer event handler
calc_bps_timer->expires_from_now(boost::posix_time::milliseconds(param_data.bps_interval));
//run dispatcher(start io_service loop)
work.reset(new boost::asio::io_service::work(*dispatcher));
- boost::thread_group dispatcher_thread_group;
+ boost::thread_group dispatcher_thread_group;
- for(int i = 0; i < IO_SERVICE_THREADS_NUM; i++){
- dispatcher_thread_group.create_thread(boost::bind(&boost::asio::io_service::run, dispatcher));
- }
+ for (int i = 0; i < IO_SERVICE_THREADS_NUM; i++) {
+ dispatcher_thread_group.create_thread(boost::bind(&boost::asio::io_service::run, dispatcher));
+ }
- //join dispatcher_thread_group when virtualservice_tcp::stop() executed.
- dispatcher_thread_group.join_all();
+ //join dispatcher_thread_group when virtualservice_tcp::stop() executed.
+ dispatcher_thread_group.join_all();
//stop all active sessions
{
void l7vs::virtualservice_tcp::stop()
{
Logger funcLog(LOG_CAT_L7VSD_VIRTUALSERVICE, 81, "function: void virtualservice_tcp::stop()",
- __FILE__, __LINE__);
+ __FILE__, __LINE__);
boost::system::error_code err;
virtualservice_stop_flag++;
//stop main loop
//stop()
- active_sessions.do_all( boost::bind( &session_thread_control::session_pause_off, _1 ) );
- active_sessions.do_all( boost::bind( &session_thread_control::session_stop, _1 ) );
+ active_sessions.do_all(boost::bind(&session_thread_control::session_pause_off, _1));
+ active_sessions.do_all(boost::bind(&session_thread_control::session_stop, _1));
while (active_sessions.size()) {
boost::this_thread::yield();
}
protomod_rep_timer->cancel();
schedmod_rep_timer->cancel();
- work.reset();
+ work.reset();
dispatcher->reset();
- dispatcher->poll();
+ dispatcher->poll();
dispatcher->stop();
}
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 83, "out_function: "
- "void virtualservice_tcp::connection_active()", __FILE__, __LINE__);
+ "void virtualservice_tcp::connection_active()", __FILE__, __LINE__);
}
}
//left session is more than the release threshold
if ((sessionpool_alert_flag == true) &&
- ((pool_sessions.size() + 1 ) > param_data.session_pool_alert_off)) {
+ ((pool_sessions.size() + 1) > param_data.session_pool_alert_off)) {
//create trap message
trapmessage trap_msg;
trap_msg.type = trapmessage::SESSIONPOOL_ALERT_OFF;
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 85, "out_function: "
- "void virtualservice_tcp::connection_inactive()", __FILE__, __LINE__);
+ "void virtualservice_tcp::connection_inactive()", __FILE__, __LINE__);
}
}
session_thread_control *stc_ptr = active_sessions.find(session_ptr);
if (unlikely(NULL == stc_ptr)) {
boost::format fmt("session release fail: "
- "active_sessions.find( const tcp_session* session_ptr = %d )");
+ "active_sessions.find( const tcp_session* session_ptr = %d )");
fmt % session_ptr;
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, /*XXX*/999, fmt.str(), __FILE__, __LINE__);
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 88, "out_function: "
- "void virtualservice_tcp::release_session( "
- "const boost::thread::id thread_id )", __FILE__, __LINE__);
+ "void virtualservice_tcp::release_session( "
+ "const boost::thread::id thread_id )", __FILE__, __LINE__);
}
return;
}
}
active_sessions.erase(session_ptr);
- while( !pool_sessions.push( stc_ptr ) ){}
+ while (!pool_sessions.push(stc_ptr)) {}
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format fmt1("pool_session.size = %d");
//----Debug log----------------------------------------------------------------------
if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) {
boost::format formatter("set_socket_option"
- " defer_accept_opt[%s]"
- " defer_accept_val[%d]"
- " nodelay_opt[%s]"
- " nodelay_val[%s]"
- " cork_opt[%s]"
- " cork_val[%s]"
- " quickack_opt[%s]"
- " quickack_val[%s]");
+ " defer_accept_opt[%s]"
+ " defer_accept_val[%d]"
+ " nodelay_opt[%s]"
+ " nodelay_val[%s]"
+ " cork_opt[%s]"
+ " cork_val[%s]"
+ " quickack_opt[%s]"
+ " quickack_val[%s]");
formatter
- % (defer_accept_opt ? "true" : "false")
- % defer_accept_val
- % (set_sock_opt.nodelay_opt ? "true" : "false")
- % (set_sock_opt.nodelay_val ? "true" : "false")
- % (set_sock_opt.cork_opt ? "true" : "false")
- % (set_sock_opt.cork_val ? "true" : "false")
- % (set_sock_opt.quickack_opt ? "true" : "false")
- % (set_sock_opt.quickack_val ? "true" : "false");
+ % (defer_accept_opt ? "true" : "false")
+ % defer_accept_val
+ % (set_sock_opt.nodelay_opt ? "true" : "false")
+ % (set_sock_opt.nodelay_val ? "true" : "false")
+ % (set_sock_opt.cork_opt ? "true" : "false")
+ % (set_sock_opt.cork_val ? "true" : "false")
+ % (set_sock_opt.quickack_opt ? "true" : "false")
+ % (set_sock_opt.quickack_val ? "true" : "false");
Logger::putLogDebug(LOG_CAT_L7VSD_VIRTUALSERVICE, 97, formatter.str(), __FILE__, __LINE__);
}
//----Debug log----------------------------------------------------------------------
is_session_cache_use = false;
} else {
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 34,
- "Invalid session_cache parameter value.", __FILE__, __LINE__);
+ "Invalid session_cache parameter value.", __FILE__, __LINE__);
throw - 1;
}
ssl_file_name);
if (unlikely(err)) {
Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 20,
- "session_cache_size parameter not found. Use default value.",
- __FILE__, __LINE__);
+ "session_cache_size parameter not found. Use default value.",
+ __FILE__, __LINE__);
session_cache_size = DEFAULT_SSL_SESSION_CACHE_SIZE;
} else if (session_cache_size < 0 ||
session_cache_size > INT_MAX) {
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 35,
- "Invalid session_cache_size parameter value.", __FILE__, __LINE__);
+ "Invalid session_cache_size parameter value.", __FILE__, __LINE__);
throw - 1;
}
// Get parameter "session_cache_timeout".
ssl_file_name);
if (unlikely(err)) {
Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 21,
- "session_cache_timeout parameter not found. Use default value.",
- __FILE__, __LINE__);
+ "session_cache_timeout parameter not found. Use default value.",
+ __FILE__, __LINE__);
session_cache_timeout = DEFAULT_SSL_SESSION_CACHE_TIMEOUT;
} else if (session_cache_timeout < 0 ||
session_cache_timeout > INT_MAX) {
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 36,
- "Invalid session_cache_timeout parameter value.",
- __FILE__, __LINE__);
+ "Invalid session_cache_timeout parameter value.",
+ __FILE__, __LINE__);
throw - 1;
}
} else {
ssl_file_name);
if (unlikely(err)) {
Logger::putLogWarn(LOG_CAT_L7VSD_VIRTUALSERVICE, 22,
- "timeout_sec parameter not found. Use default value.", __FILE__, __LINE__);
+ "timeout_sec parameter not found. Use default value.", __FILE__, __LINE__);
handshake_timeout = DEFAULT_SSL_HANDSHAKE_TIMEOUT;
} else if (handshake_timeout <= 0 || handshake_timeout > INT_MAX) {
Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 37,
- "Invalid timeout_sec parameter value.", __FILE__, __LINE__);
+ "Invalid timeout_sec parameter value.", __FILE__, __LINE__);
throw - 1;
}
using namespace boost::unit_test_framework;
-class command_receiver_test :public l7vs::command_receiver {
+class command_receiver_test : public l7vs::command_receiver
+{
public:
- command_receiver_test( boost::asio::io_service& io,
- const std::string& file,
- l7vs::l7vsd& vsd )
- : l7vs::command_receiver( io, file, vsd ){}
- std::string get_sockfile(){ return sockfile; }
+ command_receiver_test(boost::asio::io_service &io,
+ const std::string &file,
+ l7vs::l7vsd &vsd)
+ : l7vs::command_receiver(io, file, vsd) {}
+ std::string get_sockfile() {
+ return sockfile;
+ }
};
//--tests--
-void client_thread(){
- using boost::asio::local::stream_protocol;
+void client_thread()
+{
+ using boost::asio::local::stream_protocol;
- boost::asio::io_service client_io;
- stream_protocol::socket s( client_io );
- s.connect(stream_protocol::endpoint( SOCKFILE ));
+ boost::asio::io_service client_io;
+ stream_protocol::socket s(client_io);
+ s.connect(stream_protocol::endpoint(SOCKFILE));
- boost::xtime xt;
- xtime_get(&xt, boost::TIME_UTC);
- xt.sec += 1;
- boost::thread::sleep(xt);
+ boost::xtime xt;
+ xtime_get(&xt, boost::TIME_UTC);
+ xt.sec += 1;
+ boost::thread::sleep(xt);
- s.close();
+ s.close();
}
-void server_thread(){
- io.run();
+void server_thread()
+{
+ io.run();
}
-void receiver_test(){
- l7vs::l7vsd vsd;
-
- {
- // sockfile value check
- command_receiver_test receiver( io, SOCKFILE, vsd );
- // unit_test[1] command_receiver_test normal case sockfile value check
- BOOST_CHECK_EQUAL( receiver.get_sockfile(), SOCKFILE );
-
- //start server
- boost::thread sv_thd( &server_thread );
-
- // unit_test[2] command_receiver_test normal case create time session constructor call check
- BOOST_CHECK_EQUAL( l7vs::command_session::constructor_called, 1U );
- // unit_test[3] command_receiver_test normal case create time session::socket call check
- BOOST_CHECK_EQUAL( l7vs::command_session::socket_called, 1U );
-
- // accept and start called
- boost::thread thd1( &client_thread );
- thd1.join();
-
- // unit_test[4] command_receiver_test normal case 1st time accept session constructor call check
- BOOST_CHECK_EQUAL( l7vs::command_session::constructor_called, 2U );
- // unit_test[5] command_receiver_test normal case 1st time accept session::start call check
- BOOST_CHECK_EQUAL( l7vs::command_session::start_called, 1U );
- // unit_test[6] command_receiver_test normal case 1st time accept session::socket call check
- BOOST_CHECK_EQUAL( l7vs::command_session::socket_called, 2U );
-
- // second accept and start called
- boost::thread thd2( &client_thread );
- thd2.join();
-
- // unit_test[7] command_receiver_test normal case 2nd time accept session constructor call check
- BOOST_CHECK_EQUAL( l7vs::command_session::constructor_called, 3U );
- // unit_test[8] command_receiver_test normal case 2nd time accept session::start call check
- BOOST_CHECK_EQUAL( l7vs::command_session::start_called, 2U );
- // unit_test[9] command_receiver_test normal case 2nd time accept session::socket call check
- BOOST_CHECK_EQUAL( l7vs::command_session::socket_called, 3U );
-
- //stop server
- io.stop();
- sv_thd.join();
- }
-
- // unlink file
- boost::filesystem::path socketfile( SOCKFILE );
- // unit_test[10] command_receiver_test normal case socketfile unlink check
- BOOST_CHECK( !boost::filesystem::exists( socketfile ) );
+void receiver_test()
+{
+ l7vs::l7vsd vsd;
+
+ {
+ // sockfile value check
+ command_receiver_test receiver(io, SOCKFILE, vsd);
+ // unit_test[1] command_receiver_test normal case sockfile value check
+ BOOST_CHECK_EQUAL(receiver.get_sockfile(), SOCKFILE);
+
+ //start server
+ boost::thread sv_thd(&server_thread);
+
+ // unit_test[2] command_receiver_test normal case create time session constructor call check
+ BOOST_CHECK_EQUAL(l7vs::command_session::constructor_called, 1U);
+ // unit_test[3] command_receiver_test normal case create time session::socket call check
+ BOOST_CHECK_EQUAL(l7vs::command_session::socket_called, 1U);
+
+ // accept and start called
+ boost::thread thd1(&client_thread);
+ thd1.join();
+
+ // unit_test[4] command_receiver_test normal case 1st time accept session constructor call check
+ BOOST_CHECK_EQUAL(l7vs::command_session::constructor_called, 2U);
+ // unit_test[5] command_receiver_test normal case 1st time accept session::start call check
+ BOOST_CHECK_EQUAL(l7vs::command_session::start_called, 1U);
+ // unit_test[6] command_receiver_test normal case 1st time accept session::socket call check
+ BOOST_CHECK_EQUAL(l7vs::command_session::socket_called, 2U);
+
+ // second accept and start called
+ boost::thread thd2(&client_thread);
+ thd2.join();
+
+ // unit_test[7] command_receiver_test normal case 2nd time accept session constructor call check
+ BOOST_CHECK_EQUAL(l7vs::command_session::constructor_called, 3U);
+ // unit_test[8] command_receiver_test normal case 2nd time accept session::start call check
+ BOOST_CHECK_EQUAL(l7vs::command_session::start_called, 2U);
+ // unit_test[9] command_receiver_test normal case 2nd time accept session::socket call check
+ BOOST_CHECK_EQUAL(l7vs::command_session::socket_called, 3U);
+
+ //stop server
+ io.stop();
+ sv_thd.join();
+ }
+
+ // unlink file
+ boost::filesystem::path socketfile(SOCKFILE);
+ // unit_test[10] command_receiver_test normal case socketfile unlink check
+ BOOST_CHECK(!boost::filesystem::exists(socketfile));
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- test_suite* ts = BOOST_TEST_SUITE( "command_receiver class test" );
+ test_suite *ts = BOOST_TEST_SUITE("command_receiver class test");
- l7vs::Logger logger_instance;
- l7vs::Parameter parameter_instance;
- logger_instance.loadConf();
+ l7vs::Logger logger_instance;
+ l7vs::Parameter parameter_instance;
+ logger_instance.loadConf();
- ts->add( BOOST_TEST_CASE( &receiver_test ) );
+ ts->add(BOOST_TEST_CASE(&receiver_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
#include "error_code.h"
#include "l7vs_command.h"
-namespace l7vs{
+namespace l7vs
+{
class l7vsd;
-class command_session{
+class command_session
+{
public:
- //! unix domain socket typedef
- typedef boost::asio::local::stream_protocol::socket unixsocket_type;
- //! command_handler typedef
- typedef std::map<l7vsadm_request::COMMAND_CODE_TAG, boost::function<void( l7vs::error_code )> > command_handler_map_type;
- //! command code to status code map typedef
- typedef std::map<l7vsadm_request::COMMAND_CODE_TAG, l7vsd_response::COMMAND_RESPONSE_CODE> command_status_map_type;
- //! command_session shared_ptr typedef
- typedef boost::shared_ptr<command_session> command_session_ptr;
+ //! unix domain socket typedef
+ typedef boost::asio::local::stream_protocol::socket unixsocket_type;
+ //! command_handler typedef
+ typedef std::map<l7vsadm_request::COMMAND_CODE_TAG, boost::function<void(l7vs::error_code)> > command_handler_map_type;
+ //! command code to status code map typedef
+ typedef std::map<l7vsadm_request::COMMAND_CODE_TAG, l7vsd_response::COMMAND_RESPONSE_CODE> command_status_map_type;
+ //! command_session shared_ptr typedef
+ typedef boost::shared_ptr<command_session> command_session_ptr;
- //! unix domain socket
- unixsocket_type unixsocket;
+ //! unix domain socket
+ unixsocket_type unixsocket;
- //! l7vsd refferecne
- l7vsd& vsd;
+ //! l7vsd refferecne
+ l7vsd &vsd;
- static unsigned int constructor_called;
- static unsigned int start_called;
- static unsigned int socket_called;
+ static unsigned int constructor_called;
+ static unsigned int start_called;
+ static unsigned int socket_called;
public:
- command_session( boost::asio::io_service& io_service, l7vsd& parent )
- : unixsocket( io_service ),
- vsd( parent)
- {
- ++constructor_called;
- }
-
- //! @brief return unixsocket
- unixsocket_type& socket()
- {
- ++socket_called;
- return unixsocket;
- }
-
- void start()
- {
- ++start_called;
- }
+ command_session(boost::asio::io_service &io_service, l7vsd &parent)
+ : unixsocket(io_service),
+ vsd(parent) {
+ ++constructor_called;
+ }
+
+ //! @brief return unixsocket
+ unixsocket_type &socket() {
+ ++socket_called;
+ return unixsocket;
+ }
+
+ void start() {
+ ++start_called;
+ }
};
} //namespace l7vs
#ifndef L7VSD_H
#define L7VSD_H
-namespace l7vs{
-class l7vsd{
+namespace l7vs
+{
+class l7vsd
+{
};
} //namespace l7vs
#include "command_session_stub.h"
-namespace l7vs{
+namespace l7vs
+{
// command_session
unsigned int command_session::constructor_called(0);
unsigned int command_session::start_called(0);
// class command_session_test :public l7vs::command_session {
// public:
-//
+//
// };
//variable
//--tests--
-void server_thread(){
- //std::cout << "sv_sta" << std::endl;
- io.run();
- //std::cout << "sv_end" << std::endl;
+void server_thread()
+{
+ //std::cout << "sv_sta" << std::endl;
+ io.run();
+ //std::cout << "sv_end" << std::endl;
}
-void client_thread( l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd ){
- using boost::asio::local::stream_protocol;
+void client_thread(l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd)
+{
+ using boost::asio::local::stream_protocol;
- boost::array<char,65535> buf;
+ boost::array<char, 65535> buf;
- // accept
- boost::asio::io_service client_io;
- stream_protocol::acceptor acc( client_io, stream_protocol::endpoint( SOCKFILE ) );
- stream_protocol::socket s( client_io );
- //std::cout << "accept" << std::endl;
- acc.accept( s );
+ // accept
+ boost::asio::io_service client_io;
+ stream_protocol::acceptor acc(client_io, stream_protocol::endpoint(SOCKFILE));
+ stream_protocol::socket s(client_io);
+ //std::cout << "accept" << std::endl;
+ acc.accept(s);
// // wait
// boost::xtime xt;
// xt.sec += 1;
// boost::thread::sleep(xt);
- // create request
- request.command = cmd;
+ // create request
+ request.command = cmd;
- std::stringstream send_stream;
- boost::archive::text_oarchive oa( send_stream );
- oa << (const l7vs::l7vsadm_request&) request;
+ std::stringstream send_stream;
+ boost::archive::text_oarchive oa(send_stream);
+ oa << (const l7vs::l7vsadm_request &) request;
- // send request
- //std::cout << "write" << std::endl;
- boost::asio::write( s, boost::asio::buffer( send_stream.str() ) );
+ // send request
+ //std::cout << "write" << std::endl;
+ boost::asio::write(s, boost::asio::buffer(send_stream.str()));
- // recv response
- //std::cout << "recv" << std::endl;
- s.read_some( boost::asio::buffer( buf ) );
-
- std::stringstream recv_stream;
- recv_stream << &(buf[0]);
- boost::archive::text_iarchive ia( recv_stream );
- //l7vs::l7vsd_response response;
- ia >> response;
+ // recv response
+ //std::cout << "recv" << std::endl;
+ s.read_some(boost::asio::buffer(buf));
- s.close();
+ std::stringstream recv_stream;
+ recv_stream << &(buf[0]);
+ boost::archive::text_iarchive ia(recv_stream);
+ //l7vs::l7vsd_response response;
+ ia >> response;
- //std::cout << "unlink" << std::endl;
- unlink( SOCKFILE );
+ s.close();
+
+ //std::cout << "unlink" << std::endl;
+ unlink(SOCKFILE);
}
-void server_proc( l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd ){
- l7vs::l7vsd vsd;
- using boost::asio::local::stream_protocol;
+void server_proc(l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd)
+{
+ l7vs::l7vsd vsd;
+ using boost::asio::local::stream_protocol;
- // create client thread
- boost::thread cl_thd( boost::bind( &client_thread, cmd) );
+ // create client thread
+ boost::thread cl_thd(boost::bind(&client_thread, cmd));
- // prepare accept wait
- boost::xtime xt;
- xtime_get(&xt, boost::TIME_UTC);
- xt.sec += 1;
- boost::thread::sleep(xt);
+ // prepare accept wait
+ boost::xtime xt;
+ xtime_get(&xt, boost::TIME_UTC);
+ xt.sec += 1;
+ boost::thread::sleep(xt);
- // create session
- l7vs::command_session::command_session_ptr session( new l7vs::command_session( io, vsd ) );
+ // create session
+ l7vs::command_session::command_session_ptr session(new l7vs::command_session(io, vsd));
- // connect
- session->socket().connect(stream_protocol::endpoint( SOCKFILE ));
- session->start();
+ // connect
+ session->socket().connect(stream_protocol::endpoint(SOCKFILE));
+ session->start();
- // create server thread
- io.reset();
- boost::thread sv_thd( &server_thread );
+ // create server thread
+ io.reset();
+ boost::thread sv_thd(&server_thread);
- // client thread join
- cl_thd.join();
+ // client thread join
+ cl_thd.join();
- //stop server
- io.stop();
- sv_thd.join();
+ //stop server
+ io.stop();
+ sv_thd.join();
}
-void listvs_test(){
-
- // CMD_LIST normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::list_vs_called = false;
- l7vs::l7vsd::list_vs_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
-
- //execute
- server_proc( cmd );
-
- // unit_test[1] command_session_test normal case CMD_LIST response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[2] command_session_test normal case CMD_LIST vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::list_vs_called, true );
- }
-
- // CMD_LIST error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::list_vs_called = false;
- l7vs::l7vsd::list_vs_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
-
- //execute
- server_proc( cmd );
-
- // unit_test[3] command_session_test error case CMD_LIST response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_LIST_ERROR );
- // unit_test[4] command_session_test error case CMD_LIST vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::list_vs_called, true );
- }
+void listvs_test()
+{
+
+ // CMD_LIST normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::list_vs_called = false;
+ l7vs::l7vsd::list_vs_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[1] command_session_test normal case CMD_LIST response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[2] command_session_test normal case CMD_LIST vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::list_vs_called, true);
+ }
+
+ // CMD_LIST error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::list_vs_called = false;
+ l7vs::l7vsd::list_vs_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[3] command_session_test error case CMD_LIST response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_LIST_ERROR);
+ // unit_test[4] command_session_test error case CMD_LIST vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::list_vs_called, true);
+ }
}
-void listvs_verbose_test(){
-
- // CMD_LIST_VERBOSE normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::list_vs_v_called = false;
- l7vs::l7vsd::list_vs_v_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST_VERBOSE;
-
- //execute
- server_proc( cmd );
-
- // unit_test[5] command_session_test normal case CMD_LIST_VERBOSE response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[6] command_session_test normal case CMD_LIST_VERBOSE vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::list_vs_called, true );
- }
-
- // CMD_LIST_VERBOSE error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::list_vs_v_called = false;
- l7vs::l7vsd::list_vs_v_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST_VERBOSE;
-
- //execute
- server_proc( cmd );
-
- // unit_test[7] command_session_test error case CMD_LIST_VERBOSE response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_LIST_VERBOSE_ERROR );
- // unit_test[8] command_session_test error case CMD_LIST_VERBOSE vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::list_vs_v_called, true );
- }
+void listvs_verbose_test()
+{
+
+ // CMD_LIST_VERBOSE normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::list_vs_v_called = false;
+ l7vs::l7vsd::list_vs_v_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST_VERBOSE;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[5] command_session_test normal case CMD_LIST_VERBOSE response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[6] command_session_test normal case CMD_LIST_VERBOSE vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::list_vs_called, true);
+ }
+
+ // CMD_LIST_VERBOSE error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::list_vs_v_called = false;
+ l7vs::l7vsd::list_vs_v_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST_VERBOSE;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[7] command_session_test error case CMD_LIST_VERBOSE response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_LIST_VERBOSE_ERROR);
+ // unit_test[8] command_session_test error case CMD_LIST_VERBOSE vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::list_vs_v_called, true);
+ }
}
-void listvs_key_test(){
-
- // CMD_LIST_KEY normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::list_vs_called = false;
- l7vs::l7vsd::list_vs_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST_KEY;
-
- //execute
- server_proc( cmd );
-
- // unit_test[9] command_session_test normal case CMD_LIST_KEY response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[10] command_session_test normal case CMD_LIST_KEY vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::list_vs_called, true );
- }
-
- // CMD_LIST_KEY error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::list_vs_called = false;
- l7vs::l7vsd::list_vs_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST_KEY;
-
- //execute
- server_proc( cmd );
-
- // unit_test[11] command_session_test error case CMD_LIST_KEY response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_LIST_KEY_ERROR );
- // unit_test[12] command_session_test error case CMD_LIST_KEY vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::list_vs_called, true );
- }
+void listvs_key_test()
+{
+
+ // CMD_LIST_KEY normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::list_vs_called = false;
+ l7vs::l7vsd::list_vs_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST_KEY;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[9] command_session_test normal case CMD_LIST_KEY response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[10] command_session_test normal case CMD_LIST_KEY vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::list_vs_called, true);
+ }
+
+ // CMD_LIST_KEY error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::list_vs_called = false;
+ l7vs::l7vsd::list_vs_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST_KEY;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[11] command_session_test error case CMD_LIST_KEY response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_LIST_KEY_ERROR);
+ // unit_test[12] command_session_test error case CMD_LIST_KEY vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::list_vs_called, true);
+ }
}
-void addvs_test(){
-
- // CMD_ADD_VS normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::add_vs_called = false;
- l7vs::l7vsd::add_vs_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[13] command_session_test normal case CMD_ADD_VS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[14] command_session_test normal case CMD_ADD_VS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::add_vs_called, true );
- }
-
- // CMD_ADD_VS error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::add_vs_called = false;
- l7vs::l7vsd::add_vs_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[15] command_session_test error case CMD_ADD_VS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_ADD_VS_ERROR );
- // unit_test[16] command_session_test error case CMD_ADD_VS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::add_vs_called, true );
- }
+void addvs_test()
+{
+
+ // CMD_ADD_VS normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::add_vs_called = false;
+ l7vs::l7vsd::add_vs_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[13] command_session_test normal case CMD_ADD_VS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[14] command_session_test normal case CMD_ADD_VS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::add_vs_called, true);
+ }
+
+ // CMD_ADD_VS error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::add_vs_called = false;
+ l7vs::l7vsd::add_vs_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[15] command_session_test error case CMD_ADD_VS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_ADD_VS_ERROR);
+ // unit_test[16] command_session_test error case CMD_ADD_VS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::add_vs_called, true);
+ }
}
-void delvs_test(){
-
- // CMD_DEL_VS normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::del_vs_called = false;
- l7vs::l7vsd::del_vs_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_VS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[17] command_session_test normal case CMD_DEL_VS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[18] command_session_test normal case CMD_DEL_VS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::del_vs_called, true );
- }
-
- // CMD_DEL_VS error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::del_vs_called = false;
- l7vs::l7vsd::del_vs_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_VS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[19] command_session_test error case CMD_DEL_VS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_DEL_VS_ERROR );
- // unit_test[20] command_session_test error case CMD_DEL_VS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::del_vs_called, true );
- }
+void delvs_test()
+{
+
+ // CMD_DEL_VS normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::del_vs_called = false;
+ l7vs::l7vsd::del_vs_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_VS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[17] command_session_test normal case CMD_DEL_VS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[18] command_session_test normal case CMD_DEL_VS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::del_vs_called, true);
+ }
+
+ // CMD_DEL_VS error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::del_vs_called = false;
+ l7vs::l7vsd::del_vs_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_VS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[19] command_session_test error case CMD_DEL_VS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_DEL_VS_ERROR);
+ // unit_test[20] command_session_test error case CMD_DEL_VS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::del_vs_called, true);
+ }
}
-void editvs_test(){
-
- // CMD_EDIT_VS normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::edit_vs_called = false;
- l7vs::l7vsd::edit_vs_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_VS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[21] command_session_test normal case CMD_EDIT_VS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[22] command_session_test normal case CMD_EDIT_VS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::edit_vs_called, true );
- }
-
- // CMD_EDIT_VS error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::edit_vs_called = false;
- l7vs::l7vsd::edit_vs_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_VS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[23] command_session_test error case CMD_EDIT_VS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_EDIT_VS_ERROR );
- // unit_test[24] command_session_test error case CMD_EDIT_VS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::edit_vs_called, true );
- }
+void editvs_test()
+{
+
+ // CMD_EDIT_VS normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::edit_vs_called = false;
+ l7vs::l7vsd::edit_vs_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_VS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[21] command_session_test normal case CMD_EDIT_VS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[22] command_session_test normal case CMD_EDIT_VS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::edit_vs_called, true);
+ }
+
+ // CMD_EDIT_VS error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::edit_vs_called = false;
+ l7vs::l7vsd::edit_vs_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_VS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[23] command_session_test error case CMD_EDIT_VS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_EDIT_VS_ERROR);
+ // unit_test[24] command_session_test error case CMD_EDIT_VS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::edit_vs_called, true);
+ }
}
-void addrs_test(){
+void addrs_test()
+{
- // CMD_ADD_RS normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::add_rs_called = false;
- l7vs::l7vsd::add_rs_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
+ // CMD_ADD_RS normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::add_rs_called = false;
+ l7vs::l7vsd::add_rs_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
- //execute
- server_proc( cmd );
+ //execute
+ server_proc(cmd);
- // unit_test[25] command_session_test normal case CMD_ADD_RS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[26] command_session_test normal case CMD_ADD_RS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::add_rs_called, true );
- }
+ // unit_test[25] command_session_test normal case CMD_ADD_RS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[26] command_session_test normal case CMD_ADD_RS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::add_rs_called, true);
+ }
- // CMD_ADD_RS error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::add_rs_called = false;
- l7vs::l7vsd::add_rs_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
+ // CMD_ADD_RS error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::add_rs_called = false;
+ l7vs::l7vsd::add_rs_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
- //execute
- server_proc( cmd );
+ //execute
+ server_proc(cmd);
- // unit_test[27] command_session_test error case CMD_ADD_RS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_ADD_RS_ERROR );
- // unit_test[28] command_session_test error case CMD_ADD_RS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::add_rs_called, true );
- }
+ // unit_test[27] command_session_test error case CMD_ADD_RS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_ADD_RS_ERROR);
+ // unit_test[28] command_session_test error case CMD_ADD_RS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::add_rs_called, true);
+ }
}
-void delrs_test(){
-
- // CMD_DEL_RS normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::del_rs_called = false;
- l7vs::l7vsd::del_rs_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_RS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[29] command_session_test normal case CMD_DEL_RS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[30] command_session_test normal case CMD_DEL_RS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::del_rs_called, true );
- }
-
- // CMD_DEL_RS error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::del_rs_called = false;
- l7vs::l7vsd::del_rs_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_RS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[31] command_session_test error case CMD_DEL_RS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_DEL_RS_ERROR );
- // unit_test[32] command_session_test error case CMD_DEL_RS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::del_rs_called, true );
- }
+void delrs_test()
+{
+
+ // CMD_DEL_RS normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::del_rs_called = false;
+ l7vs::l7vsd::del_rs_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_RS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[29] command_session_test normal case CMD_DEL_RS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[30] command_session_test normal case CMD_DEL_RS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::del_rs_called, true);
+ }
+
+ // CMD_DEL_RS error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::del_rs_called = false;
+ l7vs::l7vsd::del_rs_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_RS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[31] command_session_test error case CMD_DEL_RS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_DEL_RS_ERROR);
+ // unit_test[32] command_session_test error case CMD_DEL_RS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::del_rs_called, true);
+ }
}
-void editrs_test(){
-
- // CMD_EDIT_RS normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::edit_rs_called = false;
- l7vs::l7vsd::edit_rs_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_RS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[33] command_session_test normal case CMD_EDIT_RS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[34] command_session_test normal case CMD_EDIT_RS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::edit_rs_called, true );
- }
-
- // CMD_EDIT_RS error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::edit_rs_called = false;
- l7vs::l7vsd::edit_rs_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_RS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[35] command_session_test error case CMD_EDIT_RS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_EDIT_RS_ERROR );
- // unit_test[36] command_session_test error case CMD_EDIT_RS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::edit_rs_called, true );
- }
+void editrs_test()
+{
+
+ // CMD_EDIT_RS normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::edit_rs_called = false;
+ l7vs::l7vsd::edit_rs_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_RS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[33] command_session_test normal case CMD_EDIT_RS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[34] command_session_test normal case CMD_EDIT_RS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::edit_rs_called, true);
+ }
+
+ // CMD_EDIT_RS error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::edit_rs_called = false;
+ l7vs::l7vsd::edit_rs_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_RS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[35] command_session_test error case CMD_EDIT_RS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_EDIT_RS_ERROR);
+ // unit_test[36] command_session_test error case CMD_EDIT_RS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::edit_rs_called, true);
+ }
}
-void flushvs_test(){
-
- // CMD_FLUSH_VS normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::flush_vs_called = false;
- l7vs::l7vsd::flush_vs_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_FLUSH_VS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[37] command_session_test normal case CMD_FLUSH_VS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[38] command_session_test normal case CMD_FLUSH_VS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::flush_vs_called, true );
- }
-
- // CMD_FLUSH_VS error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::flush_vs_called = false;
- l7vs::l7vsd::flush_vs_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_FLUSH_VS;
-
- //execute
- server_proc( cmd );
-
- // unit_test[39] command_session_test error case CMD_FLUSH_VS response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_FLUSH_VS_ERROR );
- // unit_test[40] command_session_test error case CMD_FLUSH_VS vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::flush_vs_called, true );
- }
+void flushvs_test()
+{
+
+ // CMD_FLUSH_VS normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::flush_vs_called = false;
+ l7vs::l7vsd::flush_vs_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_FLUSH_VS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[37] command_session_test normal case CMD_FLUSH_VS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[38] command_session_test normal case CMD_FLUSH_VS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::flush_vs_called, true);
+ }
+
+ // CMD_FLUSH_VS error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::flush_vs_called = false;
+ l7vs::l7vsd::flush_vs_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_FLUSH_VS;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[39] command_session_test error case CMD_FLUSH_VS response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_FLUSH_VS_ERROR);
+ // unit_test[40] command_session_test error case CMD_FLUSH_VS vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::flush_vs_called, true);
+ }
}
-void replication_test(){
-
- // CMD_REPLICATION normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::rep_cmd_called = false;
- l7vs::l7vsd::rep_cmd_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
-
- //execute
- server_proc( cmd );
-
- // unit_test[41] command_session_test normal case CMD_REPLICATION response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[42] command_session_test normal case CMD_REPLICATION vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::rep_cmd_called, true );
- }
-
- // CMD_REPLICATION error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::rep_cmd_called = false;
- l7vs::l7vsd::rep_cmd_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
-
- //execute
- server_proc( cmd );
-
- // unit_test[43] command_session_test error case CMD_REPLICATION response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_REPLICATION_ERROR );
- // unit_test[44] command_session_test error case CMD_REPLICATION vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::rep_cmd_called, true );
- }
+void replication_test()
+{
+
+ // CMD_REPLICATION normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::rep_cmd_called = false;
+ l7vs::l7vsd::rep_cmd_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[41] command_session_test normal case CMD_REPLICATION response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[42] command_session_test normal case CMD_REPLICATION vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::rep_cmd_called, true);
+ }
+
+ // CMD_REPLICATION error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::rep_cmd_called = false;
+ l7vs::l7vsd::rep_cmd_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[43] command_session_test error case CMD_REPLICATION response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_REPLICATION_ERROR);
+ // unit_test[44] command_session_test error case CMD_REPLICATION vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::rep_cmd_called, true);
+ }
}
-void log_test(){
-
- // CMD_LOG normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::set_loglevel_called = false;
- l7vs::l7vsd::set_loglevel_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LOG;
-
- //execute
- server_proc( cmd );
-
- // unit_test[45] command_session_test normal case CMD_LOG response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[46] command_session_test normal case CMD_LOG vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::set_loglevel_called, true );
- }
-
- // CMD_LOG error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::set_loglevel_called = false;
- l7vs::l7vsd::set_loglevel_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LOG;
-
- //execute
- server_proc( cmd );
-
- // unit_test[47] command_session_test error case CMD_LOG response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_LOG_ERROR );
- // unit_test[48] command_session_test error case CMD_LOG vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::set_loglevel_called, true );
- }
+void log_test()
+{
+
+ // CMD_LOG normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::set_loglevel_called = false;
+ l7vs::l7vsd::set_loglevel_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LOG;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[45] command_session_test normal case CMD_LOG response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[46] command_session_test normal case CMD_LOG vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::set_loglevel_called, true);
+ }
+
+ // CMD_LOG error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::set_loglevel_called = false;
+ l7vs::l7vsd::set_loglevel_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LOG;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[47] command_session_test error case CMD_LOG response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_LOG_ERROR);
+ // unit_test[48] command_session_test error case CMD_LOG vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::set_loglevel_called, true);
+ }
}
-void snmp_test(){
-
- // CMD_SNMP normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::snmp_set_loglevel_called = false;
- l7vs::l7vsd::snmp_set_loglevel_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_SNMP;
-
- //execute
- server_proc( cmd );
-
- // unit_test[49] command_session_test normal case CMD_SNMP response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[50] command_session_test normal case CMD_SNMP vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::snmp_set_loglevel_called, true );
- }
-
- // CMD_SNMP error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::snmp_set_loglevel_called = false;
- l7vs::l7vsd::snmp_set_loglevel_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_SNMP;
-
- //execute
- server_proc( cmd );
-
- // unit_test[51] command_session_test error case CMD_SNMP response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_SNMP_ERROR );
- // unit_test[52] command_session_test error case CMD_SNMP vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::snmp_set_loglevel_called, true );
- }
+void snmp_test()
+{
+
+ // CMD_SNMP normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::snmp_set_loglevel_called = false;
+ l7vs::l7vsd::snmp_set_loglevel_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_SNMP;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[49] command_session_test normal case CMD_SNMP response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[50] command_session_test normal case CMD_SNMP vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::snmp_set_loglevel_called, true);
+ }
+
+ // CMD_SNMP error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::snmp_set_loglevel_called = false;
+ l7vs::l7vsd::snmp_set_loglevel_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_SNMP;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[51] command_session_test error case CMD_SNMP response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_SNMP_ERROR);
+ // unit_test[52] command_session_test error case CMD_SNMP vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::snmp_set_loglevel_called, true);
+ }
}
-void param_test(){
-
- // CMD_PARAMETER normal case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::param_called = false;
- l7vs::l7vsd::param_fail = false;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_PARAMETER;
-
- //execute
- server_proc( cmd );
-
- // unit_test[53] command_session_test normal case CMD_PARAMETER response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_OK );
- // unit_test[54] command_session_test normal case CMD_PARAMETER vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::param_called, true );
- }
-
- // CMD_PARAMETER error case
- {
- // init
- response.status = l7vs::l7vsd_response::RESPONSE_NONE;
- l7vs::l7vsd::param_called = false;
- l7vs::l7vsd::param_fail = true;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_PARAMETER;
-
- //execute
- server_proc( cmd );
-
- // unit_test[55] command_session_test error case CMD_PARAMETER response check
- BOOST_CHECK_EQUAL( response.status, l7vs::l7vsd_response::RESPONSE_PARAMETER_ERROR );
- // unit_test[56] command_session_test error case CMD_PARAMETER vsd_method call check
- BOOST_CHECK_EQUAL( l7vs::l7vsd::param_called, true );
- }
+void param_test()
+{
+
+ // CMD_PARAMETER normal case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::param_called = false;
+ l7vs::l7vsd::param_fail = false;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_PARAMETER;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[53] command_session_test normal case CMD_PARAMETER response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_OK);
+ // unit_test[54] command_session_test normal case CMD_PARAMETER vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::param_called, true);
+ }
+
+ // CMD_PARAMETER error case
+ {
+ // init
+ response.status = l7vs::l7vsd_response::RESPONSE_NONE;
+ l7vs::l7vsd::param_called = false;
+ l7vs::l7vsd::param_fail = true;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_PARAMETER;
+
+ //execute
+ server_proc(cmd);
+
+ // unit_test[55] command_session_test error case CMD_PARAMETER response check
+ BOOST_CHECK_EQUAL(response.status, l7vs::l7vsd_response::RESPONSE_PARAMETER_ERROR);
+ // unit_test[56] command_session_test error case CMD_PARAMETER vsd_method call check
+ BOOST_CHECK_EQUAL(l7vs::l7vsd::param_called, true);
+ }
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- test_suite* ts = BOOST_TEST_SUITE( "command_session class test" );
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ test_suite *ts = BOOST_TEST_SUITE("command_session class test");
- l7vs::Logger logger;
- l7vs::Parameter parameter;
- logger.loadConf();
+ l7vs::Logger logger;
+ l7vs::Parameter parameter;
+ logger.loadConf();
- ts->add( BOOST_TEST_CASE( &listvs_test ) );
- ts->add( BOOST_TEST_CASE( &listvs_verbose_test ) );
- ts->add( BOOST_TEST_CASE( &listvs_key_test ) );
+ ts->add(BOOST_TEST_CASE(&listvs_test));
+ ts->add(BOOST_TEST_CASE(&listvs_verbose_test));
+ ts->add(BOOST_TEST_CASE(&listvs_key_test));
- ts->add( BOOST_TEST_CASE( &addvs_test ) );
- ts->add( BOOST_TEST_CASE( &delvs_test ) );
- ts->add( BOOST_TEST_CASE( &editvs_test ) );
+ ts->add(BOOST_TEST_CASE(&addvs_test));
+ ts->add(BOOST_TEST_CASE(&delvs_test));
+ ts->add(BOOST_TEST_CASE(&editvs_test));
- ts->add( BOOST_TEST_CASE( &addrs_test ) );
- ts->add( BOOST_TEST_CASE( &delrs_test ) );
- ts->add( BOOST_TEST_CASE( &editrs_test ) );
+ ts->add(BOOST_TEST_CASE(&addrs_test));
+ ts->add(BOOST_TEST_CASE(&delrs_test));
+ ts->add(BOOST_TEST_CASE(&editrs_test));
- ts->add( BOOST_TEST_CASE( &flushvs_test ) );
+ ts->add(BOOST_TEST_CASE(&flushvs_test));
- ts->add( BOOST_TEST_CASE( &replication_test ) );
- ts->add( BOOST_TEST_CASE( &log_test ) );
- ts->add( BOOST_TEST_CASE( &snmp_test ) );
- ts->add( BOOST_TEST_CASE( ¶m_test ) );
+ ts->add(BOOST_TEST_CASE(&replication_test));
+ ts->add(BOOST_TEST_CASE(&log_test));
+ ts->add(BOOST_TEST_CASE(&snmp_test));
+ ts->add(BOOST_TEST_CASE(¶m_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
#include "replication_stub.h"
#include "l7vsd_stub.h"
-namespace l7vs{
+namespace l7vs
+{
// l7vsd
bool l7vsd::list_vs_called(false);
bool l7vsd::list_vs_v_called(false);
//--tests--
-void io_thread(){
- //std::cout << "run_start" << std::endl;
- server_io.run();
- //std::cout << "run_end" << std::endl;
+void io_thread()
+{
+ //std::cout << "run_start" << std::endl;
+ server_io.run();
+ //std::cout << "run_end" << std::endl;
}
-void cl_thread( l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd ){
- using boost::asio::local::stream_protocol;
-
- boost::array<char,65535> buf;
-
- boost::asio::io_service client_io;
- stream_protocol::socket s( client_io );
-
- for(unsigned int i = 0; i < 10000; ++i){
- s.connect(stream_protocol::endpoint( SOCKFILE ));
- //std::cout << "connected" << std::endl;
-
- l7vs::l7vsadm_request request;
- request.command = cmd;
- //std::cout << "request_created" << std::endl;
-
- std::stringstream send_stream;
- boost::archive::text_oarchive oa( send_stream );
- oa << (const l7vs::l7vsadm_request&) request;
- //std::cout << "write data is " << send_stream.str() << std::endl;
-
- //std::cout << "send" << std::endl;
- boost::asio::write( s, boost::asio::buffer( send_stream.str() ) );
-
- //std::cout << "recv" << std::endl;
- s.read_some( boost::asio::buffer( buf ) );
-
- std::stringstream recv_stream;
- recv_stream << &(buf[0]);
- boost::archive::text_iarchive ia( recv_stream );
- l7vs::l7vsd_response response;
- ia >> response;
-
- // error count
- if(response.status != l7vs::l7vsd_response::RESPONSE_OK){
- ++error_num_map[cmd];
+void cl_thread(l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd)
+{
+ using boost::asio::local::stream_protocol;
+
+ boost::array<char, 65535> buf;
+
+ boost::asio::io_service client_io;
+ stream_protocol::socket s(client_io);
+
+ for (unsigned int i = 0; i < 10000; ++i) {
+ s.connect(stream_protocol::endpoint(SOCKFILE));
+ //std::cout << "connected" << std::endl;
+
+ l7vs::l7vsadm_request request;
+ request.command = cmd;
+ //std::cout << "request_created" << std::endl;
+
+ std::stringstream send_stream;
+ boost::archive::text_oarchive oa(send_stream);
+ oa << (const l7vs::l7vsadm_request &) request;
+ //std::cout << "write data is " << send_stream.str() << std::endl;
+
+ //std::cout << "send" << std::endl;
+ boost::asio::write(s, boost::asio::buffer(send_stream.str()));
+
+ //std::cout << "recv" << std::endl;
+ s.read_some(boost::asio::buffer(buf));
+
+ std::stringstream recv_stream;
+ recv_stream << &(buf[0]);
+ boost::archive::text_iarchive ia(recv_stream);
+ l7vs::l7vsd_response response;
+ ia >> response;
+
+ // error count
+ if (response.status != l7vs::l7vsd_response::RESPONSE_OK) {
+ ++error_num_map[cmd];
+ }
+ // close
+ s.close();
}
- // close
- s.close();
- }
}
-void thread_test(){
- BOOST_MESSAGE( "----- thread_test start -----" );
-
- l7vs::l7vsd vsd;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd.set_replication( rep );
-
- l7vs::command_receiver receiver( server_io, SOCKFILE, vsd );
-
- // io thread start
- //boost::thread io_thd( &io_thread );
- boost::thread_group tg;
- for(unsigned int i = 0; i < 100; ++i){
- tg.create_thread( &io_thread );
- }
-
- // client thread start
- boost::thread cl_thd1( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_LIST ) );
- boost::thread cl_thd2( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_LIST_VERBOSE ) );
- boost::thread cl_thd3( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_LIST_KEY ) );
- boost::thread cl_thd4( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_ADD_VS ) );
- boost::thread cl_thd5( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_DEL_VS ) );
- boost::thread cl_thd6( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_EDIT_VS ) );
- boost::thread cl_thd7( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_FLUSH_VS ) );
- boost::thread cl_thd8( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_ADD_RS ) );
- boost::thread cl_thd9( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_DEL_RS ) );
- boost::thread cl_thd10( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_EDIT_RS ) );
- boost::thread cl_thd11( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_REPLICATION ) );
- boost::thread cl_thd12( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_LOG ) );
- boost::thread cl_thd13( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_SNMP ) );
- boost::thread cl_thd14( boost::bind( &cl_thread, l7vs::l7vsadm_request::CMD_PARAMETER ) );
-
- cl_thd1.join();
- cl_thd2.join();
- cl_thd3.join();
- cl_thd4.join();
- cl_thd5.join();
- cl_thd6.join();
- cl_thd7.join();
- cl_thd8.join();
- cl_thd9.join();
- cl_thd10.join();
- cl_thd11.join();
- cl_thd12.join();
- cl_thd13.join();
- cl_thd14.join();
-
- // io thread stop
- //std::cout << "io_service_stop" << std::endl;
- server_io.stop();
-
- //std::cout << "join" << std::endl;
- //io_thd.join();
- tg.join_all();
-
- // check call and error num
- // unit_test[1] command_receiver_test thread case CMD_LIST callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_LIST], 20000U );
- // unit_test[2] command_receiver_test thread case CMD_LIST errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_LIST], 0U );
-
- // unit_test[3] command_receiver_test thread case CMD_LIST_VERBOSE callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_LIST_VERBOSE], 10000U );
- // unit_test[4] command_receiver_test thread case CMD_LIST_VERBOSE errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_LIST_VERBOSE], 0U );
-
- // unit_test[5] command_receiver_test thread case CMD_ADD_VS callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_ADD_VS], 10000U );
- // unit_test[6] command_receiver_test thread case CMD_ADD_VS errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_ADD_VS], 0U );
-
- // unit_test[7] command_receiver_test thread case CMD_DEL_VS callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_DEL_VS], 10000U );
- // unit_test[8] command_receiver_test thread case CMD_DEL_VS errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_DEL_VS], 0U );
-
- // unit_test[9] command_receiver_test thread case CMD_EDIT_VS callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_EDIT_VS], 10000U );
- // unit_test[10] command_receiver_test thread case CMD_EDIT_VS errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_EDIT_VS], 0U );
-
- // unit_test[11] command_receiver_test thread case CMD_FLUSH_VS callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_FLUSH_VS], 10000U );
- // unit_test[12] command_receiver_test thread case CMD_FLUSH_VS errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_FLUSH_VS], 0U );
-
- // unit_test[13] command_receiver_test thread case CMD_ADD_RS callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_ADD_RS], 10000U );
- // unit_test[14] command_receiver_test thread case CMD_ADD_RS errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_ADD_RS], 0U );
-
- // unit_test[15] command_receiver_test thread case CMD_DEL_RS callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_DEL_RS], 10000U );
- // unit_test[16] command_receiver_test thread case CMD_DEL_RS errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_DEL_RS], 0U );
-
- // unit_test[17] command_receiver_test thread case CMD_EDIT_RS callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_EDIT_RS], 10000U );
- // unit_test[18] command_receiver_test thread case CMD_EDIT_RS errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_EDIT_RS], 0U );
-
- // unit_test[19] command_receiver_test thread case CMD_REPLICATION callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_REPLICATION], 10000U );
- // unit_test[20] command_receiver_test thread case CMD_REPLICATION errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_REPLICATION], 0U );
-
- // unit_test[21] command_receiver_test thread case CMD_LOG callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_LOG], 10000U );
- // unit_test[22] command_receiver_test thread case CMD_LOG errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_LOG], 0U );
-
- // unit_test[23] command_receiver_test thread case CMD_SNMP callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_SNMP], 10000U );
- // unit_test[24] command_receiver_test thread case CMD_SNMP errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_SNMP], 0U );
-
- // unit_test[25] command_receiver_test thread case CMD_PARAMETER callnum check
- BOOST_CHECK_EQUAL( vsd.call_num_map[l7vs::l7vsadm_request::CMD_PARAMETER], 10000U );
- // unit_test[26] command_receiver_test thread case CMD_PARAMETER errnum check
- BOOST_CHECK_EQUAL( error_num_map[l7vs::l7vsadm_request::CMD_PARAMETER], 0U );
-
-
- BOOST_MESSAGE( "----- thread_test end -----" );
+void thread_test()
+{
+ BOOST_MESSAGE("----- thread_test start -----");
+
+ l7vs::l7vsd vsd;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd.set_replication(rep);
+
+ l7vs::command_receiver receiver(server_io, SOCKFILE, vsd);
+
+ // io thread start
+ //boost::thread io_thd( &io_thread );
+ boost::thread_group tg;
+ for (unsigned int i = 0; i < 100; ++i) {
+ tg.create_thread(&io_thread);
+ }
+
+ // client thread start
+ boost::thread cl_thd1(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_LIST));
+ boost::thread cl_thd2(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_LIST_VERBOSE));
+ boost::thread cl_thd3(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_LIST_KEY));
+ boost::thread cl_thd4(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_ADD_VS));
+ boost::thread cl_thd5(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_DEL_VS));
+ boost::thread cl_thd6(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_EDIT_VS));
+ boost::thread cl_thd7(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_FLUSH_VS));
+ boost::thread cl_thd8(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_ADD_RS));
+ boost::thread cl_thd9(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_DEL_RS));
+ boost::thread cl_thd10(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_EDIT_RS));
+ boost::thread cl_thd11(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_REPLICATION));
+ boost::thread cl_thd12(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_LOG));
+ boost::thread cl_thd13(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_SNMP));
+ boost::thread cl_thd14(boost::bind(&cl_thread, l7vs::l7vsadm_request::CMD_PARAMETER));
+
+ cl_thd1.join();
+ cl_thd2.join();
+ cl_thd3.join();
+ cl_thd4.join();
+ cl_thd5.join();
+ cl_thd6.join();
+ cl_thd7.join();
+ cl_thd8.join();
+ cl_thd9.join();
+ cl_thd10.join();
+ cl_thd11.join();
+ cl_thd12.join();
+ cl_thd13.join();
+ cl_thd14.join();
+
+ // io thread stop
+ //std::cout << "io_service_stop" << std::endl;
+ server_io.stop();
+
+ //std::cout << "join" << std::endl;
+ //io_thd.join();
+ tg.join_all();
+
+ // check call and error num
+ // unit_test[1] command_receiver_test thread case CMD_LIST callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_LIST], 20000U);
+ // unit_test[2] command_receiver_test thread case CMD_LIST errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_LIST], 0U);
+
+ // unit_test[3] command_receiver_test thread case CMD_LIST_VERBOSE callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_LIST_VERBOSE], 10000U);
+ // unit_test[4] command_receiver_test thread case CMD_LIST_VERBOSE errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_LIST_VERBOSE], 0U);
+
+ // unit_test[5] command_receiver_test thread case CMD_ADD_VS callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_ADD_VS], 10000U);
+ // unit_test[6] command_receiver_test thread case CMD_ADD_VS errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_ADD_VS], 0U);
+
+ // unit_test[7] command_receiver_test thread case CMD_DEL_VS callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_DEL_VS], 10000U);
+ // unit_test[8] command_receiver_test thread case CMD_DEL_VS errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_DEL_VS], 0U);
+
+ // unit_test[9] command_receiver_test thread case CMD_EDIT_VS callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_EDIT_VS], 10000U);
+ // unit_test[10] command_receiver_test thread case CMD_EDIT_VS errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_EDIT_VS], 0U);
+
+ // unit_test[11] command_receiver_test thread case CMD_FLUSH_VS callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_FLUSH_VS], 10000U);
+ // unit_test[12] command_receiver_test thread case CMD_FLUSH_VS errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_FLUSH_VS], 0U);
+
+ // unit_test[13] command_receiver_test thread case CMD_ADD_RS callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_ADD_RS], 10000U);
+ // unit_test[14] command_receiver_test thread case CMD_ADD_RS errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_ADD_RS], 0U);
+
+ // unit_test[15] command_receiver_test thread case CMD_DEL_RS callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_DEL_RS], 10000U);
+ // unit_test[16] command_receiver_test thread case CMD_DEL_RS errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_DEL_RS], 0U);
+
+ // unit_test[17] command_receiver_test thread case CMD_EDIT_RS callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_EDIT_RS], 10000U);
+ // unit_test[18] command_receiver_test thread case CMD_EDIT_RS errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_EDIT_RS], 0U);
+
+ // unit_test[19] command_receiver_test thread case CMD_REPLICATION callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_REPLICATION], 10000U);
+ // unit_test[20] command_receiver_test thread case CMD_REPLICATION errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_REPLICATION], 0U);
+
+ // unit_test[21] command_receiver_test thread case CMD_LOG callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_LOG], 10000U);
+ // unit_test[22] command_receiver_test thread case CMD_LOG errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_LOG], 0U);
+
+ // unit_test[23] command_receiver_test thread case CMD_SNMP callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_SNMP], 10000U);
+ // unit_test[24] command_receiver_test thread case CMD_SNMP errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_SNMP], 0U);
+
+ // unit_test[25] command_receiver_test thread case CMD_PARAMETER callnum check
+ BOOST_CHECK_EQUAL(vsd.call_num_map[l7vs::l7vsadm_request::CMD_PARAMETER], 10000U);
+ // unit_test[26] command_receiver_test thread case CMD_PARAMETER errnum check
+ BOOST_CHECK_EQUAL(error_num_map[l7vs::l7vsadm_request::CMD_PARAMETER], 0U);
+
+
+ BOOST_MESSAGE("----- thread_test end -----");
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- test_suite* ts = BOOST_TEST_SUITE( "l7vsd class test" );
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ test_suite *ts = BOOST_TEST_SUITE("l7vsd class test");
- l7vs::Logger logger_instance;
- l7vs::Parameter parameter_instance;
- logger_instance.loadConf();
+ l7vs::Logger logger_instance;
+ l7vs::Parameter parameter_instance;
+ logger_instance.loadConf();
- ts->add( BOOST_TEST_CASE( &thread_test ) );
+ ts->add(BOOST_TEST_CASE(&thread_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
#include "l7vsd_stub.h"
-namespace l7vs{
+namespace l7vs
+{
// l7vsd
l7vsd::l7vsd() {}
-l7vsd::~l7vsd(){}
+l7vsd::~l7vsd() {}
//! vs_list search function
//! @param[in] vs_element
//! @param[out] error_code
-l7vsd::vslist_type::iterator l7vsd::search_vslist( const virtualservice_element& in_vselement ) const {
- Logger logger( LOG_CAT_L7VSD_MAINTHREAD, 1, "l7vsd::search_vslist", __FILE__, __LINE__ );
-
- for( vslist_type::iterator itr = vslist.begin();
- itr != vslist.end();
- ++itr ){
- if( (*itr)->get_element() == in_vselement ) return itr;
- }
- return vslist.end();
+l7vsd::vslist_type::iterator l7vsd::search_vslist(const virtualservice_element &in_vselement) const
+{
+ Logger logger(LOG_CAT_L7VSD_MAINTHREAD, 1, "l7vsd::search_vslist", __FILE__, __LINE__);
+
+ for (vslist_type::iterator itr = vslist.begin();
+ itr != vslist.end();
+ ++itr) {
+ if ((*itr)->get_element() == in_vselement) return itr;
+ }
+ return vslist.end();
}
-void l7vsd::list_virtual_service( vselist_type*, error_code& )
+void l7vsd::list_virtual_service(vselist_type *, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
+ boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_LIST];
+ ++call_num_map[l7vs::l7vsadm_request::CMD_LIST];
}
-void l7vsd::list_virtual_service_verbose( l7vsd_response*, error_code& )
+void l7vsd::list_virtual_service_verbose(l7vsd_response *, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_LIST_VERBOSE];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_LIST_VERBOSE];
}
-void l7vsd::add_virtual_service( const virtualservice_element*, error_code& )
+void l7vsd::add_virtual_service(const virtualservice_element *, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_ADD_VS];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_ADD_VS];
}
-void l7vsd::del_virtual_service( const virtualservice_element*, error_code& )
+void l7vsd::del_virtual_service(const virtualservice_element *, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_DEL_VS];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_DEL_VS];
}
-void l7vsd::edit_virtual_service( const virtualservice_element*, error_code& )
+void l7vsd::edit_virtual_service(const virtualservice_element *, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_EDIT_VS];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_EDIT_VS];
}
-void l7vsd::add_real_server( const virtualservice_element*, error_code& )
+void l7vsd::add_real_server(const virtualservice_element *, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_ADD_RS];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_ADD_RS];
}
-void l7vsd::del_real_server( const virtualservice_element*, error_code& )
+void l7vsd::del_real_server(const virtualservice_element *, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_DEL_RS];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_DEL_RS];
}
-void l7vsd::edit_real_server( const virtualservice_element*, error_code& )
+void l7vsd::edit_real_server(const virtualservice_element *, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_EDIT_RS];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_EDIT_RS];
}
-void l7vsd::flush_virtual_service( error_code& )
+void l7vsd::flush_virtual_service(error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_FLUSH_VS];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_FLUSH_VS];
}
-void l7vsd::replication_command( const l7vsadm_request::REPLICATION_COMMAND_TAG* rep_cmd, error_code& )
+void l7vsd::replication_command(const l7vsadm_request::REPLICATION_COMMAND_TAG *rep_cmd, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_REPLICATION];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_REPLICATION];
}
-void l7vsd::set_loglevel( const LOG_CATEGORY_TAG*, const LOG_LEVEL_TAG*, error_code& )
+void l7vsd::set_loglevel(const LOG_CATEGORY_TAG *, const LOG_LEVEL_TAG *, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_LOG];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_LOG];
}
-void l7vsd::snmp_set_loglevel( const LOG_CATEGORY_TAG*, const LOG_LEVEL_TAG*, error_code& )
+void l7vsd::snmp_set_loglevel(const LOG_CATEGORY_TAG *, const LOG_LEVEL_TAG *, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_SNMP];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_SNMP];
}
-void l7vsd::reload_parameter( const PARAMETER_COMPONENT_TAG*, error_code& )
+void l7vsd::reload_parameter(const PARAMETER_COMPONENT_TAG *, error_code &)
{
- boost::mutex::scoped_lock lock(command_mutex);
- ++call_num_map[l7vs::l7vsadm_request::CMD_PARAMETER];
+ boost::mutex::scoped_lock lock(command_mutex);
+ ++call_num_map[l7vs::l7vsadm_request::CMD_PARAMETER];
}
-void l7vsd::release_virtual_service( const virtualservice_element& ) const
+void l7vsd::release_virtual_service(const virtualservice_element &) const
{}
bool virtual_service::finalize_fail(false);
bool virtual_service::stop_called(false);
-void virtual_service::finalize( error_code& err )
+void virtual_service::finalize(error_code &err)
{
- finalize_called = true;
- vsd.release_virtual_service( element );
- if( finalize_fail ) err.setter( true, "finalize_fail!" );
+ finalize_called = true;
+ vsd.release_virtual_service(element);
+ if (finalize_fail) err.setter(true, "finalize_fail!");
}
// replication
//--tests--
-void save_load_test(){
-
- // tcp ipv4 endpoint
- //save
- {
- boost::asio::ip::tcp::endpoint ep(boost::asio::ip::address::from_string("192.168.0.1"), 22100);
- std::ofstream file("save.dat");
- boost::archive::text_oarchive oa(file);
- oa << (const boost::asio::ip::tcp::endpoint)ep;
- }
-
- //load
- {
- boost::asio::ip::tcp::endpoint ep;
- std::ifstream file("save.dat");
- boost::archive::text_iarchive ia(file);
- ia >> ep;
-
- std::stringstream buf;
- buf << ep;
- //std::cout << ep << std::endl;
- //unit_test[1]
- BOOST_CHECK_EQUAL(buf.str(), "192.168.0.1:22100");
- }
-
- // udp ipv4 endpoint
- //save
- {
- boost::asio::ip::udp::endpoint ep(boost::asio::ip::address::from_string("192.168.0.1"), 22100);
- std::ofstream file("save.dat");
- boost::archive::text_oarchive oa(file);
- oa << (const boost::asio::ip::udp::endpoint)ep;
- }
-
- //load
- {
- boost::asio::ip::udp::endpoint ep;
- std::ifstream file("save.dat");
- boost::archive::text_iarchive ia(file);
- ia >> ep;
-
- std::stringstream buf;
- buf << ep;
- //std::cout << ep << std::endl;
- //unit_test[2]
- BOOST_CHECK_EQUAL(buf.str(), "192.168.0.1:22100");
- }
-
- // tcp ipv6 endpoint(global)
- //save
- {
- boost::asio::ip::tcp::endpoint ep(boost::asio::ip::address::from_string("2001:db8::1"), 55100);
- std::ofstream file("save.dat");
- boost::archive::text_oarchive oa(file);
- oa << (const boost::asio::ip::tcp::endpoint)ep;
- }
-
- //load
- {
- boost::asio::ip::tcp::endpoint ep;
- std::ifstream file("save.dat");
- boost::archive::text_iarchive ia(file);
- ia >> ep;
-
- std::stringstream buf;
- buf << ep;
- //std::cout << ep << std::endl;
- //unit_test[3]
- BOOST_CHECK_EQUAL(buf.str(), "[2001:db8::1]:55100");
- }
-
- // tcp ipv6 endpoint(lo)
- //save
- {
- boost::asio::ip::tcp::endpoint ep(boost::asio::ip::address::from_string("::1"), 55100);
- std::ofstream file("save.dat");
- boost::archive::text_oarchive oa(file);
- oa << (const boost::asio::ip::tcp::endpoint)ep;
- }
-
- //load
- {
- boost::asio::ip::tcp::endpoint ep;
- std::ifstream file("save.dat");
- boost::archive::text_iarchive ia(file);
- ia >> ep;
-
- std::stringstream buf;
- buf << ep;
- //std::cout << ep << std::endl;
- //unit_test[4]
- BOOST_CHECK_EQUAL(buf.str(), "[::1]:55100");
- }
-
- // tcp ipv6 endpoint(linklocal)
- //save
- {
- std::string addr = "fe80::213:21ff:feb5:95fb%eth0";
- std::string addr_ = addr.substr(0, addr.find_first_of("%"));
- std::string ifname = addr.substr(addr.find_first_of("%") + 1);
-
- boost::asio::ip::address_v6 v6addr = boost::asio::ip::address_v6::from_string(addr_);
- unsigned long scope_id = 0;
- scope_id = if_nametoindex(ifname.c_str());
- v6addr.scope_id(scope_id);
-
- boost::asio::ip::tcp::endpoint ep(v6addr, 55100);
-
- std::ofstream file("save.dat");
- boost::archive::text_oarchive oa(file);
- oa << (const boost::asio::ip::tcp::endpoint)ep;
- }
-
- //load
- {
- boost::asio::ip::tcp::endpoint ep;
- std::ifstream file("save.dat");
- boost::archive::text_iarchive ia(file);
- ia >> ep;
-
- std::stringstream buf;
- buf << ep;
- //std::cout << ep << std::endl;
- //unit_test[5]
- BOOST_CHECK_EQUAL(buf.str(), "[fe80::213:21ff:feb5:95fb%eth0]:55100");
- }
-
- // udp ipv6 endpoint
- //save
- {
- boost::asio::ip::udp::endpoint ep(boost::asio::ip::address::from_string("2001:db8::2"), 55100);
- std::ofstream file("save.dat");
- boost::archive::text_oarchive oa(file);
- oa << (const boost::asio::ip::udp::endpoint)ep;
- }
-
- //load
- {
- boost::asio::ip::udp::endpoint ep;
- std::ifstream file("save.dat");
- boost::archive::text_iarchive ia(file);
- ia >> ep;
-
- std::stringstream buf;
- buf << ep;
- //std::cout << ep << std::endl;
- //unit_test[6]
- BOOST_CHECK_EQUAL(buf.str(), "[2001:db8::2]:55100");
- }
+void save_load_test()
+{
+
+ // tcp ipv4 endpoint
+ //save
+ {
+ boost::asio::ip::tcp::endpoint ep(boost::asio::ip::address::from_string("192.168.0.1"), 22100);
+ std::ofstream file("save.dat");
+ boost::archive::text_oarchive oa(file);
+ oa << (const boost::asio::ip::tcp::endpoint)ep;
+ }
+
+ //load
+ {
+ boost::asio::ip::tcp::endpoint ep;
+ std::ifstream file("save.dat");
+ boost::archive::text_iarchive ia(file);
+ ia >> ep;
+
+ std::stringstream buf;
+ buf << ep;
+ //std::cout << ep << std::endl;
+ //unit_test[1]
+ BOOST_CHECK_EQUAL(buf.str(), "192.168.0.1:22100");
+ }
+
+ // udp ipv4 endpoint
+ //save
+ {
+ boost::asio::ip::udp::endpoint ep(boost::asio::ip::address::from_string("192.168.0.1"), 22100);
+ std::ofstream file("save.dat");
+ boost::archive::text_oarchive oa(file);
+ oa << (const boost::asio::ip::udp::endpoint)ep;
+ }
+
+ //load
+ {
+ boost::asio::ip::udp::endpoint ep;
+ std::ifstream file("save.dat");
+ boost::archive::text_iarchive ia(file);
+ ia >> ep;
+
+ std::stringstream buf;
+ buf << ep;
+ //std::cout << ep << std::endl;
+ //unit_test[2]
+ BOOST_CHECK_EQUAL(buf.str(), "192.168.0.1:22100");
+ }
+
+ // tcp ipv6 endpoint(global)
+ //save
+ {
+ boost::asio::ip::tcp::endpoint ep(boost::asio::ip::address::from_string("2001:db8::1"), 55100);
+ std::ofstream file("save.dat");
+ boost::archive::text_oarchive oa(file);
+ oa << (const boost::asio::ip::tcp::endpoint)ep;
+ }
+
+ //load
+ {
+ boost::asio::ip::tcp::endpoint ep;
+ std::ifstream file("save.dat");
+ boost::archive::text_iarchive ia(file);
+ ia >> ep;
+
+ std::stringstream buf;
+ buf << ep;
+ //std::cout << ep << std::endl;
+ //unit_test[3]
+ BOOST_CHECK_EQUAL(buf.str(), "[2001:db8::1]:55100");
+ }
+
+ // tcp ipv6 endpoint(lo)
+ //save
+ {
+ boost::asio::ip::tcp::endpoint ep(boost::asio::ip::address::from_string("::1"), 55100);
+ std::ofstream file("save.dat");
+ boost::archive::text_oarchive oa(file);
+ oa << (const boost::asio::ip::tcp::endpoint)ep;
+ }
+
+ //load
+ {
+ boost::asio::ip::tcp::endpoint ep;
+ std::ifstream file("save.dat");
+ boost::archive::text_iarchive ia(file);
+ ia >> ep;
+
+ std::stringstream buf;
+ buf << ep;
+ //std::cout << ep << std::endl;
+ //unit_test[4]
+ BOOST_CHECK_EQUAL(buf.str(), "[::1]:55100");
+ }
+
+ // tcp ipv6 endpoint(linklocal)
+ //save
+ {
+ std::string addr = "fe80::213:21ff:feb5:95fb%eth0";
+ std::string addr_ = addr.substr(0, addr.find_first_of("%"));
+ std::string ifname = addr.substr(addr.find_first_of("%") + 1);
+
+ boost::asio::ip::address_v6 v6addr = boost::asio::ip::address_v6::from_string(addr_);
+ unsigned long scope_id = 0;
+ scope_id = if_nametoindex(ifname.c_str());
+ v6addr.scope_id(scope_id);
+
+ boost::asio::ip::tcp::endpoint ep(v6addr, 55100);
+
+ std::ofstream file("save.dat");
+ boost::archive::text_oarchive oa(file);
+ oa << (const boost::asio::ip::tcp::endpoint)ep;
+ }
+
+ //load
+ {
+ boost::asio::ip::tcp::endpoint ep;
+ std::ifstream file("save.dat");
+ boost::archive::text_iarchive ia(file);
+ ia >> ep;
+
+ std::stringstream buf;
+ buf << ep;
+ //std::cout << ep << std::endl;
+ //unit_test[5]
+ BOOST_CHECK_EQUAL(buf.str(), "[fe80::213:21ff:feb5:95fb%eth0]:55100");
+ }
+
+ // udp ipv6 endpoint
+ //save
+ {
+ boost::asio::ip::udp::endpoint ep(boost::asio::ip::address::from_string("2001:db8::2"), 55100);
+ std::ofstream file("save.dat");
+ boost::archive::text_oarchive oa(file);
+ oa << (const boost::asio::ip::udp::endpoint)ep;
+ }
+
+ //load
+ {
+ boost::asio::ip::udp::endpoint ep;
+ std::ifstream file("save.dat");
+ boost::archive::text_iarchive ia(file);
+ ia >> ep;
+
+ std::stringstream buf;
+ buf << ep;
+ //std::cout << ep << std::endl;
+ //unit_test[6]
+ BOOST_CHECK_EQUAL(buf.str(), "[2001:db8::2]:55100");
+ }
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- test_suite* ts = BOOST_TEST_SUITE( "endpoint class test" );
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ test_suite *ts = BOOST_TEST_SUITE("endpoint class test");
- ts->add( BOOST_TEST_CASE( &save_load_test ) );
+ ts->add(BOOST_TEST_CASE(&save_load_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
// using string to endpoint template function
//
template< typename InternetProtocol >
-boost::asio::ip::basic_endpoint< InternetProtocol > string_to_endpoint( std::string str ){
- std::string::size_type pos = str.find( ":" );
- std::string hostname = str.substr( 0, pos );
- std::string portname = str.substr( pos+1, str.length() );
- boost::asio::io_service io_service;
- typename InternetProtocol::resolver resolver(io_service);
- typename InternetProtocol::resolver::query query( hostname, portname );
- typename InternetProtocol::resolver::iterator end;
- typename InternetProtocol::resolver::iterator itr = resolver.resolve( query );
- if( itr == end ) return typename InternetProtocol::endpoint();
- return *itr;
+boost::asio::ip::basic_endpoint< InternetProtocol > string_to_endpoint(std::string str)
+{
+ std::string::size_type pos = str.find(":");
+ std::string hostname = str.substr(0, pos);
+ std::string portname = str.substr(pos + 1, str.length());
+ boost::asio::io_service io_service;
+ typename InternetProtocol::resolver resolver(io_service);
+ typename InternetProtocol::resolver::query query(hostname, portname);
+ typename InternetProtocol::resolver::iterator end;
+ typename InternetProtocol::resolver::iterator itr = resolver.resolve(query);
+ if (itr == end) return typename InternetProtocol::endpoint();
+ return *itr;
}
// testcase 1.
-void realserver_element_test(){
- realserver_element rs;
- boost::asio::ip::tcp::endpoint tcp_default_endpoint;
- boost::asio::ip::udp::endpoint udp_default_endpoint;
- // unit_test[1] default constractor tcp endpoint test
- BOOST_CHECK( rs.tcp_endpoint == tcp_default_endpoint );
- // unit_test[2] default constractor udp endpoint test
- BOOST_CHECK( rs.udp_endpoint == udp_default_endpoint );
- // unit_test[3] default constrafctor weight test
- BOOST_CHECK( rs.weight == -1 );
- rs.tcp_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.10.10.10:6555" );
- rs.udp_endpoint = string_to_endpoint<boost::asio::ip::udp>( "20.20.20.20:4444" );
- rs.weight = 255;
-
- realserver_element rs2 = rs;
- // unit_test[4] copy constractor tcp endpoint test
- BOOST_CHECK( rs.tcp_endpoint == rs2.tcp_endpoint );
- // unit_test[5] copy constractor udp endpoint test
- BOOST_CHECK( rs.udp_endpoint == rs2.udp_endpoint );
-
+void realserver_element_test()
+{
+ realserver_element rs;
+ boost::asio::ip::tcp::endpoint tcp_default_endpoint;
+ boost::asio::ip::udp::endpoint udp_default_endpoint;
+ // unit_test[1] default constractor tcp endpoint test
+ BOOST_CHECK(rs.tcp_endpoint == tcp_default_endpoint);
+ // unit_test[2] default constractor udp endpoint test
+ BOOST_CHECK(rs.udp_endpoint == udp_default_endpoint);
+ // unit_test[3] default constrafctor weight test
+ BOOST_CHECK(rs.weight == -1);
+ rs.tcp_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.10.10.10:6555");
+ rs.udp_endpoint = string_to_endpoint<boost::asio::ip::udp>("20.20.20.20:4444");
+ rs.weight = 255;
+
+ realserver_element rs2 = rs;
+ // unit_test[4] copy constractor tcp endpoint test
+ BOOST_CHECK(rs.tcp_endpoint == rs2.tcp_endpoint);
+ // unit_test[5] copy constractor udp endpoint test
+ BOOST_CHECK(rs.udp_endpoint == rs2.udp_endpoint);
+
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "l7vs_command_ut" );
- ts->add( BOOST_TEST_CASE( &realserver_element_test ) );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("l7vs_command_ut");
+ ts->add(BOOST_TEST_CASE(&realserver_element_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
using namespace l7vs;
-extern void* _start; //開始位置
-extern void* _etext; //終了位置
+extern void *_start; //開始位置
+extern void *_etext; //終了位置
#define BUF_LEN (4096)
-typedef std::map< LOG_CATEGORY_TAG, LOG_LEVEL_TAG>
- category_level_map_type;
+typedef std::map< LOG_CATEGORY_TAG, LOG_LEVEL_TAG>
+category_level_map_type;
int resetConfigurationCalled = 0;
bool getRootLoggerReturnNull = false;
int patternLayoutCtorCalled = 0;
-void* patternLayoutCreated = 0;
+void *patternLayoutCreated = 0;
bool patternLayoutNewFail = false;
int fileAppenderCtorCalled = 0;
-void* fileAppenderCreated = 0;
+void *fileAppenderCreated = 0;
bool fileAppenderNewFail = false;
std::string fileAppenderCtorArgFilename = "";
log4cxx::LayoutPtr fileAppenderCtorArgLayout = 0;
bool fileAppenderSetFileArgAppend = false;
bool fileAppenderSetFileArgBufferedIO = false;
size_t fileAppenderSetFileArgBufferSize = 0;
-void* fileAppenderSetFileArgPool = 0;
+void *fileAppenderSetFileArgPool = 0;
bool fileAppenderSetFileException = false;
int poolCtorCalled = 0;
-void* poolCreated = 0;
+void *poolCreated = 0;
int syslogAppenderCtorCalled = 0;
-void* syslogAppenderCreated = 0;
+void *syslogAppenderCreated = 0;
bool syslogAppenderNewFail = false;
log4cxx::LayoutPtr syslogAppenderCtorArgLayout = 0;
int syslogAppenderCtorArgFacility = 0;
bool loggerGetLoggerReturnNull = false;
int fixedWindowCtorCalled = 0;
-void* fixedWindowCreated = 0;
+void *fixedWindowCreated = 0;
bool fixedWindowNewFail = false;
int sizeBaseCtorCalled = 0;
-void* sizeBaseCreated = 0;
+void *sizeBaseCreated = 0;
bool sizeBaseNewFail = false;
int strictPolicyCtorCalled = 0;
-void* strictPolicyCreated = 0;
+void *strictPolicyCreated = 0;
bool strictPolicyNewFail = false;
int timeSizePolicyCtorCalled = 0;
-void* timeSizePolicyCreated = 0;
+void *timeSizePolicyCreated = 0;
bool timeSizePolicyNewFail = false;
int rollingAppenderCtorCalled = 0;
-void* rollingAppenderCreated = 0;
+void *rollingAppenderCreated = 0;
bool rollingAppenderNewFail = false;
int loggerGetLevelCalled = 0;
LOG_LEVEL_TAG snmpGetLevelReturns;
int appenderSkeletonSetLayoutCalled = 0;
-void* appenderSkeletonSetLayoutArgLayout = 0;
+void *appenderSkeletonSetLayoutArgLayout = 0;
int rollingAppenderSkeletonActivateOptionsCalled = 0;
#define BUF_LEN (4096)
- typedef std::map< std::string , logger_implement_access* >
- logimp_access_map_type;
+typedef std::map< std::string , logger_implement_access * >
+logimp_access_map_type;
- typedef std::map< std::string , std::string >
- accesslog_rotate_default_map_type;
+typedef std::map< std::string , std::string >
+accesslog_rotate_default_map_type;
- typedef std::map< std::string , std::string >::iterator
- accesslog_rotate_default_map_type_iterator;
+typedef std::map< std::string , std::string >::iterator
+accesslog_rotate_default_map_type_iterator;
- typedef std::map< std::string , std::string > accesslog_rotate_map_type;
+typedef std::map< std::string , std::string > accesslog_rotate_map_type;
- typedef std::map< std::string , std::string >::iterator accesslog_rotate_map_type_iterator;
+typedef std::map< std::string , std::string >::iterator accesslog_rotate_map_type_iterator;
class logger_access_manager_test : public l7vs::logger_access_manager
{
-public:
- logimp_access_map_type &get_logimp_access_map(){ return(logimp_access_map); }
-
- appender_property &get_access_log_default_property(){ return(access_log_default_property); }
-
- void get_access_log_default_property_init() {
- access_log_default_property.log_filename_key = "";
- access_log_default_property.log_filename_value = "";
- access_log_default_property.rotation_key = "";
- access_log_default_property.rotation_value = LOG_ROT_SIZE;
- access_log_default_property.max_backup_index_key = "";
- access_log_default_property.max_backup_index_value = 1;
- access_log_default_property.max_file_size_key = "";
- access_log_default_property.max_file_size_value = 1;
- access_log_default_property.rotation_timing_key = "";
- access_log_default_property.rotation_timing_value = LOG_TIM_YEAR;
- access_log_default_property.rotation_timing_value_key = "";
- access_log_default_property.rotation_timing_value_value = "";
- }
-
- accesslog_rotate_default_map_type &get_access_log_default_data(){ return(access_log_default_data); }
-
- bool get_rotate_default_load_flag(){ return( rotate_default_load_flag); }
-
- void set_rotate_default_load_flag(bool in){ rotate_default_load_flag = in; }
-
- std::string &call_get_rotate_default_verbose_displayed_contents(){ return(rotate_default_verbose_displayed_contents); }
-
- void set_rotate_default_verbose_displayed_contents(std::string in){ rotate_default_verbose_displayed_contents = in; }
-/*
- logger_implement_access *find_logger_implement_access(
- const std::string &access_log_filename,
- std::map< std::string , std::string > rotatedata,
- l7vs::error_code& err)
- {
- return( logger_access_manager::getInstance().find_logger_implement_access(
- access_log_filename,
- rotatedata,
- err) );
- }
-
- void erase_logger_implement_access(
- const std::string &access_log_filename,
- l7vs::error_code& err)
- {
- logger_access_manager::getInstance().erase_logger_implement_access(
- access_log_filename,
- err);
- }
-
- void access_log_rotate_loadConf()
- {
- logger_access_manager::access_log_rotate_loadConf();
- }
-
- static logger_access_manager_test& get_instance(){
- static logger_access_manager_test instance;
- return instance;
- }
-*/
- logger_access_manager_test() {}
- //~logger_access_manager_test() {}
+public:
+ logimp_access_map_type &get_logimp_access_map() {
+ return(logimp_access_map);
+ }
+
+ appender_property &get_access_log_default_property() {
+ return(access_log_default_property);
+ }
+
+ void get_access_log_default_property_init() {
+ access_log_default_property.log_filename_key = "";
+ access_log_default_property.log_filename_value = "";
+ access_log_default_property.rotation_key = "";
+ access_log_default_property.rotation_value = LOG_ROT_SIZE;
+ access_log_default_property.max_backup_index_key = "";
+ access_log_default_property.max_backup_index_value = 1;
+ access_log_default_property.max_file_size_key = "";
+ access_log_default_property.max_file_size_value = 1;
+ access_log_default_property.rotation_timing_key = "";
+ access_log_default_property.rotation_timing_value = LOG_TIM_YEAR;
+ access_log_default_property.rotation_timing_value_key = "";
+ access_log_default_property.rotation_timing_value_value = "";
+ }
+
+ accesslog_rotate_default_map_type &get_access_log_default_data() {
+ return(access_log_default_data);
+ }
+
+ bool get_rotate_default_load_flag() {
+ return(rotate_default_load_flag);
+ }
+
+ void set_rotate_default_load_flag(bool in) {
+ rotate_default_load_flag = in;
+ }
+
+ std::string &call_get_rotate_default_verbose_displayed_contents() {
+ return(rotate_default_verbose_displayed_contents);
+ }
+
+ void set_rotate_default_verbose_displayed_contents(std::string in) {
+ rotate_default_verbose_displayed_contents = in;
+ }
+ /*
+ logger_implement_access *find_logger_implement_access(
+ const std::string &access_log_filename,
+ std::map< std::string , std::string > rotatedata,
+ l7vs::error_code& err)
+ {
+ return( logger_access_manager::getInstance().find_logger_implement_access(
+ access_log_filename,
+ rotatedata,
+ err) );
+ }
+
+ void erase_logger_implement_access(
+ const std::string &access_log_filename,
+ l7vs::error_code& err)
+ {
+ logger_access_manager::getInstance().erase_logger_implement_access(
+ access_log_filename,
+ err);
+ }
+
+ void access_log_rotate_loadConf()
+ {
+ logger_access_manager::access_log_rotate_loadConf();
+ }
+
+ static logger_access_manager_test& get_instance(){
+ static logger_access_manager_test instance;
+ return instance;
+ }
+ */
+ logger_access_manager_test() {}
+ //~logger_access_manager_test() {}
};
void logger_access_manager_access_log_rotate_loadConf_test()
{
-
- BOOST_MESSAGE( "----- logger_access_manager_access_log_rotate_loadConf_test start -----" );
-
- logger_access_manager_test implTest;
-
- Parameter pm;
-
-
- std::cout << "access_log_rotate_loadConf normal case01 size" << std::endl;
- {
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- std::string no_thorw_error_msg = "exception throw!!";
-
- std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
-
- std::string l7vsd_accesslog_rotate_type_val = "size";
- //std::string l7vsd_accesslog_rotate_type_val = "date";
- //std::string l7vsd_accesslog_rotate_type_val = "datesize";
- std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
- std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
- //std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
- //std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
-
-
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val );
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
-
- try {
- implTest.access_log_rotate_loadConf();
- // unit_test[1] エラーが発生していないこと
- std::cout << "access_log_rotate_loadConf succeed\n";
- }
- catch ( const std::logic_error& ex ) {
- BOOST_ERROR(no_thorw_error_msg);
- }
+ BOOST_MESSAGE("----- logger_access_manager_access_log_rotate_loadConf_test start -----");
+
+ logger_access_manager_test implTest;
+
+ Parameter pm;
+
+
+ std::cout << "access_log_rotate_loadConf normal case01 size" << std::endl;
+ {
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ std::string no_thorw_error_msg = "exception throw!!";
+
+ std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
+
+ std::string l7vsd_accesslog_rotate_type_val = "size";
+ //std::string l7vsd_accesslog_rotate_type_val = "date";
+ //std::string l7vsd_accesslog_rotate_type_val = "datesize";
+ std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
+ std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
+ //std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
+ //std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
+
+
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
- std::string result_msg = "--ac-rotate-type size --ac-rotate-max-backup-index 1 --ac-rotate-max-filesize 10M";
+ try {
- // unit_test[2] エラーが発生していないこと
- BOOST_CHECK( implTest.call_get_rotate_default_verbose_displayed_contents() == result_msg );
+ implTest.access_log_rotate_loadConf();
+ // unit_test[1] エラーが発生していないこと
+ std::cout << "access_log_rotate_loadConf succeed\n";
+ } catch (const std::logic_error &ex) {
+ BOOST_ERROR(no_thorw_error_msg);
+ }
+
+ std::string result_msg = "--ac-rotate-type size --ac-rotate-max-backup-index 1 --ac-rotate-max-filesize 10M";
+
+ // unit_test[2] エラーが発生していないこと
+ BOOST_CHECK(implTest.call_get_rotate_default_verbose_displayed_contents() == result_msg);
+
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY);
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY );
-
// std::string result_msg = "--ac-rotate-type date --ac-rotate-max-backup-index 1 --ac-rotate-rotation-timing year --ac-rotate-rotation-timing-value 05/05 01:31";
// std::string result_msg = "--ac-rotate-type datesize --ac-rotate-max-backup-index 1 --ac-rotate-max-filesize 10M --ac-rotate-rotation-timing year --ac-rotate-rotation-timing-value 05/05 01:31";
-
- }
-
- std::cout << "access_log_rotate_loadConf normal case02 date" << std::endl;
- {
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- std::string no_thorw_error_msg = "exception throw!!";
-
- std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
-
- //std::string l7vsd_accesslog_rotate_type_val = "size";
- std::string l7vsd_accesslog_rotate_type_val = "date";
- //std::string l7vsd_accesslog_rotate_type_val = "datesize";
- std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
- //std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
- std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
- std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
-
-
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val );
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
-
-
- try {
- implTest.access_log_rotate_loadConf();
- // unit_test[3] エラーが発生していないこと
- std::cout << "access_log_rotate_loadConf succeed\n";
- }
- catch ( const std::logic_error& ex ) {
- BOOST_ERROR(no_thorw_error_msg);
}
+ std::cout << "access_log_rotate_loadConf normal case02 date" << std::endl;
+ {
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ std::string no_thorw_error_msg = "exception throw!!";
+
+ std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
+
+ //std::string l7vsd_accesslog_rotate_type_val = "size";
+ std::string l7vsd_accesslog_rotate_type_val = "date";
+ //std::string l7vsd_accesslog_rotate_type_val = "datesize";
+ std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
+ //std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
+ std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
+ std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
+
+
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
+
+
+ try {
+
+ implTest.access_log_rotate_loadConf();
+ // unit_test[3] エラーが発生していないこと
+ std::cout << "access_log_rotate_loadConf succeed\n";
+ } catch (const std::logic_error &ex) {
+ BOOST_ERROR(no_thorw_error_msg);
+ }
+
// std::string result_msg = "--ac-rotate-type size --ac-rotate-max-backup-index 1 --ac-rotate-max-filesize 10M";
- std::string result_msg = "--ac-rotate-type date --ac-rotate-max-backup-index 1 --ac-rotate-rotation-timing year --ac-rotate-rotation-timing-value 05/05 01:31";
+ std::string result_msg = "--ac-rotate-type date --ac-rotate-max-backup-index 1 --ac-rotate-rotation-timing year --ac-rotate-rotation-timing-value 05/05 01:31";
- // unit_test[4] エラーが発生していないこと
- BOOST_CHECK( implTest.call_get_rotate_default_verbose_displayed_contents() == result_msg );
+ // unit_test[4] エラーが発生していないこと
+ BOOST_CHECK(implTest.call_get_rotate_default_verbose_displayed_contents() == result_msg);
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY );
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY);
// std::string result_msg = "--ac-rotate-type datesize --ac-rotate-max-backup-index 1 --ac-rotate-max-filesize 10M --ac-rotate-rotation-timing year --ac-rotate-rotation-timing-value 05/05 01:31";
-
- }
-
- std::cout << "access_log_rotate_loadConf normal case03 datesize" << std::endl;
- {
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- std::string no_thorw_error_msg = "exception throw!!";
-
- std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
-
- //std::string l7vsd_accesslog_rotate_type_val = "size";
- //std::string l7vsd_accesslog_rotate_type_val = "date";
- std::string l7vsd_accesslog_rotate_type_val = "datesize";
- std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
- std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
- std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
- std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
-
-
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val );
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
-
-
- try {
- implTest.access_log_rotate_loadConf();
- // unit_test[5] エラーが発生していないこと
- std::cout << "access_log_rotate_loadConf succeed\n";
- }
- catch ( const std::logic_error& ex ) {
- BOOST_ERROR(no_thorw_error_msg);
}
+ std::cout << "access_log_rotate_loadConf normal case03 datesize" << std::endl;
+ {
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ std::string no_thorw_error_msg = "exception throw!!";
+
+ std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
+
+ //std::string l7vsd_accesslog_rotate_type_val = "size";
+ //std::string l7vsd_accesslog_rotate_type_val = "date";
+ std::string l7vsd_accesslog_rotate_type_val = "datesize";
+ std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
+ std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
+ std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
+ std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
+
+
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
+
+
+ try {
+
+ implTest.access_log_rotate_loadConf();
+ // unit_test[5] エラーが発生していないこと
+ std::cout << "access_log_rotate_loadConf succeed\n";
+ } catch (const std::logic_error &ex) {
+ BOOST_ERROR(no_thorw_error_msg);
+ }
+
// std::string result_msg = "--ac-rotate-type size --ac-rotate-max-backup-index 1 --ac-rotate-max-filesize 10M";
- std::string result_msg = "--ac-rotate-type datesize --ac-rotate-max-backup-index 1 --ac-rotate-max-filesize 10M --ac-rotate-rotation-timing year --ac-rotate-rotation-timing-value 05/05 01:31";
+ std::string result_msg = "--ac-rotate-type datesize --ac-rotate-max-backup-index 1 --ac-rotate-max-filesize 10M --ac-rotate-rotation-timing year --ac-rotate-rotation-timing-value 05/05 01:31";
- // unit_test[6] エラーが発生していないこと
- BOOST_CHECK( implTest.call_get_rotate_default_verbose_displayed_contents() == result_msg );
+ // unit_test[6] エラーが発生していないこと
+ BOOST_CHECK(implTest.call_get_rotate_default_verbose_displayed_contents() == result_msg);
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY );
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY);
// std::string result_msg = "--ac-rotate-type date --ac-rotate-max-backup-index 1 --ac-rotate-rotation-timing year --ac-rotate-rotation-timing-value 05/05 01:31";
-
- }
-
- std::cout << "access_log_rotate_loadConf err case01 rotate_type not set" << std::endl;
- {
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- std::string no_thorw_error_msg = "exception throw!!";
-
- std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
-
- //std::string l7vsd_accesslog_rotate_type_val = "size";
- //std::string l7vsd_accesslog_rotate_type_val = "date";
- //std::string l7vsd_accesslog_rotate_type_val = "datesize";
- std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
- std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
- //std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
- //std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
-
-
- //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val );
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
- //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
- //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
-
-
- try {
- implTest.access_log_rotate_loadConf();
- BOOST_ERROR(no_thorw_error_msg);
- }
- catch ( const std::logic_error& ex ) {
- // unit_test[7] エラーが発生していること
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log Rotation Setting.");
- }
-
- //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY );
- //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY );
- //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY );
-
- }
-
- std::cout << "access_log_rotate_loadConf err case02 max_backup_index not set" << std::endl;
- {
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- std::string no_thorw_error_msg = "exception throw!!";
-
- std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
-
- std::string l7vsd_accesslog_rotate_type_val = "size";
- //std::string l7vsd_accesslog_rotate_type_val = "date";
- //std::string l7vsd_accesslog_rotate_type_val = "datesize";
- //std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
- std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
- //std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
- //std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
-
-
-
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val );
- //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
- //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
- //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
-
- try {
+ }
- implTest.access_log_rotate_loadConf();
- BOOST_ERROR(no_thorw_error_msg);
- }
- catch ( const std::logic_error& ex ) {
- // unit_test[8] エラーが発生していること
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxBackupIndex Setting.");
- }
-
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY );
- //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY );
- //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY );
- //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY );
-
- }
-
- std::cout << "access_log_rotate_loadConf err case03 max_filesize not set" << std::endl;
- {
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- std::string no_thorw_error_msg = "exception throw!!";
-
- std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
-
- std::string l7vsd_accesslog_rotate_type_val = "size";
- //std::string l7vsd_accesslog_rotate_type_val = "date";
- //std::string l7vsd_accesslog_rotate_type_val = "datesize";
- std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
- //std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
- //std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
- //std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
-
-
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val );
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
- //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
- //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
- //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
+ std::cout << "access_log_rotate_loadConf err case01 rotate_type not set" << std::endl;
+ {
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
- try {
+ std::string no_thorw_error_msg = "exception throw!!";
+
+ std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
+
+ //std::string l7vsd_accesslog_rotate_type_val = "size";
+ //std::string l7vsd_accesslog_rotate_type_val = "date";
+ //std::string l7vsd_accesslog_rotate_type_val = "datesize";
+ std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
+ std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
+ //std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
+ //std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
+
+
+ //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val );
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
+ //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
+ //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
+
+
+ try {
+
+ implTest.access_log_rotate_loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
+ } catch (const std::logic_error &ex) {
+ // unit_test[7] エラーが発生していること
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log Rotation Setting.");
+ }
+
+ //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY );
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY);
+ //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY );
+ //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY );
+
+ }
+
+ std::cout << "access_log_rotate_loadConf err case02 max_backup_index not set" << std::endl;
+ {
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ std::string no_thorw_error_msg = "exception throw!!";
+
+ std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
+
+ std::string l7vsd_accesslog_rotate_type_val = "size";
+ //std::string l7vsd_accesslog_rotate_type_val = "date";
+ //std::string l7vsd_accesslog_rotate_type_val = "datesize";
+ //std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
+ std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
+ //std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
+ //std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
- implTest.access_log_rotate_loadConf();
- BOOST_ERROR(no_thorw_error_msg);
- }
- catch ( const std::logic_error& ex ) {
- // unit_test[9] エラーが発生していること
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxFileSize Setting.");
- }
-
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY );
- //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY );
- //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY );
- //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY );
-
- }
-
-
- std::cout << "access_log_rotate_loadConf err case04 rotation_timing not set" << std::endl;
- {
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- std::string no_thorw_error_msg = "exception throw!!";
-
- std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
-
- //std::string l7vsd_accesslog_rotate_type_val = "size";
- //std::string l7vsd_accesslog_rotate_type_val = "date";
- std::string l7vsd_accesslog_rotate_type_val = "datesize";
- std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
- std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
- //std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
- std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
-
-
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val );
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
- //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
-
-
- try {
- implTest.access_log_rotate_loadConf();
- BOOST_ERROR(no_thorw_error_msg);
- }
- catch ( const std::logic_error& ex ) {
- // unit_test[10] エラーが発生していること
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Setting.");
- }
-
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY );
- //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY );
-
- }
-
- std::cout << "access_log_rotate_loadConf err case05 rotation_timing_val not set" << std::endl;
- {
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- std::string no_thorw_error_msg = "exception throw!!";
-
- std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
-
- //std::string l7vsd_accesslog_rotate_type_val = "size";
- //std::string l7vsd_accesslog_rotate_type_val = "date";
- std::string l7vsd_accesslog_rotate_type_val = "datesize";
- std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
- std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
- std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
- //std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
-
-
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val );
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
- pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
- //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
-
-
- try {
- implTest.access_log_rotate_loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val);
+ //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
+ //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
+ //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
+
+ try {
+
+ implTest.access_log_rotate_loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
+ } catch (const std::logic_error &ex) {
+ // unit_test[8] エラーが発生していること
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxBackupIndex Setting.");
+ }
+
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY);
+ //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY );
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY);
+ //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY );
+ //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY );
+
}
- catch ( const std::logic_error& ex ) {
- // unit_test[11] エラーが発生していること
- std::string ex_msg = "Not Exist Log RotaionTiming " + l7vsd_accesslog_rotate_rotation_timing_val + " Setting.";
- BOOST_CHECK_EQUAL(ex.what(), ex_msg);
+
+ std::cout << "access_log_rotate_loadConf err case03 max_filesize not set" << std::endl;
+ {
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ std::string no_thorw_error_msg = "exception throw!!";
+
+ std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
+
+ std::string l7vsd_accesslog_rotate_type_val = "size";
+ //std::string l7vsd_accesslog_rotate_type_val = "date";
+ //std::string l7vsd_accesslog_rotate_type_val = "datesize";
+ std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
+ //std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
+ //std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
+ //std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
+
+
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
+ //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
+ //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
+ //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
+
+ try {
+
+ implTest.access_log_rotate_loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
+ } catch (const std::logic_error &ex) {
+ // unit_test[9] エラーが発生していること
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxFileSize Setting.");
+ }
+
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY);
+ //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY );
+ //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY );
+ //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY );
+
}
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY );
- pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY );
- //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY );
-
- }
-
- BOOST_MESSAGE( "----- logger_access_manager_access_log_rotate_loadConf_test end -----" );
+ std::cout << "access_log_rotate_loadConf err case04 rotation_timing not set" << std::endl;
+ {
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ std::string no_thorw_error_msg = "exception throw!!";
+
+ std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
+
+ //std::string l7vsd_accesslog_rotate_type_val = "size";
+ //std::string l7vsd_accesslog_rotate_type_val = "date";
+ std::string l7vsd_accesslog_rotate_type_val = "datesize";
+ std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
+ std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
+ //std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
+ std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
+
+
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
+ //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
+
+
+ try {
+
+ implTest.access_log_rotate_loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
+ } catch (const std::logic_error &ex) {
+ // unit_test[10] エラーが発生していること
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Setting.");
+ }
+
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY);
+ //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY );
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY);
+
+ }
+
+ std::cout << "access_log_rotate_loadConf err case05 rotation_timing_val not set" << std::endl;
+ {
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ std::string no_thorw_error_msg = "exception throw!!";
+
+ std::string l7cf_file_path = "./test_cf_files/l7vs.cf";
+
+ //std::string l7vsd_accesslog_rotate_type_val = "size";
+ //std::string l7vsd_accesslog_rotate_type_val = "date";
+ std::string l7vsd_accesslog_rotate_type_val = "datesize";
+ std::string l7vsd_accesslog_rotate_max_backup_index_val = "1";
+ std::string l7vsd_accesslog_rotate_max_filesize_val = "10M";
+ std::string l7vsd_accesslog_rotate_rotation_timing_val = "year";
+ //std::string l7vsd_accesslog_rotation_timing_value_val = "05/05 01:31";
+
+
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY, l7vsd_accesslog_rotate_type_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY, l7vsd_accesslog_rotate_max_backup_index_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY, l7vsd_accesslog_rotate_max_filesize_val);
+ pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY, l7vsd_accesslog_rotate_rotation_timing_val);
+ //pm.setStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY, l7vsd_accesslog_rotation_timing_value_val);
+
+
+ try {
+
+ implTest.access_log_rotate_loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
+ } catch (const std::logic_error &ex) {
+ // unit_test[11] エラーが発生していること
+ std::string ex_msg = "Not Exist Log RotaionTiming " + l7vsd_accesslog_rotate_rotation_timing_val + " Setting.";
+ BOOST_CHECK_EQUAL(ex.what(), ex_msg);
+ }
+
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_BACKUP_INDEX_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_MAX_FILE_SIZE_KEY);
+ pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_KEY);
+ //pm.deleteStringValue(PARAM_COMP_LOGGER, ACCESS_LOG_ROTATION_TIMING_VALUE_KEY );
+
+ }
+
+
+ BOOST_MESSAGE("----- logger_access_manager_access_log_rotate_loadConf_test end -----");
}
void logger_access_manager_getInstance_constructor_test()
{
-
- BOOST_MESSAGE( "----- logger_access_manager_getInstance_constructor_test start -----" );
- logger_access_manager_test implTest;
+ BOOST_MESSAGE("----- logger_access_manager_getInstance_constructor_test start -----");
- // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
- BOOST_CHECK_EQUAL(implTest.get_rotate_default_load_flag(), false);
- // unit_test[2] コンストラクタでメンバ変数が初期化されているか。
- BOOST_CHECK_EQUAL(implTest.call_get_rotate_default_verbose_displayed_contents(), "");
- // unit_test[3] コンストラクタでメンバ変数が初期化されているか。
- BOOST_CHECK(implTest.get_access_log_default_data().size() == 0);
- // unit_test[4] コンストラクタでメンバ変数が初期化されているか。
- BOOST_CHECK(implTest.get_logimp_access_map().size() == 0);
+ logger_access_manager_test implTest;
- BOOST_MESSAGE( "----- logger_access_manager_getInstance_constructor_test end -----" );
+ // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
+ BOOST_CHECK_EQUAL(implTest.get_rotate_default_load_flag(), false);
+ // unit_test[2] コンストラクタでメンバ変数が初期化されているか。
+ BOOST_CHECK_EQUAL(implTest.call_get_rotate_default_verbose_displayed_contents(), "");
+ // unit_test[3] コンストラクタでメンバ変数が初期化されているか。
+ BOOST_CHECK(implTest.get_access_log_default_data().size() == 0);
+ // unit_test[4] コンストラクタでメンバ変数が初期化されているか。
+ BOOST_CHECK(implTest.get_logimp_access_map().size() == 0);
+
+ BOOST_MESSAGE("----- logger_access_manager_getInstance_constructor_test end -----");
}
void logger_access_manager_find_and_erase_logger_implement_access_test()
{
-
- BOOST_MESSAGE( "----- logger_access_manager_find_and_erase_logger_implement_access_test start -----" );
-
- logger_access_manager_test implTest;
-
- l7vs::logger_implement_access::rtn_init_flag = true;
-
- l7vs::logger_implement_access::rtn_checkRotateParameterComp_flag = true;
-
- l7vs::logger_implement_access::rtn_setAcLoggerConf_flag = true;
-
- std::cout << "find_logger_implement_access normal case01 size" << std::endl;
- {
- std::string aclogFilename = "aclog1";
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "datesize" ) );
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_FILESIZE , "10M" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "year" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "5/10 11:11" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
- l7vs::logger_implement_access::rtn_init_flag = true;
-
- logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename,rotatedata,vs_err);
-
- // unit_test[1] エラーが発生していないこと
- BOOST_CHECK( vs_err == false );
- // unit_test[2] ファイルがマップに登録されていること
- BOOST_CHECK( implTest.get_logimp_access_map().find(aclogFilename) != implTest.get_logimp_access_map().end() );
- // unit_test[3] アクセスログのインスタンスが生成されていること
- BOOST_CHECK( acinstance != NULL );
-
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
-
- // unit_test[4] エラーが発生していないこと
- BOOST_CHECK( vs_err == false );
- // unit_test[5] ファイルがマップに登録されていないこと
- BOOST_CHECK( implTest.get_logimp_access_map().find(aclogFilename) == implTest.get_logimp_access_map().end() );
-
- }
-
- std::cout << "find_logger_implement_access normal case02 size 0" << std::endl;
- {
- std::string aclogFilename = "aclog2";
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- rotatedata.clear();
-
- l7vs::logger_implement_access::rtn_init_flag = true;
-
- logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename,rotatedata,vs_err);
-
- // unit_test[6] エラーが発生していないこと
- BOOST_CHECK( vs_err == false );
- // unit_test[7] ファイルがマップに登録されていること
- BOOST_CHECK( implTest.get_logimp_access_map().find(aclogFilename) != implTest.get_logimp_access_map().end() );
- // unit_test[8] アクセスログのインスタンスが生成されていること
- BOOST_CHECK( acinstance != NULL );
-
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
-
- // unit_test[9] エラーが発生していないこと
- BOOST_CHECK( vs_err == false );
- // unit_test[10] ファイルがマップに登録されていないこと
- BOOST_CHECK( implTest.get_logimp_access_map().find(aclogFilename) == implTest.get_logimp_access_map().end() );
-
- }
-
-
- std::cout << "find_logger_implement_access vs_err case01 init err" << std::endl;
- {
- std::string aclogFilename = "aclog3";
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "datesize" ) );
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_FILESIZE , "10M" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "year" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "5/10 11:11" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
-
- l7vs::logger_implement_access::rtn_init_flag = false;
-
-
- logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename,rotatedata,vs_err);
-
- // unit_test[11] エラーが発生していること
- BOOST_CHECK( vs_err == true );
- // unit_test[12] エラーメッセージが格納されていること
- BOOST_CHECK( vs_err.get_message() == "logger_implement_access initialize err." );
- // unit_test[13] アクセスログのインスタンスが生成されていないこと
- BOOST_CHECK( acinstance == NULL );
-
- l7vs::logger_implement_access::rtn_init_flag = false;
-
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
-
- // unit_test[14] エラーが発生していること
- BOOST_CHECK( vs_err == true );
- // unit_test[15] ファイルがマップに登録されていないこと
- BOOST_CHECK( vs_err.get_message() == "access log erase instance find err." );
-
- }
-
-
- std::cout << "find_logger_implement_access vs_err case02 init err size0" << std::endl;
- {
- std::string aclogFilename = "aclog4";
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- rotatedata.clear();
-
- l7vs::logger_implement_access::rtn_init_flag = false;
-
-
- logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename,rotatedata,vs_err);
-
- // unit_test[16] エラーが発生していること
- BOOST_CHECK( vs_err == true );
- // unit_test[17] エラーメッセージが格納されていること
- BOOST_CHECK( vs_err.get_message() == "logger_implement_access initialize err." );
- // unit_test[18] アクセスログのインスタンスが生成されていないこと
- BOOST_CHECK( acinstance == NULL );
-
- l7vs::logger_implement_access::rtn_init_flag = false;
-
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
-
- // unit_test[19] エラーが発生していること
- BOOST_CHECK( vs_err == true );
- // unit_test[20] ファイルがマップに登録されていないこと
- BOOST_CHECK( vs_err.get_message() == "access log erase instance find err." );
-
- }
-
- std::cout << "find_logger_implement_access vs_err case02 init err size0" << std::endl;
- {
- std::string aclogFilename = "aclog4";
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- rotatedata.clear();
-
- l7vs::logger_implement_access::rtn_init_flag = false;
-
-
- logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename,rotatedata,vs_err);
-
- // unit_test[21] エラーが発生していること
- BOOST_CHECK( vs_err == true );
- // unit_test[22] エラーメッセージが格納されていること
- BOOST_CHECK( vs_err.get_message() == "logger_implement_access initialize err." );
- // unit_test[23] アクセスログのインスタンスが生成されていないこと
- BOOST_CHECK( acinstance == NULL );
-
- l7vs::logger_implement_access::rtn_init_flag = false;
-
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
-
- // unit_test[24] エラーが発生していること
- BOOST_CHECK( vs_err == true );
- // unit_test[25] ファイルがマップに登録されていないこと
- BOOST_CHECK( vs_err.get_message() == "access log erase instance find err." );
-
- }
-
- std::cout << "find_logger_implement_access etc case01 find⇒find⇒find⇒erase⇒erase⇒erase⇒erase" << std::endl;
- {
- std::string aclogFilename = "aclog4";
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
-
- l7vs::logger_implement_access::rtn_init_flag = true;
+ BOOST_MESSAGE("----- logger_access_manager_find_and_erase_logger_implement_access_test start -----");
+
+ logger_access_manager_test implTest;
- vs_err.setter( false , "" );
- logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename,rotatedata,vs_err);
-
- // unit_test[26] エラーが発生していないこと
- BOOST_CHECK( vs_err == false );
- // unit_test[27] エラーメッセージが格納されていること
- BOOST_CHECK( vs_err.get_message() == "" );
- // unit_test[28] アクセスログのインスタンスが生成されていないこと
- BOOST_CHECK( acinstance != NULL );
-
- vs_err.setter( false , "" );
- logger_implement_access *acinstance2 = implTest.find_logger_implement_access(aclogFilename,rotatedata,vs_err);
-
- // unit_test[29] エラーが発生していないこと
- BOOST_CHECK( vs_err == false );
- // unit_test[30] エラーメッセージが格納されていること
- BOOST_CHECK( vs_err.get_message() == "" );
- // unit_test[31] アクセスログのインスタンスが生成されていること
- BOOST_CHECK( acinstance == acinstance2 );
-
- vs_err.setter( false , "" );
- logger_implement_access *acinstance3 = implTest.find_logger_implement_access(aclogFilename,rotatedata,vs_err);
-
- // unit_test[32] エラーが発生していないこと
- BOOST_CHECK( vs_err == false );
- // unit_test[33] エラーメッセージが格納されていること
- BOOST_CHECK( vs_err.get_message() == "" );
- // unit_test[34] アクセスログのインスタンスが生成されていること
- BOOST_CHECK( acinstance == acinstance3 );
-
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
-
- // unit_test[35] エラーが発生していないこと
- BOOST_CHECK( vs_err == false );
- // unit_test[36] エラーメッセージが格納されていないこと
- BOOST_CHECK( vs_err.get_message() == "" );
-
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
-
- // unit_test[37] エラーが発生していないこと
- BOOST_CHECK( vs_err == false );
- // unit_test[38] エラーメッセージが格納されていないこと
- BOOST_CHECK( vs_err.get_message() == "" );
-
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
-
- // unit_test[39] エラーが発生していないこと
- BOOST_CHECK( vs_err == false );
- // unit_test[40] エラーメッセージが格納されていないこと
- BOOST_CHECK( vs_err.get_message() == "" );
-
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
-
- // unit_test[41] エラーが発生していること
- BOOST_CHECK( vs_err == true );
- // unit_test[42] エラーメッセージが格納されていること
- BOOST_CHECK( vs_err.get_message() == "access log erase instance find err." );
-
- }
-
- std::cout << "find_logger_implement_access etc case01 erase⇒erase⇒erase⇒erase" << std::endl;
- {
- std::string aclogFilename = "aclog4";
- accesslog_rotate_default_map_type rotatedata;
- l7vs::error_code vs_err;
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
-
l7vs::logger_implement_access::rtn_init_flag = true;
-
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
- // unit_test[43] エラーが発生していないこと
- BOOST_CHECK( vs_err == true );
- // unit_test[44] エラーメッセージが格納されていないこと
- BOOST_CHECK( vs_err.get_message() == "access log erase instance find err." );
+ l7vs::logger_implement_access::rtn_checkRotateParameterComp_flag = true;
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
+ l7vs::logger_implement_access::rtn_setAcLoggerConf_flag = true;
- // unit_test[45] エラーが発生していないこと
- BOOST_CHECK( vs_err == true );
- // unit_test[46] エラーメッセージが格納されていないこと
- BOOST_CHECK( vs_err.get_message() == "access log erase instance find err." );
+ std::cout << "find_logger_implement_access normal case01 size" << std::endl;
+ {
+ std::string aclogFilename = "aclog1";
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
- vs_err.setter( false , "" );
- implTest.erase_logger_implement_access(aclogFilename,vs_err);
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_TYPE , "size"));
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "datesize" ) );
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1"));
- // unit_test[47] エラーが発生していないこと
- BOOST_CHECK( vs_err == true );
- // unit_test[48] エラーメッセージが格納されていないこと
- BOOST_CHECK( vs_err.get_message() == "access log erase instance find err." );
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_FILESIZE , "10M"));
- }
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "year" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
-
-
-
- BOOST_MESSAGE( "----- logger_access_manager_find_and_erase_logger_implement_access_test end -----" );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "5/10 11:11" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
+
+ l7vs::logger_implement_access::rtn_init_flag = true;
+
+ logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename, rotatedata, vs_err);
+
+ // unit_test[1] エラーが発生していないこと
+ BOOST_CHECK(vs_err == false);
+ // unit_test[2] ファイルがマップに登録されていること
+ BOOST_CHECK(implTest.get_logimp_access_map().find(aclogFilename) != implTest.get_logimp_access_map().end());
+ // unit_test[3] アクセスログのインスタンスが生成されていること
+ BOOST_CHECK(acinstance != NULL);
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[4] エラーが発生していないこと
+ BOOST_CHECK(vs_err == false);
+ // unit_test[5] ファイルがマップに登録されていないこと
+ BOOST_CHECK(implTest.get_logimp_access_map().find(aclogFilename) == implTest.get_logimp_access_map().end());
+
+ }
+
+ std::cout << "find_logger_implement_access normal case02 size 0" << std::endl;
+ {
+ std::string aclogFilename = "aclog2";
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ rotatedata.clear();
+
+ l7vs::logger_implement_access::rtn_init_flag = true;
+
+ logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename, rotatedata, vs_err);
+
+ // unit_test[6] エラーが発生していないこと
+ BOOST_CHECK(vs_err == false);
+ // unit_test[7] ファイルがマップに登録されていること
+ BOOST_CHECK(implTest.get_logimp_access_map().find(aclogFilename) != implTest.get_logimp_access_map().end());
+ // unit_test[8] アクセスログのインスタンスが生成されていること
+ BOOST_CHECK(acinstance != NULL);
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[9] エラーが発生していないこと
+ BOOST_CHECK(vs_err == false);
+ // unit_test[10] ファイルがマップに登録されていないこと
+ BOOST_CHECK(implTest.get_logimp_access_map().find(aclogFilename) == implTest.get_logimp_access_map().end());
+
+ }
+
+
+ std::cout << "find_logger_implement_access vs_err case01 init err" << std::endl;
+ {
+ std::string aclogFilename = "aclog3";
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_TYPE , "size"));
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "datesize" ) );
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1"));
+
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_FILESIZE , "10M"));
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "year" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "5/10 11:11" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
+
+ l7vs::logger_implement_access::rtn_init_flag = false;
+
+
+ logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename, rotatedata, vs_err);
+
+ // unit_test[11] エラーが発生していること
+ BOOST_CHECK(vs_err == true);
+ // unit_test[12] エラーメッセージが格納されていること
+ BOOST_CHECK(vs_err.get_message() == "logger_implement_access initialize err.");
+ // unit_test[13] アクセスログのインスタンスが生成されていないこと
+ BOOST_CHECK(acinstance == NULL);
+
+ l7vs::logger_implement_access::rtn_init_flag = false;
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[14] エラーが発生していること
+ BOOST_CHECK(vs_err == true);
+ // unit_test[15] ファイルがマップに登録されていないこと
+ BOOST_CHECK(vs_err.get_message() == "access log erase instance find err.");
+
+ }
+
+
+ std::cout << "find_logger_implement_access vs_err case02 init err size0" << std::endl;
+ {
+ std::string aclogFilename = "aclog4";
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ rotatedata.clear();
+
+ l7vs::logger_implement_access::rtn_init_flag = false;
+
+
+ logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename, rotatedata, vs_err);
+
+ // unit_test[16] エラーが発生していること
+ BOOST_CHECK(vs_err == true);
+ // unit_test[17] エラーメッセージが格納されていること
+ BOOST_CHECK(vs_err.get_message() == "logger_implement_access initialize err.");
+ // unit_test[18] アクセスログのインスタンスが生成されていないこと
+ BOOST_CHECK(acinstance == NULL);
+
+ l7vs::logger_implement_access::rtn_init_flag = false;
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[19] エラーが発生していること
+ BOOST_CHECK(vs_err == true);
+ // unit_test[20] ファイルがマップに登録されていないこと
+ BOOST_CHECK(vs_err.get_message() == "access log erase instance find err.");
+
+ }
+
+ std::cout << "find_logger_implement_access vs_err case02 init err size0" << std::endl;
+ {
+ std::string aclogFilename = "aclog4";
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ rotatedata.clear();
+
+ l7vs::logger_implement_access::rtn_init_flag = false;
+
+
+ logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename, rotatedata, vs_err);
+
+ // unit_test[21] エラーが発生していること
+ BOOST_CHECK(vs_err == true);
+ // unit_test[22] エラーメッセージが格納されていること
+ BOOST_CHECK(vs_err.get_message() == "logger_implement_access initialize err.");
+ // unit_test[23] アクセスログのインスタンスが生成されていないこと
+ BOOST_CHECK(acinstance == NULL);
+
+ l7vs::logger_implement_access::rtn_init_flag = false;
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[24] エラーが発生していること
+ BOOST_CHECK(vs_err == true);
+ // unit_test[25] ファイルがマップに登録されていないこと
+ BOOST_CHECK(vs_err.get_message() == "access log erase instance find err.");
+
+ }
+
+ std::cout << "find_logger_implement_access etc case01 find⇒find⇒find⇒erase⇒erase⇒erase⇒erase" << std::endl;
+ {
+ std::string aclogFilename = "aclog4";
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_TYPE , "size"));
+
+ l7vs::logger_implement_access::rtn_init_flag = true;
+
+ vs_err.setter(false , "");
+ logger_implement_access *acinstance = implTest.find_logger_implement_access(aclogFilename, rotatedata, vs_err);
+
+ // unit_test[26] エラーが発生していないこと
+ BOOST_CHECK(vs_err == false);
+ // unit_test[27] エラーメッセージが格納されていること
+ BOOST_CHECK(vs_err.get_message() == "");
+ // unit_test[28] アクセスログのインスタンスが生成されていないこと
+ BOOST_CHECK(acinstance != NULL);
+
+ vs_err.setter(false , "");
+ logger_implement_access *acinstance2 = implTest.find_logger_implement_access(aclogFilename, rotatedata, vs_err);
+
+ // unit_test[29] エラーが発生していないこと
+ BOOST_CHECK(vs_err == false);
+ // unit_test[30] エラーメッセージが格納されていること
+ BOOST_CHECK(vs_err.get_message() == "");
+ // unit_test[31] アクセスログのインスタンスが生成されていること
+ BOOST_CHECK(acinstance == acinstance2);
+
+ vs_err.setter(false , "");
+ logger_implement_access *acinstance3 = implTest.find_logger_implement_access(aclogFilename, rotatedata, vs_err);
+
+ // unit_test[32] エラーが発生していないこと
+ BOOST_CHECK(vs_err == false);
+ // unit_test[33] エラーメッセージが格納されていること
+ BOOST_CHECK(vs_err.get_message() == "");
+ // unit_test[34] アクセスログのインスタンスが生成されていること
+ BOOST_CHECK(acinstance == acinstance3);
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[35] エラーが発生していないこと
+ BOOST_CHECK(vs_err == false);
+ // unit_test[36] エラーメッセージが格納されていないこと
+ BOOST_CHECK(vs_err.get_message() == "");
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[37] エラーが発生していないこと
+ BOOST_CHECK(vs_err == false);
+ // unit_test[38] エラーメッセージが格納されていないこと
+ BOOST_CHECK(vs_err.get_message() == "");
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[39] エラーが発生していないこと
+ BOOST_CHECK(vs_err == false);
+ // unit_test[40] エラーメッセージが格納されていないこと
+ BOOST_CHECK(vs_err.get_message() == "");
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[41] エラーが発生していること
+ BOOST_CHECK(vs_err == true);
+ // unit_test[42] エラーメッセージが格納されていること
+ BOOST_CHECK(vs_err.get_message() == "access log erase instance find err.");
+
+ }
+
+ std::cout << "find_logger_implement_access etc case01 erase⇒erase⇒erase⇒erase" << std::endl;
+ {
+ std::string aclogFilename = "aclog4";
+ accesslog_rotate_default_map_type rotatedata;
+ l7vs::error_code vs_err;
+
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_TYPE , "size"));
+
+ l7vs::logger_implement_access::rtn_init_flag = true;
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[43] エラーが発生していないこと
+ BOOST_CHECK(vs_err == true);
+ // unit_test[44] エラーメッセージが格納されていないこと
+ BOOST_CHECK(vs_err.get_message() == "access log erase instance find err.");
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[45] エラーが発生していないこと
+ BOOST_CHECK(vs_err == true);
+ // unit_test[46] エラーメッセージが格納されていないこと
+ BOOST_CHECK(vs_err.get_message() == "access log erase instance find err.");
+
+ vs_err.setter(false , "");
+ implTest.erase_logger_implement_access(aclogFilename, vs_err);
+
+ // unit_test[47] エラーが発生していないこと
+ BOOST_CHECK(vs_err == true);
+ // unit_test[48] エラーメッセージが格納されていないこと
+ BOOST_CHECK(vs_err.get_message() == "access log erase instance find err.");
+
+ }
+
+
+
+
+ BOOST_MESSAGE("----- logger_access_manager_find_and_erase_logger_implement_access_test end -----");
}
void logger_access_manager_get_rotate_default_verbose_displayed_contents_test()
{
-
- BOOST_MESSAGE( "----- logger_access_manager_get_rotate_default_verbose_displayed_contents_test start -----" );
-
- logger_access_manager_test implTest;
-
- std::string test_Msg = "default_info";
- std::string rtn_Msg = "";
-
- implTest.set_rotate_default_verbose_displayed_contents(test_Msg);
-
- rtn_Msg = implTest.call_get_rotate_default_verbose_displayed_contents();
-
- // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
- BOOST_CHECK_EQUAL(test_Msg, rtn_Msg);
-
- BOOST_MESSAGE( "----- logger_access_manager_get_rotate_default_verbose_displayed_contents_test end -----" );
+
+ BOOST_MESSAGE("----- logger_access_manager_get_rotate_default_verbose_displayed_contents_test start -----");
+
+ logger_access_manager_test implTest;
+
+ std::string test_Msg = "default_info";
+ std::string rtn_Msg = "";
+
+ implTest.set_rotate_default_verbose_displayed_contents(test_Msg);
+
+ rtn_Msg = implTest.call_get_rotate_default_verbose_displayed_contents();
+
+ // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
+ BOOST_CHECK_EQUAL(test_Msg, rtn_Msg);
+
+ BOOST_MESSAGE("----- logger_access_manager_get_rotate_default_verbose_displayed_contents_test end -----");
}
void logger_logrotate_utility_loglotation_utility_logic_error_test()
{
-
- BOOST_MESSAGE( "----- logger_logrotate_utility_loglotation_utility_logic_error_test start -----" );
- logger_access_manager_test implTest;
- std::string no_thorw_error_msg = "err_msg";
+ BOOST_MESSAGE("----- logger_logrotate_utility_loglotation_utility_logic_error_test start -----");
- try {
+ logger_access_manager_test implTest;
+ std::string no_thorw_error_msg = "err_msg";
- logger_logrotate_utility::loglotation_utility_logic_error( 999, no_thorw_error_msg, __FILE__, __LINE__);
- BOOST_ERROR(no_thorw_error_msg);
-
- }
- catch ( const std::logic_error& ex ) {
- // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
- BOOST_CHECK_EQUAL(ex.what(), no_thorw_error_msg);
- }
+ try {
+
+ logger_logrotate_utility::loglotation_utility_logic_error(999, no_thorw_error_msg, __FILE__, __LINE__);
+ BOOST_ERROR(no_thorw_error_msg);
+ } catch (const std::logic_error &ex) {
+ // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
+ BOOST_CHECK_EQUAL(ex.what(), no_thorw_error_msg);
+ }
- BOOST_MESSAGE( "----- logger_logrotate_utility_loglotation_utility_logic_error_test end -----" );
+
+ BOOST_MESSAGE("----- logger_logrotate_utility_loglotation_utility_logic_error_test end -----");
}
void logger_logrotate_utility_getRotationTimingValue_test()
{
-
- BOOST_MESSAGE( "----- logger_logrotate_utility_getRotationTimingValue_test start -----" );
-std::cout << "----- logger_logrotate_utility_getRotationTimingValue_test start -----\n";
-
- logger_access_manager_test implTest;
- std::string no_thorw_error_msg = "err_msg";
-
- // unit_test[1] loadConf method call
- //*ローテーション日時を取得すること 年
-
- LOG_ROTATION_TIMING_TAG rotation_timing = LOG_TIM_YEAR;
- std::string rotation_timing_value_key = "";
- std::string rtn_data = "";
-
- rotation_timing_value_key = "05/05 01:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_CHECK_EQUAL( rtn_data , "05050131" );
-
-
+
+ BOOST_MESSAGE("----- logger_logrotate_utility_getRotationTimingValue_test start -----");
+ std::cout << "----- logger_logrotate_utility_getRotationTimingValue_test start -----\n";
+
+ logger_access_manager_test implTest;
+ std::string no_thorw_error_msg = "err_msg";
+
+ // unit_test[1] loadConf method call
+ //*ローテーション日時を取得すること 年
+
+ LOG_ROTATION_TIMING_TAG rotation_timing = LOG_TIM_YEAR;
+ std::string rotation_timing_value_key = "";
+ std::string rtn_data = "";
+
+ rotation_timing_value_key = "05/05 01:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_CHECK_EQUAL(rtn_data , "05050131");
+
+
// unit_test[2] loadConf method call
- try {
- //*ローテーション日時(年)が不正な時 区切り文字無し すべて無し
- rotation_timing_value_key = "05050131";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 区切り文字無し すべて無し
+ rotation_timing_value_key = "05050131";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[3] loadConf method call
try {
- //*ローテーション日時(年)が不正な時 区切り文字無し 日付の区切りが無し
- rotation_timing_value_key = "0505 01:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ //*ローテーション日時(年)が不正な時 区切り文字無し 日付の区切りが無し
+ rotation_timing_value_key = "0505 01:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[4] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 区切り文字無し 日付、時間の間の区切りが無し
- rotation_timing_value_key = "05/0501:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 区切り文字無し 日付、時間の間の区切りが無し
+ rotation_timing_value_key = "05/0501:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[5] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 区切り文字無し 時間の間の区切りが無し
- rotation_timing_value_key = "05/05 0131";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 区切り文字無し 時間の間の区切りが無し
+ rotation_timing_value_key = "05/05 0131";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[6] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値無し 月が無し
- rotation_timing_value_key = "/05 01:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値無し 月が無し
+ rotation_timing_value_key = "/05 01:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[7] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値無し 日が無し
- rotation_timing_value_key = "05/ 01:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値無し 日が無し
+ rotation_timing_value_key = "05/ 01:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[8] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値無し 時間が無し
- rotation_timing_value_key = "05/05 :31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値無し 時間が無し
+ rotation_timing_value_key = "05/05 :31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[9] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値無し 分が無し
- rotation_timing_value_key = "05/05 01:";
- rotation_timing = LOG_TIM_YEAR;
+ try {
+ //*ローテーション日時(年)が不正な時 値無し 分が無し
+ rotation_timing_value_key = "05/05 01:";
+ rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[10] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値不正 月が不正
- rotation_timing_value_key = "a/05 01:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値不正 月が不正
+ rotation_timing_value_key = "a/05 01:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[11] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値不正 日が不正
- rotation_timing_value_key = "05/b 01:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値不正 日が不正
+ rotation_timing_value_key = "05/b 01:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[12] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値不正 時間が不正
- rotation_timing_value_key = "05/05 c:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値不正 時間が不正
+ rotation_timing_value_key = "05/05 c:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[13] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値不正 分が不正
- rotation_timing_value_key = "05/05 01:d";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値不正 分が不正
+ rotation_timing_value_key = "05/05 01:d";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[14] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値範囲不正 月が不正
- rotation_timing_value_key = "13/05 01:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値範囲不正 月が不正
+ rotation_timing_value_key = "13/05 01:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[15] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値範囲不正 日が不正
- rotation_timing_value_key = "05/32 01:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値範囲不正 日が不正
+ rotation_timing_value_key = "05/32 01:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[16] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値範囲不正 時間が不正
- rotation_timing_value_key = "05/05 24:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値範囲不正 時間が不正
+ rotation_timing_value_key = "05/05 24:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[17] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値範囲不正 時間が不正
- rotation_timing_value_key = "05/05 01:60";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値範囲不正 時間が不正
+ rotation_timing_value_key = "05/05 01:60";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[18] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 日付不正 存在しない日付
- rotation_timing_value_key = "04/31 01:31";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 日付不正 存在しない日付
+ rotation_timing_value_key = "04/31 01:31";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[19] loadConf method call
- try{
- //*ローテーション日時(年)が存在しなかった時にエラーとなること
- rotation_timing_value_key = "";
- rotation_timing = LOG_TIM_YEAR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が存在しなかった時にエラーとなること
+ rotation_timing_value_key = "";
+ rotation_timing = LOG_TIM_YEAR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Year Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Year Setting.");
}
// unit_test[20] loadConf method call
- //*ローテーション日時を取得すること 月
- rotation_timing_value_key = "15 18:21";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_CHECK_EQUAL(rtn_data, "151821");
+ //*ローテーション日時を取得すること 月
+ rotation_timing_value_key = "15 18:21";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_CHECK_EQUAL(rtn_data, "151821");
// unit_test[21] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 区切り文字無し すべて無し
- rotation_timing_value_key = "151821";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 区切り文字無し すべて無し
+ rotation_timing_value_key = "151821";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[22] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 区切り文字無し 日付、時間の間の区切りが無し
- rotation_timing_value_key = "1518:21";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 区切り文字無し 日付、時間の間の区切りが無し
+ rotation_timing_value_key = "1518:21";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[23] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 区切り文字無し 時間と分の間の区切りが無し
- rotation_timing_value_key = "15 1821";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 区切り文字無し 時間と分の間の区切りが無し
+ rotation_timing_value_key = "15 1821";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[24] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値無し 日が無し
- rotation_timing_value_key = " 18:21";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値無し 日が無し
+ rotation_timing_value_key = " 18:21";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[25] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値無し 時間が無し
- rotation_timing_value_key = "15 :21";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値無し 時間が無し
+ rotation_timing_value_key = "15 :21";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[26] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値無し 分が無し
- rotation_timing_value_key = "15 18:";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値無し 分が無し
+ rotation_timing_value_key = "15 18:";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[27] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値不正 日が不正
- rotation_timing_value_key = "a 18:21";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値不正 日が不正
+ rotation_timing_value_key = "a 18:21";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[28] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値不正 時間が不正
- rotation_timing_value_key = "15 b:21";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値不正 時間が不正
+ rotation_timing_value_key = "15 b:21";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[29] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値不正 分が不正
- rotation_timing_value_key = "15 18:c";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値不正 分が不正
+ rotation_timing_value_key = "15 18:c";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[30] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値範囲不正 日が不正
- rotation_timing_value_key = "0 18:21";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値範囲不正 日が不正
+ rotation_timing_value_key = "0 18:21";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[31] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値範囲不正 時間が不正
- rotation_timing_value_key = "15 -1:21";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値範囲不正 時間が不正
+ rotation_timing_value_key = "15 -1:21";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[32] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値範囲不正 時間が不正
- rotation_timing_value_key = "15 18:-15";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値範囲不正 時間が不正
+ rotation_timing_value_key = "15 18:-15";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[33] loadConf method call
- try{
- //*ローテーション日時(月)が存在しなかった時にエラーとなること
- rotation_timing_value_key = "";
- rotation_timing = LOG_TIM_MONTH;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が存在しなかった時にエラーとなること
+ rotation_timing_value_key = "";
+ rotation_timing = LOG_TIM_MONTH;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Month Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Month Setting.");
}
// unit_test[34] loadConf method call
- //*ローテーション日時を取得すること 週
- rotation_timing_value_key = "mon 23:59";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_CHECK_EQUAL(rtn_data, "12359"); //0:日 1:月 2:火 3:水 4:木 5:金 6:土
+ //*ローテーション日時を取得すること 週
+ rotation_timing_value_key = "mon 23:59";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_CHECK_EQUAL(rtn_data, "12359"); //0:日 1:月 2:火 3:水 4:木 5:金 6:土
// unit_test[35] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 区切り文字無し すべて無し
- rotation_timing_value_key = "mon2359";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 区切り文字無し すべて無し
+ rotation_timing_value_key = "mon2359";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[36] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 区切り文字無し 週、時間の間の区切りが無し
- rotation_timing_value_key = "mon23:59";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 区切り文字無し 週、時間の間の区切りが無し
+ rotation_timing_value_key = "mon23:59";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[37] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 区切り文字無し 時間と分の間の区切りが無し
- rotation_timing_value_key = "mon 2359";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 区切り文字無し 時間と分の間の区切りが無し
+ rotation_timing_value_key = "mon 2359";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[38] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値無し 週が無し
- rotation_timing_value_key = " 23:59";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値無し 週が無し
+ rotation_timing_value_key = " 23:59";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[39] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値無し 時間が無し
- rotation_timing_value_key = "mon :59";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値無し 時間が無し
+ rotation_timing_value_key = "mon :59";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[40] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値無し 分が無し
- rotation_timing_value_key = "mon 23:";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値無し 分が無し
+ rotation_timing_value_key = "mon 23:";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[41] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値不正 週が不正
- rotation_timing_value_key = "monday 23:59";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値不正 週が不正
+ rotation_timing_value_key = "monday 23:59";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[42] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値不正 時間が不正
- rotation_timing_value_key = "mon a:59";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値不正 時間が不正
+ rotation_timing_value_key = "mon a:59";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[43] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値不正 分が不正
- rotation_timing_value_key = "mon 23:b";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値不正 分が不正
+ rotation_timing_value_key = "mon 23:b";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[44] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値範囲不正 日が不正
- rotation_timing_value_key = "0 18:21";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値範囲不正 日が不正
+ rotation_timing_value_key = "0 18:21";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[45] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値範囲不正 時間が不正
- rotation_timing_value_key = "mon 99:59";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値範囲不正 時間が不正
+ rotation_timing_value_key = "mon 99:59";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[46] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値範囲不正 時間が不正
- rotation_timing_value_key = "mon 23:100";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値範囲不正 時間が不正
+ rotation_timing_value_key = "mon 23:100";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[47] loadConf method call
- try{
- //*ローテーション日時(週)が存在しなかった時にエラーとなること
- rotation_timing_value_key = "";
- rotation_timing = LOG_TIM_WEEK;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が存在しなかった時にエラーとなること
+ rotation_timing_value_key = "";
+ rotation_timing = LOG_TIM_WEEK;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Week Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Week Setting.");
}
-
+
// unit_test[48] loadConf method call
- //*ローテーション日時を取得すること 日
- rotation_timing_value_key = "12:00";
- rotation_timing = LOG_TIM_DATE;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_CHECK_EQUAL(rtn_data, "1200");
+ //*ローテーション日時を取得すること 日
+ rotation_timing_value_key = "12:00";
+ rotation_timing = LOG_TIM_DATE;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_CHECK_EQUAL(rtn_data, "1200");
// unit_test[49] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 区切り文字無し 時間と分の間の区切りが無し
- rotation_timing_value_key = "1200";
- rotation_timing = LOG_TIM_DATE;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 区切り文字無し 時間と分の間の区切りが無し
+ rotation_timing_value_key = "1200";
+ rotation_timing = LOG_TIM_DATE;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[50] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値無し 時間が無し
- rotation_timing_value_key = ":00";
- rotation_timing = LOG_TIM_DATE;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値無し 時間が無し
+ rotation_timing_value_key = ":00";
+ rotation_timing = LOG_TIM_DATE;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[51] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値無し 分が無し
- rotation_timing_value_key = "12:";
- rotation_timing = LOG_TIM_DATE;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値無し 分が無し
+ rotation_timing_value_key = "12:";
+ rotation_timing = LOG_TIM_DATE;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[52] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値不正 時間が不正
- rotation_timing_value_key = "a:00";
- rotation_timing = LOG_TIM_DATE;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値不正 時間が不正
+ rotation_timing_value_key = "a:00";
+ rotation_timing = LOG_TIM_DATE;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[53] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値不正 分が不正
- rotation_timing_value_key = "12:b";
- rotation_timing = LOG_TIM_DATE;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値不正 分が不正
+ rotation_timing_value_key = "12:b";
+ rotation_timing = LOG_TIM_DATE;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[54] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値範囲不正 時間が不正
- rotation_timing_value_key = "-21:00";
- rotation_timing = LOG_TIM_DATE;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値範囲不正 時間が不正
+ rotation_timing_value_key = "-21:00";
+ rotation_timing = LOG_TIM_DATE;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[55] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値範囲不正 時間が不正
- rotation_timing_value_key = "12:-59";
- rotation_timing = LOG_TIM_DATE;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値範囲不正 時間が不正
+ rotation_timing_value_key = "12:-59";
+ rotation_timing = LOG_TIM_DATE;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[56] loadConf method call
- try{
- //*ローテーション日時(日)が存在しなかった時にエラーとなること
- rotation_timing_value_key = "";
- rotation_timing = LOG_TIM_DATE;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が存在しなかった時にエラーとなること
+ rotation_timing_value_key = "";
+ rotation_timing = LOG_TIM_DATE;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Date Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Date Setting.");
}
-
+
// unit_test[57] loadConf method call
- //*ローテーション日時を取得すること 時
- rotation_timing_value_key = "45";
- rotation_timing = LOG_TIM_HOUR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_CHECK_EQUAL(rtn_data, "45");
+ //*ローテーション日時を取得すること 時
+ rotation_timing_value_key = "45";
+ rotation_timing = LOG_TIM_HOUR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_CHECK_EQUAL(rtn_data, "45");
// unit_test[58] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値無し 分が無し
- rotation_timing_value_key = "";
- rotation_timing = LOG_TIM_HOUR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値無し 分が無し
+ rotation_timing_value_key = "";
+ rotation_timing = LOG_TIM_HOUR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Hour Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Hour Setting.");
}
// unit_test[59] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値不正 分が不正
- rotation_timing_value_key = "a";
- rotation_timing = LOG_TIM_HOUR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値不正 分が不正
+ rotation_timing_value_key = "a";
+ rotation_timing = LOG_TIM_HOUR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Hour Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Hour Error.");
}
// unit_test[60] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値範囲不正 分が不正
- rotation_timing_value_key = "120";
- rotation_timing = LOG_TIM_HOUR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値範囲不正 分が不正
+ rotation_timing_value_key = "120";
+ rotation_timing = LOG_TIM_HOUR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Hour Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Hour Error.");
}
// unit_test[61] loadConf method call
- try{
- //*ローテーション日時(日)が存在しなかった時にエラーとなること
- rotation_timing_value_key = "";
- rotation_timing = LOG_TIM_HOUR;
- rtn_data = logger_logrotate_utility::check_rotate_timing_value( rotation_timing_value_key, rotation_timing );
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が存在しなかった時にエラーとなること
+ rotation_timing_value_key = "";
+ rotation_timing = LOG_TIM_HOUR;
+ rtn_data = logger_logrotate_utility::check_rotate_timing_value(rotation_timing_value_key, rotation_timing);
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Hour Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Hour Setting.");
}
-
-
-std::cout << "----- logger_logrotate_utility_getRotationTimingValue_test end -----\n";
- BOOST_MESSAGE( "----- logger_logrotate_utility_getRotationTimingValue_test end -----" );
+
+ std::cout << "----- logger_logrotate_utility_getRotationTimingValue_test end -----\n";
+
+ BOOST_MESSAGE("----- logger_logrotate_utility_getRotationTimingValue_test end -----");
}
void logger_logrotate_utility_set_appender_test()
{
-
- BOOST_MESSAGE( "----- logger_logrotate_utility_set_appender_test start -----" );
-
- logger_access_manager_test implTest;
- std::string no_thorw_error_msg = "err_msg";
- appender_property log_property;
-
- log_property.log_filename_key = "";
- log_property.log_filename_value = "";
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_SIZE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 1;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = 1;
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "";
-
- char *logger_layout = (char*)LOGGER_ACCESS_LAYOUT;
-
- std::string log_category = "./test";
-
- std::cout << "set_appender normal case01 size" << std::endl;
- {
- no_thorw_error_msg = "exception throw";
-
- log_category = "./test1";
-
+
+ BOOST_MESSAGE("----- logger_logrotate_utility_set_appender_test start -----");
+
+ logger_access_manager_test implTest;
+ std::string no_thorw_error_msg = "err_msg";
+ appender_property log_property;
+
log_property.log_filename_key = "";
- log_property.log_filename_value = log_category;
+ log_property.log_filename_value = "";
log_property.rotation_key = "";
log_property.rotation_value = LOG_ROT_SIZE;
log_property.max_backup_index_key = "";
log_property.max_backup_index_value = 1;
log_property.max_file_size_key = "";
- log_property.max_file_size_value = (100U * 1024 * 1024);
+ log_property.max_file_size_value = 1;
log_property.rotation_timing_key = "";
log_property.rotation_timing_value = LOG_TIM_YEAR;
log_property.rotation_timing_value_key = "";
log_property.rotation_timing_value_value = "";
- try {
+ char *logger_layout = (char *)LOGGER_ACCESS_LAYOUT;
- logger_logrotate_utility::set_appender(log_property,logger_layout,log_category);
- std::cout << "set_appender succeed\n";
- }
- catch ( const std::logic_error& ex ) {
- // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
- BOOST_ERROR(no_thorw_error_msg);
- }
-
- }
+ std::string log_category = "./test";
- std::cout << "set_appender normal case02 date" << std::endl;
- {
- no_thorw_error_msg = "exception throw";
-
- log_category = "./test2";
-
- log_property.log_filename_key = "";
- log_property.log_filename_value = log_category;
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_DATE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 1;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = (100U * 1024 * 1024);
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "05050131";
+ std::cout << "set_appender normal case01 size" << std::endl;
+ {
+ no_thorw_error_msg = "exception throw";
+
+ log_category = "./test1";
+
+ log_property.log_filename_key = "";
+ log_property.log_filename_value = log_category;
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_SIZE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = 1;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = (100U * 1024 * 1024);
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "";
+
+ try {
+
+ logger_logrotate_utility::set_appender(log_property, logger_layout, log_category);
+ std::cout << "set_appender succeed\n";
+ } catch (const std::logic_error &ex) {
+ // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
+ BOOST_ERROR(no_thorw_error_msg);
+ }
+
+ }
- try {
+ std::cout << "set_appender normal case02 date" << std::endl;
+ {
+ no_thorw_error_msg = "exception throw";
- logger_logrotate_utility::set_appender(log_property,logger_layout,log_category);
- std::cout << "set_appender succeed\n";
- }
- catch ( const std::logic_error& ex ) {
- // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
- BOOST_ERROR(no_thorw_error_msg);
- }
-
- }
+ log_category = "./test2";
+
+ log_property.log_filename_key = "";
+ log_property.log_filename_value = log_category;
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_DATE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = 1;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = (100U * 1024 * 1024);
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "05050131";
+
+ try {
+
+ logger_logrotate_utility::set_appender(log_property, logger_layout, log_category);
+ std::cout << "set_appender succeed\n";
+ } catch (const std::logic_error &ex) {
+ // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
+ BOOST_ERROR(no_thorw_error_msg);
+ }
+
+ }
+
+ std::cout << "set_appender normal case03 datesize" << std::endl;
+ {
+ no_thorw_error_msg = "exception throw";
+
+ log_category = "./test3";
- std::cout << "set_appender normal case03 datesize" << std::endl;
- {
- no_thorw_error_msg = "exception throw";
-
- log_category = "./test3";
-
- log_property.log_filename_key = "";
- log_property.log_filename_value = log_category;
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_DATESIZE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 1;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = (100U * 1024 * 1024);
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "05050131";
+ log_property.log_filename_key = "";
+ log_property.log_filename_value = log_category;
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_DATESIZE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = 1;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = (100U * 1024 * 1024);
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "05050131";
+
+ try {
+
+ logger_logrotate_utility::set_appender(log_property, logger_layout, log_category);
+ std::cout << "set_appender succeed\n";
+ } catch (const std::logic_error &ex) {
+ // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
+ BOOST_ERROR(no_thorw_error_msg);
+ }
+
+ }
+
+ /*
+ std::cout << "set_appender err case01 size" << std::endl;
+ {
+ no_thorw_error_msg = "not exception throw";
+
+ log_category = "./test4";
+
+ log_property.log_filename_key = "";
+ //log_property.log_filename_value = "";
+ log_property.log_filename_value = "";
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_SIZE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = 1;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = (100U * 1024 * 1024);
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "";
+
+ try {
+
+ logger_logrotate_utility::set_appender(log_property,logger_layout,log_category);
+
+ BOOST_ERROR(no_thorw_error_msg);
+
+ }
+ catch ( const std::logic_error& ex ) {
+ // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
+ no_thorw_error_msg = "File Create Failed:" + log_property.log_filename_value;
+ BOOST_ERROR(no_thorw_error_msg);
+ }
+
+ }
+
+ std::cout << "set_appender err case02 date" << std::endl;
+ {
+ no_thorw_error_msg = "not exception throw";
+
+ log_category = "./test5";
+
+ log_property.log_filename_key = "";
+ log_property.log_filename_value = "";
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_DATE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = 1;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = (100U * 1024 * 1024);
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "05050131";
+
+ try {
+
+ logger_logrotate_utility::set_appender(log_property,logger_layout,log_category);
+
+ BOOST_ERROR(no_thorw_error_msg);
+
+ }
+ catch ( const std::logic_error& ex ) {
+ // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
+ no_thorw_error_msg = "File Create Failed:" + log_property.log_filename_value;
+ BOOST_ERROR(no_thorw_error_msg);
+ }
+
+ }
+
+ std::cout << "set_appender err case03 datesize" << std::endl;
+ {
+ no_thorw_error_msg = "not exception throw";
+
+ log_category = "./test6";
+
+ log_property.log_filename_key = "";
+ log_property.log_filename_value = "";
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_DATESIZE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = 1;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = (100U * 1024 * 1024);
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "05050131";
+
+ try {
+
+ logger_logrotate_utility::set_appender(log_property,logger_layout,log_category);
+
+ BOOST_ERROR(no_thorw_error_msg);
+ }
+ catch ( const std::logic_error& ex ) {
+ // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
+ no_thorw_error_msg = "File Create Failed:" + log_property.log_filename_value;
+ BOOST_CHECK_EQUAL(ex.what(), no_thorw_error_msg);
+ }
+
+ }
+
+ std::cout << "set_appender err case04 etc" << std::endl;
+ {
+ no_thorw_error_msg = "not exception throw";
+
+ log_category = "./test7";
+
+ log_property.log_filename_key = "";
+ log_property.log_filename_value = log_category;
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_DATESIZE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = -100;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = -1;
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "zzz";
+
+ try {
+
+ logger_logrotate_utility::set_appender(log_property,logger_layout,log_category);
+
+ BOOST_ERROR(no_thorw_error_msg);
+ }
+ catch ( const std::logic_error& ex ) {
+ // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
+ no_thorw_error_msg = "File Create Failed:" + log_property.log_filename_value;
+ BOOST_CHECK_EQUAL(ex.what(), no_thorw_error_msg);
+ }
+
+ }
+ */
+
+ BOOST_MESSAGE("----- logger_logrotate_utility_set_appender_test end -----");
+}
- try {
- logger_logrotate_utility::set_appender(log_property,logger_layout,log_category);
- std::cout << "set_appender succeed\n";
- }
- catch ( const std::logic_error& ex ) {
- // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
- BOOST_ERROR(no_thorw_error_msg);
- }
-
- }
+void logger_logrotate_utility_acccess_log_LogrotateParamCheck_test()
+{
+
+ BOOST_MESSAGE("----- logger_logrotate_utility_acccess_log_LogrotateParamCheck_test start -----");
+
+ bool rtn_flag = true;
+ accesslog_rotate_map_type rotatedata;
+ appender_property log_property;
-/*
- std::cout << "set_appender err case01 size" << std::endl;
- {
- no_thorw_error_msg = "not exception throw";
-
- log_category = "./test4";
-
log_property.log_filename_key = "";
- //log_property.log_filename_value = "";
log_property.log_filename_value = "";
log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_SIZE;
+ log_property.rotation_value = LOG_ROT_DATESIZE;
log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 1;
+ log_property.max_backup_index_value = 0;
log_property.max_file_size_key = "";
- log_property.max_file_size_value = (100U * 1024 * 1024);
+ log_property.max_file_size_value = 0;
log_property.rotation_timing_key = "";
log_property.rotation_timing_value = LOG_TIM_YEAR;
log_property.rotation_timing_value_key = "";
log_property.rotation_timing_value_value = "";
- try {
+ std::cout << "acccess_log_LogrotateParamCheck normal case01 size" << std::endl;
+ {
+ rotatedata.clear();
- logger_logrotate_utility::set_appender(log_property,logger_layout,log_category);
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_TYPE , "size"));
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "datesize" ) );
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1"));
- BOOST_ERROR(no_thorw_error_msg);
-
- }
- catch ( const std::logic_error& ex ) {
- // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
- no_thorw_error_msg = "File Create Failed:" + log_property.log_filename_value;
- BOOST_ERROR(no_thorw_error_msg);
- }
-
- }
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_FILESIZE , "1000K"));
- std::cout << "set_appender err case02 date" << std::endl;
- {
- no_thorw_error_msg = "not exception throw";
-
- log_category = "./test5";
-
- log_property.log_filename_key = "";
- log_property.log_filename_value = "";
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_DATE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 1;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = (100U * 1024 * 1024);
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "05050131";
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "year" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
- try {
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "5/10 11:11" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
- logger_logrotate_utility::set_appender(log_property,logger_layout,log_category);
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
+
+
+ log_property.log_filename_key = "";
+ log_property.log_filename_value = "";
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_DATESIZE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = 0;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = 0;
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "";
+
+
+ rtn_flag = logger_logrotate_utility::acccess_log_LogrotateParamCheck(
+ rotatedata,
+ log_property);
+
+ BOOST_CHECK_EQUAL(rtn_flag, true);
+
+ BOOST_CHECK(log_property.rotation_value == LOG_ROT_SIZE);
+ BOOST_CHECK(log_property.max_backup_index_value == 1);
+ BOOST_CHECK(log_property.max_file_size_value == (1000U * 1024));
- BOOST_ERROR(no_thorw_error_msg);
-
- }
- catch ( const std::logic_error& ex ) {
- // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
- no_thorw_error_msg = "File Create Failed:" + log_property.log_filename_value;
- BOOST_ERROR(no_thorw_error_msg);
}
-
- }
- std::cout << "set_appender err case03 datesize" << std::endl;
- {
- no_thorw_error_msg = "not exception throw";
-
- log_category = "./test6";
-
- log_property.log_filename_key = "";
- log_property.log_filename_value = "";
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_DATESIZE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 1;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = (100U * 1024 * 1024);
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "05050131";
+ std::cout << "acccess_log_LogrotateParamCheck normal case02 date" << std::endl;
+ {
+ rotatedata.clear();
- try {
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_TYPE , "date"));
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "datesize" ) );
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1"));
- logger_logrotate_utility::set_appender(log_property,logger_layout,log_category);
-
- BOOST_ERROR(no_thorw_error_msg);
- }
- catch ( const std::logic_error& ex ) {
- // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
- no_thorw_error_msg = "File Create Failed:" + log_property.log_filename_value;
- BOOST_CHECK_EQUAL(ex.what(), no_thorw_error_msg);
- }
-
- }
-
- std::cout << "set_appender err case04 etc" << std::endl;
- {
- no_thorw_error_msg = "not exception throw";
-
- log_category = "./test7";
-
- log_property.log_filename_key = "";
- log_property.log_filename_value = log_category;
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_DATESIZE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = -100;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = -1;
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "zzz";
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_FILESIZE , "1000K" ) );
- try {
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_ROTATION_TIMING , "year"));
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
+
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATION_TIMING_VALUE , "05/05 01:31"));
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
+
+
+ log_property.log_filename_key = "";
+ log_property.log_filename_value = "";
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_DATESIZE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = 0;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = 0;
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "";
+
+
+ rtn_flag = logger_logrotate_utility::acccess_log_LogrotateParamCheck(
+ rotatedata,
+ log_property);
+
+ BOOST_CHECK_EQUAL(rtn_flag, true);
+
+ BOOST_CHECK(log_property.rotation_value == LOG_ROT_DATE);
+ BOOST_CHECK(log_property.max_backup_index_value == 1);
+ BOOST_CHECK(log_property.rotation_timing_value == LOG_TIM_YEAR);
+ BOOST_CHECK(log_property.rotation_timing_value_value == "05050131");
- logger_logrotate_utility::set_appender(log_property,logger_layout,log_category);
-
- BOOST_ERROR(no_thorw_error_msg);
}
- catch ( const std::logic_error& ex ) {
- // unit_test[1] コンストラクタでメンバ変数が初期化されているか。
- no_thorw_error_msg = "File Create Failed:" + log_property.log_filename_value;
- BOOST_CHECK_EQUAL(ex.what(), no_thorw_error_msg);
+
+ std::cout << "acccess_log_LogrotateParamCheck normal case03 datesize" << std::endl;
+ {
+ rotatedata.clear();
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_TYPE , "datesize"));
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1"));
+
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_FILESIZE , "1000K"));
+
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_ROTATION_TIMING , "year"));
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
+
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATION_TIMING_VALUE , "05/05 01:31"));
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
+
+
+ log_property.log_filename_key = "";
+ log_property.log_filename_value = "";
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_DATESIZE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = 0;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = 0;
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "";
+
+
+ rtn_flag = logger_logrotate_utility::acccess_log_LogrotateParamCheck(
+ rotatedata,
+ log_property);
+
+ BOOST_CHECK_EQUAL(rtn_flag, true);
+
+ BOOST_CHECK(log_property.rotation_value == LOG_ROT_DATESIZE);
+ BOOST_CHECK(log_property.max_backup_index_value == 1);
+ BOOST_CHECK(log_property.max_file_size_value == (1000U * 1024));
+ BOOST_CHECK(log_property.rotation_timing_value == LOG_TIM_YEAR);
+ BOOST_CHECK(log_property.rotation_timing_value_value == "05050131");
+
+ }
+
+ std::cout << "acccess_log_LogrotateParamCheck err case01 datesize no size" << std::endl;
+ {
+ rotatedata.clear();
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_TYPE , "datesize"));
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1"));
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_FILESIZE , "1000K" ) );
+
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_ROTATION_TIMING , "year"));
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
+
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATION_TIMING_VALUE , "05/05 01:31"));
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
+
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
+
+
+ log_property.log_filename_key = "";
+ log_property.log_filename_value = "";
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_DATESIZE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = 0;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = 0;
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "";
+
+
+ rtn_flag = logger_logrotate_utility::acccess_log_LogrotateParamCheck(
+ rotatedata,
+ log_property);
+
+ BOOST_CHECK_EQUAL(rtn_flag, false);
+
}
-
- }
-*/
- BOOST_MESSAGE( "----- logger_logrotate_utility_set_appender_test end -----" );
-}
+ std::cout << "acccess_log_LogrotateParamCheck err case02 datesize no date" << std::endl;
+ {
+ rotatedata.clear();
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_TYPE , "datesize"));
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1"));
-void logger_logrotate_utility_acccess_log_LogrotateParamCheck_test()
-{
-
- BOOST_MESSAGE( "----- logger_logrotate_utility_acccess_log_LogrotateParamCheck_test start -----" );
-
- bool rtn_flag = true;
- accesslog_rotate_map_type rotatedata;
- appender_property log_property;
-
- log_property.log_filename_key = "";
- log_property.log_filename_value = "";
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_DATESIZE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 0;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = 0;
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "";
-
- std::cout << "acccess_log_LogrotateParamCheck normal case01 size" << std::endl;
- {
- rotatedata.clear();
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "datesize" ) );
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_FILESIZE , "1000K" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "year" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "5/10 11:11" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
-
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATE_MAX_FILESIZE , "1000K"));
- log_property.log_filename_key = "";
- log_property.log_filename_value = "";
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_DATESIZE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 0;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = 0;
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "";
-
-
- rtn_flag = logger_logrotate_utility::acccess_log_LogrotateParamCheck(
- rotatedata,
- log_property);
-
- BOOST_CHECK_EQUAL(rtn_flag, true);
-
- BOOST_CHECK(log_property.rotation_value == LOG_ROT_SIZE);
- BOOST_CHECK(log_property.max_backup_index_value == 1);
- BOOST_CHECK(log_property.max_file_size_value == (1000U * 1024));
-
- }
-
- std::cout << "acccess_log_LogrotateParamCheck normal case02 date" << std::endl;
- {
- rotatedata.clear();
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "datesize" ) );
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_FILESIZE , "1000K" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "year" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "05/05 01:31" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
-
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "year" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
- log_property.log_filename_key = "";
- log_property.log_filename_value = "";
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_DATESIZE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 0;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = 0;
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "";
-
-
- rtn_flag = logger_logrotate_utility::acccess_log_LogrotateParamCheck(
- rotatedata,
- log_property);
-
- BOOST_CHECK_EQUAL(rtn_flag, true);
-
- BOOST_CHECK(log_property.rotation_value == LOG_ROT_DATE);
- BOOST_CHECK(log_property.max_backup_index_value == 1);
- BOOST_CHECK(log_property.rotation_timing_value == LOG_TIM_YEAR);
- BOOST_CHECK(log_property.rotation_timing_value_value == "05050131");
-
- }
-
- std::cout << "acccess_log_LogrotateParamCheck normal case03 datesize" << std::endl;
- {
- rotatedata.clear();
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "datesize" ) );
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_FILESIZE , "1000K" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "year" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "05/05 01:31" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
-
+ rotatedata.insert(make_pair(ACCESS_LOG_ROTATION_TIMING_VALUE , "05/05 01:31"));
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
- log_property.log_filename_key = "";
- log_property.log_filename_value = "";
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_DATESIZE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 0;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = 0;
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "";
-
-
- rtn_flag = logger_logrotate_utility::acccess_log_LogrotateParamCheck(
- rotatedata,
- log_property);
-
- BOOST_CHECK_EQUAL(rtn_flag, true);
-
- BOOST_CHECK(log_property.rotation_value == LOG_ROT_DATESIZE);
- BOOST_CHECK(log_property.max_backup_index_value == 1);
- BOOST_CHECK(log_property.max_file_size_value == (1000U * 1024));
- BOOST_CHECK(log_property.rotation_timing_value == LOG_TIM_YEAR);
- BOOST_CHECK(log_property.rotation_timing_value_value == "05050131");
-
- }
-
- std::cout << "acccess_log_LogrotateParamCheck err case01 datesize no size" << std::endl;
- {
- rotatedata.clear();
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "datesize" ) );
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_FILESIZE , "1000K" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "year" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "05/05 01:31" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
-
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
- log_property.log_filename_key = "";
- log_property.log_filename_value = "";
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_DATESIZE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 0;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = 0;
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "";
-
-
- rtn_flag = logger_logrotate_utility::acccess_log_LogrotateParamCheck(
- rotatedata,
- log_property);
-
- BOOST_CHECK_EQUAL(rtn_flag, false);
-
- }
-
- std::cout << "acccess_log_LogrotateParamCheck err case02 datesize no date" << std::endl;
- {
- rotatedata.clear();
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "size" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "date" ) );
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_TYPE , "datesize" ) );
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_BACKUP_INDEX , "1" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_MAX_FILESIZE , "1000K" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "year" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "month" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "week" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "date" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATE_ROTATION_TIMING , "hour" ) );
-
- rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "05/05 01:31" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "11 5:5" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sun 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "mon 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "tue 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "wed 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "thu 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "fri 10:10" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "sat 10:10" ) );
-
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
- //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
-
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "12:21" ) );
+ //rotatedata.insert( make_pair( ACCESS_LOG_ROTATION_TIMING_VALUE , "55" ) );
+
+
+ log_property.log_filename_key = "";
+ log_property.log_filename_value = "";
+ log_property.rotation_key = "";
+ log_property.rotation_value = LOG_ROT_DATESIZE;
+ log_property.max_backup_index_key = "";
+ log_property.max_backup_index_value = 0;
+ log_property.max_file_size_key = "";
+ log_property.max_file_size_value = 0;
+ log_property.rotation_timing_key = "";
+ log_property.rotation_timing_value = LOG_TIM_YEAR;
+ log_property.rotation_timing_value_key = "";
+ log_property.rotation_timing_value_value = "";
- log_property.log_filename_key = "";
- log_property.log_filename_value = "";
- log_property.rotation_key = "";
- log_property.rotation_value = LOG_ROT_DATESIZE;
- log_property.max_backup_index_key = "";
- log_property.max_backup_index_value = 0;
- log_property.max_file_size_key = "";
- log_property.max_file_size_value = 0;
- log_property.rotation_timing_key = "";
- log_property.rotation_timing_value = LOG_TIM_YEAR;
- log_property.rotation_timing_value_key = "";
- log_property.rotation_timing_value_value = "";
-
-
- rtn_flag = logger_logrotate_utility::acccess_log_LogrotateParamCheck(
- rotatedata,
- log_property);
-
- BOOST_CHECK_EQUAL(rtn_flag, false);
- }
+ rtn_flag = logger_logrotate_utility::acccess_log_LogrotateParamCheck(
+ rotatedata,
+ log_property);
+
+ BOOST_CHECK_EQUAL(rtn_flag, false);
+
+ }
- BOOST_MESSAGE( "----- logger_logrotate_utility_acccess_log_LogrotateParamCheck_test end -----" );
+ BOOST_MESSAGE("----- logger_logrotate_utility_acccess_log_LogrotateParamCheck_test end -----");
}
test_suite*
-init_unit_test_suite(int argc, char* argv[])
+init_unit_test_suite(int argc, char *argv[])
{
- test_suite* test = BOOST_TEST_SUITE("logger_access_manager_test");
- test->add(BOOST_TEST_CASE(logger_access_manager_getInstance_constructor_test));
- test->add(BOOST_TEST_CASE(logger_access_manager_access_log_rotate_loadConf_test));
- test->add(BOOST_TEST_CASE(logger_access_manager_find_and_erase_logger_implement_access_test));
- test->add(BOOST_TEST_CASE(logger_access_manager_get_rotate_default_verbose_displayed_contents_test));
- test->add(BOOST_TEST_CASE(logger_logrotate_utility_loglotation_utility_logic_error_test));
- test->add(BOOST_TEST_CASE(logger_logrotate_utility_getRotationTimingValue_test));
- test->add(BOOST_TEST_CASE(logger_logrotate_utility_set_appender_test));
- test->add(BOOST_TEST_CASE(logger_logrotate_utility_acccess_log_LogrotateParamCheck_test));
-
- return test;
+ test_suite *test = BOOST_TEST_SUITE("logger_access_manager_test");
+ test->add(BOOST_TEST_CASE(logger_access_manager_getInstance_constructor_test));
+ test->add(BOOST_TEST_CASE(logger_access_manager_access_log_rotate_loadConf_test));
+ test->add(BOOST_TEST_CASE(logger_access_manager_find_and_erase_logger_implement_access_test));
+ test->add(BOOST_TEST_CASE(logger_access_manager_get_rotate_default_verbose_displayed_contents_test));
+ test->add(BOOST_TEST_CASE(logger_logrotate_utility_loglotation_utility_logic_error_test));
+ test->add(BOOST_TEST_CASE(logger_logrotate_utility_getRotationTimingValue_test));
+ test->add(BOOST_TEST_CASE(logger_logrotate_utility_set_appender_test));
+ test->add(BOOST_TEST_CASE(logger_logrotate_utility_acccess_log_LogrotateParamCheck_test));
+
+ return test;
}
using namespace l7vs;
-extern void* _start; //開始位置
-extern void* _etext; //終了位置
+extern void *_start; //開始位置
+extern void *_etext; //終了位置
#define BUF_LEN (4096)
-typedef std::map< LOG_CATEGORY_TAG, LOG_LEVEL_TAG>
- category_level_map_type;
+typedef std::map< LOG_CATEGORY_TAG, LOG_LEVEL_TAG>
+category_level_map_type;
int resetConfigurationCalled = 0;
bool getRootLoggerReturnNull = false;
int patternLayoutCtorCalled = 0;
-void* patternLayoutCreated = 0;
+void *patternLayoutCreated = 0;
bool patternLayoutNewFail = false;
int fileAppenderCtorCalled = 0;
-void* fileAppenderCreated = 0;
+void *fileAppenderCreated = 0;
bool fileAppenderNewFail = false;
std::string fileAppenderCtorArgFilename = "";
log4cxx::LayoutPtr fileAppenderCtorArgLayout = 0;
bool fileAppenderSetFileArgAppend = false;
bool fileAppenderSetFileArgBufferedIO = false;
size_t fileAppenderSetFileArgBufferSize = 0;
-void* fileAppenderSetFileArgPool = 0;
+void *fileAppenderSetFileArgPool = 0;
bool fileAppenderSetFileException = false;
int poolCtorCalled = 0;
-void* poolCreated = 0;
+void *poolCreated = 0;
int syslogAppenderCtorCalled = 0;
-void* syslogAppenderCreated = 0;
+void *syslogAppenderCreated = 0;
bool syslogAppenderNewFail = false;
log4cxx::LayoutPtr syslogAppenderCtorArgLayout = 0;
int syslogAppenderCtorArgFacility = 0;
bool loggerGetLoggerReturnNull = false;
int fixedWindowCtorCalled = 0;
-void* fixedWindowCreated = 0;
+void *fixedWindowCreated = 0;
bool fixedWindowNewFail = false;
int sizeBaseCtorCalled = 0;
-void* sizeBaseCreated = 0;
+void *sizeBaseCreated = 0;
bool sizeBaseNewFail = false;
int strictPolicyCtorCalled = 0;
-void* strictPolicyCreated = 0;
+void *strictPolicyCreated = 0;
bool strictPolicyNewFail = false;
int timeSizePolicyCtorCalled = 0;
-void* timeSizePolicyCreated = 0;
+void *timeSizePolicyCreated = 0;
bool timeSizePolicyNewFail = false;
int rollingAppenderCtorCalled = 0;
-void* rollingAppenderCreated = 0;
+void *rollingAppenderCreated = 0;
bool rollingAppenderNewFail = false;
int loggerGetLevelCalled = 0;
LOG_LEVEL_TAG snmpGetLevelReturns;
int appenderSkeletonSetLayoutCalled = 0;
-void* appenderSkeletonSetLayoutArgLayout = 0;
+void *appenderSkeletonSetLayoutArgLayout = 0;
int rollingAppenderSkeletonActivateOptionsCalled = 0;
extern "C"
{
void resetConfiguration_() {
- resetConfigurationCalled = 1;
- ((void (*)()) dlsym(RTLD_NEXT, "_ZN7log4cxx10LogManager18resetConfigurationEv"))();
+ resetConfigurationCalled = 1;
+ ((void (*)()) dlsym(RTLD_NEXT, "_ZN7log4cxx10LogManager18resetConfigurationEv"))();
}
log4cxx::LoggerPtr getRootLogger_() {
- getRootLoggerCalled = 1;
- if (getRootLoggerReturnNull) {
- return 0;
- }
- return ((log4cxx::LoggerPtr (*)()) dlsym(RTLD_NEXT, "_ZN7log4cxx6Logger13getRootLoggerEv"))();
+ getRootLoggerCalled = 1;
+ if (getRootLoggerReturnNull) {
+ return 0;
+ }
+ return ((log4cxx::LoggerPtr (*)()) dlsym(RTLD_NEXT, "_ZN7log4cxx6Logger13getRootLoggerEv"))();
}
log4cxx::PatternLayout* patternLayoutCtor1_(log4cxx::PatternLayout* ts, const std::string& pattern) {
- patternLayoutCtorCalled = 1;
- patternLayoutCreated = ts;
- return ((log4cxx::PatternLayout* (*)(log4cxx::PatternLayout*, const std::string&)) dlsym(RTLD_NEXT, "_ZN7log4cxx13PatternLayoutC1ERKSs"))(ts, pattern);
+ patternLayoutCtorCalled = 1;
+ patternLayoutCreated = ts;
+ return ((log4cxx::PatternLayout* (*)(log4cxx::PatternLayout*, const std::string&)) dlsym(RTLD_NEXT, "_ZN7log4cxx13PatternLayoutC1ERKSs"))(ts, pattern);
}
log4cxx::FileAppender* fileAppenderCtor_(log4cxx::FileAppender* ts, const log4cxx::LayoutPtr& layout, const std::string& filename) {
- ++fileAppenderCtorCalled;
- fileAppenderCtorArgFilename = filename;
- fileAppenderCtorArgLayout = layout;
- fileAppenderCreated = ts;
- return ((log4cxx::FileAppender* (*)(log4cxx::FileAppender*, const log4cxx::LayoutPtr&, const std::string&)) dlsym(RTLD_NEXT, "_ZN7log4cxx12FileAppenderC1ERKNS_7helpers10ObjectPtrTINS_6LayoutEEERKSs"))(ts, layout, filename);
+ ++fileAppenderCtorCalled;
+ fileAppenderCtorArgFilename = filename;
+ fileAppenderCtorArgLayout = layout;
+ fileAppenderCreated = ts;
+ return ((log4cxx::FileAppender* (*)(log4cxx::FileAppender*, const log4cxx::LayoutPtr&, const std::string&)) dlsym(RTLD_NEXT, "_ZN7log4cxx12FileAppenderC1ERKNS_7helpers10ObjectPtrTINS_6LayoutEEERKSs"))(ts, layout, filename);
}
void fileAppenderSetFile_(log4cxx::FileAppender* ts, log4cxx::LogString& file, bool append, bool bufferedIO, size_t bufferSize, log4cxx::helpers::Pool& p) {
- ++fileAppenderSetFileCalled;
- fileAppenderSetFileArgFilename = file;
- fileAppenderSetFileArgAppend = append;
- fileAppenderSetFileArgBufferedIO = bufferedIO;
- fileAppenderSetFileArgBufferSize = bufferSize;
- fileAppenderSetFileArgPool = &p;
- if (fileAppenderSetFileException) {
- throw log4cxx::helpers::IOException();
- }
- ((void (*)(log4cxx::FileAppender*, log4cxx::LogString&, bool, bool, size_t, log4cxx::helpers::Pool&)) dlsym(RTLD_NEXT, "_ZN7log4cxx12FileAppender7setFileERKSsbbmRNS_7helpers4PoolE"))(ts, file, append, bufferedIO, bufferSize, p);
+ ++fileAppenderSetFileCalled;
+ fileAppenderSetFileArgFilename = file;
+ fileAppenderSetFileArgAppend = append;
+ fileAppenderSetFileArgBufferedIO = bufferedIO;
+ fileAppenderSetFileArgBufferSize = bufferSize;
+ fileAppenderSetFileArgPool = &p;
+ if (fileAppenderSetFileException) {
+ throw log4cxx::helpers::IOException();
+ }
+ ((void (*)(log4cxx::FileAppender*, log4cxx::LogString&, bool, bool, size_t, log4cxx::helpers::Pool&)) dlsym(RTLD_NEXT, "_ZN7log4cxx12FileAppender7setFileERKSsbbmRNS_7helpers4PoolE"))(ts, file, append, bufferedIO, bufferSize, p);
}
log4cxx::net::SyslogAppender* syslogAppenderCtor_(log4cxx::net::SyslogAppender* ts, const log4cxx::LayoutPtr& layout, int syslogFacility) {
- ++syslogAppenderCtorCalled;
- syslogAppenderCtorArgLayout = layout;
- syslogAppenderCtorArgFacility = syslogFacility;
- syslogAppenderCreated = ts;
- return ((log4cxx::net::SyslogAppender* (*)(log4cxx::net::SyslogAppender*, const log4cxx::LayoutPtr&, int)) dlsym(RTLD_NEXT, "_ZN7log4cxx3net14SyslogAppenderC1ERKNS_7helpers10ObjectPtrTINS_6LayoutEEEi"))(ts, layout, syslogFacility);
+ ++syslogAppenderCtorCalled;
+ syslogAppenderCtorArgLayout = layout;
+ syslogAppenderCtorArgFacility = syslogFacility;
+ syslogAppenderCreated = ts;
+ return ((log4cxx::net::SyslogAppender* (*)(log4cxx::net::SyslogAppender*, const log4cxx::LayoutPtr&, int)) dlsym(RTLD_NEXT, "_ZN7log4cxx3net14SyslogAppenderC1ERKNS_7helpers10ObjectPtrTINS_6LayoutEEEi"))(ts, layout, syslogFacility);
}
void loggerAddAppender_(log4cxx::Logger* ts, const log4cxx::AppenderPtr& newAppender) {
- if (2 > loggerAddAppenderCalled) {
- loggerAddAppenderArg[loggerAddAppenderCalled] = newAppender;
- }
- ++loggerAddAppenderCalled;
- ((void (*)(log4cxx::Logger*, const log4cxx::AppenderPtr)) dlsym(RTLD_NEXT, "_ZN7log4cxx6Logger11addAppenderERKNS_7helpers10ObjectPtrTINS_8AppenderEEE"))(ts, newAppender);
+ if (2 > loggerAddAppenderCalled) {
+ loggerAddAppenderArg[loggerAddAppenderCalled] = newAppender;
+ }
+ ++loggerAddAppenderCalled;
+ ((void (*)(log4cxx::Logger*, const log4cxx::AppenderPtr)) dlsym(RTLD_NEXT, "_ZN7log4cxx6Logger11addAppenderERKNS_7helpers10ObjectPtrTINS_8AppenderEEE"))(ts, newAppender);
}
log4cxx::helpers::Pool* poolCtor_(log4cxx::helpers::Pool* ts) {
- ++poolCtorCalled;
- poolCreated = ts;
- return ((log4cxx::helpers::Pool* (*)(log4cxx::helpers::Pool*)) dlsym(RTLD_NEXT, "_ZN7log4cxx7helpers4PoolC1Ev"))(ts);
+ ++poolCtorCalled;
+ poolCreated = ts;
+ return ((log4cxx::helpers::Pool* (*)(log4cxx::helpers::Pool*)) dlsym(RTLD_NEXT, "_ZN7log4cxx7helpers4PoolC1Ev"))(ts);
}
void loggerForcedLog_(log4cxx::Logger* ts, const log4cxx::LevelPtr& level, const std::string& message, const log4cxx::spi::LocationInfo location) {
- ++loggerForcedLogCalled;
- loggerForcedLogArgLevel = level;
- loggerForcedLogArgMessage = message;
- strncpy(loggerForcedLogArgFile, location.getFileName(), sizeof(loggerForcedLogArgFile));
- loggerForcedLogArgLine = location.getLineNumber();
- if (loggerForcedLogException) {
- throw log4cxx::helpers::IOException();
- }
- if (loggerForcedLogEnabled) {
- ((void (*)(log4cxx::Logger*, const log4cxx::LevelPtr&, const std::string&, const log4cxx::spi::LocationInfo&)) dlsym(RTLD_NEXT, "_ZNK7log4cxx6Logger9forcedLogERKNS_7helpers10ObjectPtrTINS_5LevelEEERKSsRKNS_3spi12LocationInfoE"))(ts, level, message, location);
- }
+ ++loggerForcedLogCalled;
+ loggerForcedLogArgLevel = level;
+ loggerForcedLogArgMessage = message;
+ strncpy(loggerForcedLogArgFile, location.getFileName(), sizeof(loggerForcedLogArgFile));
+ loggerForcedLogArgLine = location.getLineNumber();
+ if (loggerForcedLogException) {
+ throw log4cxx::helpers::IOException();
+ }
+ if (loggerForcedLogEnabled) {
+ ((void (*)(log4cxx::Logger*, const log4cxx::LevelPtr&, const std::string&, const log4cxx::spi::LocationInfo&)) dlsym(RTLD_NEXT, "_ZNK7log4cxx6Logger9forcedLogERKNS_7helpers10ObjectPtrTINS_5LevelEEERKSsRKNS_3spi12LocationInfoE"))(ts, level, message, location);
+ }
}
log4cxx::LoggerPtr loggerGetLogger_(const char* name) {
- ++loggerGetLoggerCalled;
- loggerGetLoggerArgName = name;
- if (loggerGetLoggerReturnNull) {
- return 0;
- }
- return ((log4cxx::LoggerPtr (*)(const std::string&)) dlsym(RTLD_NEXT, "_ZN7log4cxx6Logger9getLoggerERKSs"))(name);
+ ++loggerGetLoggerCalled;
+ loggerGetLoggerArgName = name;
+ if (loggerGetLoggerReturnNull) {
+ return 0;
+ }
+ return ((log4cxx::LoggerPtr (*)(const std::string&)) dlsym(RTLD_NEXT, "_ZN7log4cxx6Logger9getLoggerERKSs"))(name);
}
log4cxx::rolling::FixedWindowRollingPolicy* fixedWindowCtor_(log4cxx::rolling::FixedWindowRollingPolicy* ts) {
- ++fixedWindowCtorCalled;
- fixedWindowCreated = ts;
- return ((log4cxx::rolling::FixedWindowRollingPolicy* (*)(log4cxx::rolling::FixedWindowRollingPolicy*)) dlsym(RTLD_NEXT, "_ZN7log4cxx7rolling24FixedWindowRollingPolicyC1Ev"))(ts);
+ ++fixedWindowCtorCalled;
+ fixedWindowCreated = ts;
+ return ((log4cxx::rolling::FixedWindowRollingPolicy* (*)(log4cxx::rolling::FixedWindowRollingPolicy*)) dlsym(RTLD_NEXT, "_ZN7log4cxx7rolling24FixedWindowRollingPolicyC1Ev"))(ts);
}
log4cxx::rolling::SizeBasedTriggeringPolicy* sizeBaseCtor_(log4cxx::rolling::SizeBasedTriggeringPolicy* ts) {
- ++sizeBaseCtorCalled;
- sizeBaseCreated = ts;
- return ((log4cxx::rolling::SizeBasedTriggeringPolicy* (*)(log4cxx::rolling::SizeBasedTriggeringPolicy*)) dlsym(RTLD_NEXT, "_ZN7log4cxx7rolling25SizeBasedTriggeringPolicyC1Ev"))(ts);
+ ++sizeBaseCtorCalled;
+ sizeBaseCreated = ts;
+ return ((log4cxx::rolling::SizeBasedTriggeringPolicy* (*)(log4cxx::rolling::SizeBasedTriggeringPolicy*)) dlsym(RTLD_NEXT, "_ZN7log4cxx7rolling25SizeBasedTriggeringPolicyC1Ev"))(ts);
}
log4cxx::rolling::RollingFileAppender* rollingAppenderCtor_(log4cxx::rolling::RollingFileAppender* ts) {
- ++rollingAppenderCtorCalled;
- rollingAppenderCreated = ts;
- return ((log4cxx::rolling::RollingFileAppender* (*)(log4cxx::rolling::RollingFileAppender*)) dlsym(RTLD_NEXT, "_ZN7log4cxx7rolling19RollingFileAppenderC1Ev"))(ts);
+ ++rollingAppenderCtorCalled;
+ rollingAppenderCreated = ts;
+ return ((log4cxx::rolling::RollingFileAppender* (*)(log4cxx::rolling::RollingFileAppender*)) dlsym(RTLD_NEXT, "_ZN7log4cxx7rolling19RollingFileAppenderC1Ev"))(ts);
}
log4cxx::LevelPtr loggerGetLevel_(log4cxx::Logger* ts) {
- ++loggerGetLevelCalled;
- return ((log4cxx::LevelPtr (*)(log4cxx::Logger*)) dlsym(RTLD_NEXT, "_ZNK7log4cxx6Logger8getLevelEv"))(ts);
+ ++loggerGetLevelCalled;
+ return ((log4cxx::LevelPtr (*)(log4cxx::Logger*)) dlsym(RTLD_NEXT, "_ZNK7log4cxx6Logger8getLevelEv"))(ts);
}
void loggerSetLevel_(log4cxx::Logger* ts, const log4cxx::LevelPtr& level) {
- ++loggerSetLevelCalled;
- ((void (*)(log4cxx::Logger*, const log4cxx::LevelPtr&)) dlsym(RTLD_NEXT, "_ZN7log4cxx6Logger8setLevelERKNS_7helpers10ObjectPtrTINS_5LevelEEE"))(ts, level);
+ ++loggerSetLevelCalled;
+ ((void (*)(log4cxx::Logger*, const log4cxx::LevelPtr&)) dlsym(RTLD_NEXT, "_ZN7log4cxx6Logger8setLevelERKNS_7helpers10ObjectPtrTINS_5LevelEEE"))(ts, level);
}
void appenderSkeletonSetLayout_(log4cxx::AppenderSkeleton* ts, const log4cxx::LayoutPtr& layout1) {
- ++appenderSkeletonSetLayoutCalled;
- appenderSkeletonSetLayoutArgLayout = layout1;
- ((void (*)(log4cxx::AppenderSkeleton*, const log4cxx::LayoutPtr&)) dlsym(RTLD_NEXT, "_ZN7log4cxx16AppenderSkeleton9setLayoutERKNS_7helpers10ObjectPtrTINS_6LayoutEEE"))(ts, layout1);
+ ++appenderSkeletonSetLayoutCalled;
+ appenderSkeletonSetLayoutArgLayout = layout1;
+ ((void (*)(log4cxx::AppenderSkeleton*, const log4cxx::LayoutPtr&)) dlsym(RTLD_NEXT, "_ZN7log4cxx16AppenderSkeleton9setLayoutERKNS_7helpers10ObjectPtrTINS_6LayoutEEE"))(ts, layout1);
}
void rollingAppenderSkeletonActivateOptions_(log4cxx::rolling::RollingFileAppenderSkeleton* ts, log4cxx::helpers::Pool& p) {
- ++rollingAppenderSkeletonActivateOptionsCalled;
- ((void (*)(log4cxx::rolling::RollingFileAppenderSkeleton*, log4cxx::helpers::Pool&)) dlsym(RTLD_NEXT, "_ZN7log4cxx7rolling27RollingFileAppenderSkeleton15activateOptionsERNS_7helpers4PoolE"))(ts, p);
+ ++rollingAppenderSkeletonActivateOptionsCalled;
+ ((void (*)(log4cxx::rolling::RollingFileAppenderSkeleton*, log4cxx::helpers::Pool&)) dlsym(RTLD_NEXT, "_ZN7log4cxx7rolling27RollingFileAppenderSkeleton15activateOptionsERNS_7helpers4PoolE"))(ts, p);
}
void hirarchySetConfigured_(log4cxx::Hierarchy* ts, bool configured) {
- ++hierarchySetConfiguredCalled;
- ((void (*)(log4cxx::Hierarchy*, bool)) dlsym(RTLD_NEXT, "_ZN7log4cxx9Hierarchy13setConfiguredEb"))(ts, configured);
-
+ ++hierarchySetConfiguredCalled;
+ ((void (*)(log4cxx::Hierarchy*, bool)) dlsym(RTLD_NEXT, "_ZN7log4cxx9Hierarchy13setConfiguredEb"))(ts, configured);
+
}
void _ZN7log4cxx10LogManager18resetConfigurationEv() __attribute__((weak,alias("resetConfiguration_")));
int l7vs_snmpbridge_change_loglevel(LOG_CATEGORY_TAG cat, LOG_LEVEL_TAG level)
{
- ++snmpChangeLevelCalled;
- snmpChangeLevelArgCat = cat;
- snmpChangeLevelArgLevel = level;
- return 0;
+ ++snmpChangeLevelCalled;
+ snmpChangeLevelArgCat = cat;
+ snmpChangeLevelArgLevel = level;
+ return 0;
}
LOG_LEVEL_TAG l7vs_snmpbridge_get_loglevel( LOG_CATEGORY_TAG cat )
{
- ++snmpGetLevelCalled;
- snmpGetLevelArgCat = cat;
- return snmpGetLevelReturns;
+ ++snmpGetLevelCalled;
+ snmpGetLevelArgCat = cat;
+ return snmpGetLevelReturns;
}
void* operator new(size_t size) {
- if (patternLayoutNewFail && sizeof(log4cxx::PatternLayout) == size) {
- throw std::bad_alloc();
- }
- else if (fileAppenderNewFail && sizeof(log4cxx::FileAppender) == size) {
- throw std::bad_alloc();
- }
- else if (syslogAppenderNewFail && sizeof(log4cxx::net::SyslogAppender) == size) {
- throw std::bad_alloc();
- }
- else if (fixedWindowNewFail && sizeof(log4cxx::rolling::FixedWindowRollingPolicy) == size) {
- throw std::bad_alloc();
- }
- else if (sizeBaseNewFail && sizeof(log4cxx::rolling::SizeBasedTriggeringPolicy) == size) {
- throw std::bad_alloc();
- }
- else if (strictPolicyNewFail && sizeof(log4cxx::rolling::StrictTimeBasedRollingPolicy) == size) {
- throw std::bad_alloc();
- }
- else if (timeSizePolicyNewFail && sizeof(log4cxx::rolling::TimeAndSizeBasedRollingPolicy) == size) {
- throw std::bad_alloc();
- }
- else if (rollingAppenderNewFail && sizeof(log4cxx::rolling::RollingFileAppender) == size) {
- throw std::bad_alloc();
- }
-
- return malloc(size);
+ if (patternLayoutNewFail && sizeof(log4cxx::PatternLayout) == size) {
+ throw std::bad_alloc();
+ }
+ else if (fileAppenderNewFail && sizeof(log4cxx::FileAppender) == size) {
+ throw std::bad_alloc();
+ }
+ else if (syslogAppenderNewFail && sizeof(log4cxx::net::SyslogAppender) == size) {
+ throw std::bad_alloc();
+ }
+ else if (fixedWindowNewFail && sizeof(log4cxx::rolling::FixedWindowRollingPolicy) == size) {
+ throw std::bad_alloc();
+ }
+ else if (sizeBaseNewFail && sizeof(log4cxx::rolling::SizeBasedTriggeringPolicy) == size) {
+ throw std::bad_alloc();
+ }
+ else if (strictPolicyNewFail && sizeof(log4cxx::rolling::StrictTimeBasedRollingPolicy) == size) {
+ throw std::bad_alloc();
+ }
+ else if (timeSizePolicyNewFail && sizeof(log4cxx::rolling::TimeAndSizeBasedRollingPolicy) == size) {
+ throw std::bad_alloc();
+ }
+ else if (rollingAppenderNewFail && sizeof(log4cxx::rolling::RollingFileAppender) == size) {
+ throw std::bad_alloc();
+ }
+
+ return malloc(size);
}
void operator delete(void* pv) {
- free(pv);
+ free(pv);
}
*/
//template <typename T> T& operator++( T& value ){
-// value = static_cast<T>( value+1 );
-// return value;
+// value = static_cast<T>( value+1 );
+// return value;
//}
//l7vs::Parameter l7vs::Parameter::instance;
class LoggerImplTest : public l7vs::LoggerImpl
{
public:
- LoggerImplTest() {}
-
- virtual const log4cxx::LevelPtr toLevel(LOG_LEVEL_TAG level) { return LoggerImpl::toLevel(level); }
-
-// virtual LOG_LEVEL_TAG toLevelTag(log4cxx::LevelPtr level) { return LoggerImpl::toLevelTag(level); }
-
- virtual bool init() { return LoggerImpl::init(); }
-
- virtual void errorConf(unsigned int message_id, const std::string& message, const char* file, int line)
- { LoggerImpl::errorConf(message_id, message, file, line); }
-
- virtual void loadConf() { return LoggerImpl::loadConf(); }
-
- bool getInitialized() { return initialized; }
-
- void setInitialized(bool f) { initialized = f; }
-
- std::string getLogFilename() { return normal_log_property.log_filename_value; }
-
- LOG_ROTATION_TAG getRotation() { return normal_log_property.rotation_value; }
-
- unsigned int getMaxBackupIndex() { return normal_log_property.max_backup_index_value; }
-
- unsigned long long getMaxFileSize() { return normal_log_property.max_file_size_value; }
-
- LOG_ROTATION_TIMING_TAG getRotationTiming() { return normal_log_property.rotation_timing_value; }
-
- std::string getRotationTimingValue() { return normal_log_property.rotation_timing_value_value; }
-
- int getLevelTable(int key) { return levelTable[key]; }
-
- const char *getCategoryTable(LOG_CATEGORY_TAG cat) {
- return category_name_map[cat].c_str();
- }
-
- LOG_CATEGORY_TAG getLoggerCategory(const char *key) { return name_category_map[std::string(key)]; }
-
- LOG_LEVEL_TAG getLoggerCategoryLevel(LOG_CATEGORY_TAG key) { return category_level_map[key]; }
-
- category_level_map_type getLoggerCategoryMapType() { return category_level_map; }
-
-// LOG_MODULE_TAG getLoggerProcess() { return loggerProcess; }
-
- const char* getHostname() { return hostname.c_str(); }
-
- void putLogFatal(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char* file, int line)
- { LoggerImpl::putLogFatal(cat, message_id, message, file, line); }
- void logic_error( const unsigned int logno, const std::string& str, const char* file , const unsigned int line)
- { LoggerImpl::logic_error( logno, str, file , line); }
+ LoggerImplTest() {}
+
+ virtual const log4cxx::LevelPtr toLevel(LOG_LEVEL_TAG level) {
+ return LoggerImpl::toLevel(level);
+ }
+
+// virtual LOG_LEVEL_TAG toLevelTag(log4cxx::LevelPtr level) { return LoggerImpl::toLevelTag(level); }
+
+ virtual bool init() {
+ return LoggerImpl::init();
+ }
+
+ virtual void errorConf(unsigned int message_id, const std::string &message, const char *file, int line) {
+ LoggerImpl::errorConf(message_id, message, file, line);
+ }
+
+ virtual void loadConf() {
+ return LoggerImpl::loadConf();
+ }
+
+ bool getInitialized() {
+ return initialized;
+ }
+
+ void setInitialized(bool f) {
+ initialized = f;
+ }
+
+ std::string getLogFilename() {
+ return normal_log_property.log_filename_value;
+ }
+
+ LOG_ROTATION_TAG getRotation() {
+ return normal_log_property.rotation_value;
+ }
+
+ unsigned int getMaxBackupIndex() {
+ return normal_log_property.max_backup_index_value;
+ }
+
+ unsigned long long getMaxFileSize() {
+ return normal_log_property.max_file_size_value;
+ }
+
+ LOG_ROTATION_TIMING_TAG getRotationTiming() {
+ return normal_log_property.rotation_timing_value;
+ }
+
+ std::string getRotationTimingValue() {
+ return normal_log_property.rotation_timing_value_value;
+ }
+
+ int getLevelTable(int key) {
+ return levelTable[key];
+ }
+
+ const char *getCategoryTable(LOG_CATEGORY_TAG cat) {
+ return category_name_map[cat].c_str();
+ }
+
+ LOG_CATEGORY_TAG getLoggerCategory(const char *key) {
+ return name_category_map[std::string(key)];
+ }
+
+ LOG_LEVEL_TAG getLoggerCategoryLevel(LOG_CATEGORY_TAG key) {
+ return category_level_map[key];
+ }
+
+ category_level_map_type getLoggerCategoryMapType() {
+ return category_level_map;
+ }
+
+// LOG_MODULE_TAG getLoggerProcess() { return loggerProcess; }
+
+ const char *getHostname() {
+ return hostname.c_str();
+ }
+
+ void putLogFatal(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line) {
+ LoggerImpl::putLogFatal(cat, message_id, message, file, line);
+ }
+ void logic_error(const unsigned int logno, const std::string &str, const char *file , const unsigned int line) {
+ LoggerImpl::logic_error(logno, str, file , line);
+ }
};
void logger_impl_constructor_test()
{
- BOOST_MESSAGE( "----- logger_impl_constructor_test start -----" );
+ BOOST_MESSAGE("----- logger_impl_constructor_test start -----");
- LoggerImplTest implTest;
+ LoggerImplTest implTest;
// unit_test[1] constructor call(member variable initialize 1)
- //*initalizedが初期化されていること
- BOOST_CHECK_EQUAL(implTest.getInitialized(), false);
- //*logfilenameが初期化されていること
- BOOST_CHECK_EQUAL(implTest.getLogFilename(), "");
- //*rotationが初期化されていること
- BOOST_CHECK_EQUAL(implTest.getRotation(), LOG_ROT_SIZE);
- //*maxBackupIndexが初期化されていること
- BOOST_CHECK_EQUAL(implTest.getMaxBackupIndex(), 0U);
- //*maxFileSizeが初期化されていること
- BOOST_CHECK_EQUAL(implTest.getMaxFileSize(), 0U);
- //*rotationTimingが初期化されていること
- BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_YEAR);
- //*rotationTimingValueが初期化されていること
- BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "");
+ //*initalizedが初期化されていること
+ BOOST_CHECK_EQUAL(implTest.getInitialized(), false);
+ //*logfilenameが初期化されていること
+ BOOST_CHECK_EQUAL(implTest.getLogFilename(), "");
+ //*rotationが初期化されていること
+ BOOST_CHECK_EQUAL(implTest.getRotation(), LOG_ROT_SIZE);
+ //*maxBackupIndexが初期化されていること
+ BOOST_CHECK_EQUAL(implTest.getMaxBackupIndex(), 0U);
+ //*maxFileSizeが初期化されていること
+ BOOST_CHECK_EQUAL(implTest.getMaxFileSize(), 0U);
+ //*rotationTimingが初期化されていること
+ BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_YEAR);
+ //*rotationTimingValueが初期化されていること
+ BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "");
// unit_test[2] constructor call(member variable initialize 2)
- //*levelTableが初期化されていること
+ //*levelTableが初期化されていること
int loglevel = log4cxx::Level::DEBUG_INT;
- BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_NONE), loglevel);
- loglevel = log4cxx::Level::DEBUG_INT;
- BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_DEBUG), loglevel);
- loglevel = log4cxx::Level::INFO_INT;
- BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_INFO), loglevel);
- loglevel = log4cxx::Level::WARN_INT;
- BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_WARN), loglevel);
- loglevel = log4cxx::Level::ERROR_INT;
- BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_ERROR), loglevel);
- loglevel = log4cxx::Level::FATAL_INT;
- BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_FATAL), loglevel);
-
- //*logger_categoryが初期化されていること
+ BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_NONE), loglevel);
+ loglevel = log4cxx::Level::DEBUG_INT;
+ BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_DEBUG), loglevel);
+ loglevel = log4cxx::Level::INFO_INT;
+ BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_INFO), loglevel);
+ loglevel = log4cxx::Level::WARN_INT;
+ BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_WARN), loglevel);
+ loglevel = log4cxx::Level::ERROR_INT;
+ BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_ERROR), loglevel);
+ loglevel = log4cxx::Level::FATAL_INT;
+ BOOST_CHECK_EQUAL(implTest.getLevelTable(LOG_LV_FATAL), loglevel);
+
+ //*logger_categoryが初期化されていること
#if defined(LOGGER_PROCESS_VSD)
// unit_test[3] constructor call(member variable initialize 3)
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_network"), LOG_CAT_L7VSD_NETWORK);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_network_qos"), LOG_CAT_L7VSD_NETWORK_QOS);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_network_bandwidth"), LOG_CAT_L7VSD_NETWORK_BANDWIDTH);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_network_num_connection"), LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_network_access"), LOG_CAT_L7VSD_NETWORK_ACCESS);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_mainthread"), LOG_CAT_L7VSD_MAINTHREAD);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_virtualservice"), LOG_CAT_L7VSD_VIRTUALSERVICE);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_virtualservice_thread"), LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_session"), LOG_CAT_L7VSD_SESSION);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_session_thread"), LOG_CAT_L7VSD_SESSION_THREAD);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_realserver"), LOG_CAT_L7VSD_REALSERVER);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_sorryserver"), LOG_CAT_L7VSD_SORRYSERVER);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_module"), LOG_CAT_L7VSD_MODULE);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_replication"), LOG_CAT_L7VSD_REPLICATION);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_replication_sendthread"), LOG_CAT_L7VSD_REPLICATION_SENDTHREAD);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_parameter"), LOG_CAT_L7VSD_PARAMETER);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_logger"), LOG_CAT_L7VSD_LOGGER);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_command"), LOG_CAT_L7VSD_COMMAND);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_start_stop"), LOG_CAT_L7VSD_START_STOP);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_system"), LOG_CAT_L7VSD_SYSTEM);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_system_memory"), LOG_CAT_L7VSD_SYSTEM_MEMORY);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_system_endpoint"), LOG_CAT_L7VSD_SYSTEM_ENDPOINT);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_system_signal"), LOG_CAT_L7VSD_SYSTEM_SIGNAL);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_system_environment"), LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_snmpbridge"), LOG_CAT_L7VSD_SNMPBRIDGE);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_protocol"), LOG_CAT_PROTOCOL);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_schedule"), LOG_CAT_SCHEDULE);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_network"), LOG_CAT_L7VSD_NETWORK);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_network_qos"), LOG_CAT_L7VSD_NETWORK_QOS);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_network_bandwidth"), LOG_CAT_L7VSD_NETWORK_BANDWIDTH);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_network_num_connection"), LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_network_access"), LOG_CAT_L7VSD_NETWORK_ACCESS);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_mainthread"), LOG_CAT_L7VSD_MAINTHREAD);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_virtualservice"), LOG_CAT_L7VSD_VIRTUALSERVICE);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_virtualservice_thread"), LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_session"), LOG_CAT_L7VSD_SESSION);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_session_thread"), LOG_CAT_L7VSD_SESSION_THREAD);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_realserver"), LOG_CAT_L7VSD_REALSERVER);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_sorryserver"), LOG_CAT_L7VSD_SORRYSERVER);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_module"), LOG_CAT_L7VSD_MODULE);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_replication"), LOG_CAT_L7VSD_REPLICATION);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_replication_sendthread"), LOG_CAT_L7VSD_REPLICATION_SENDTHREAD);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_parameter"), LOG_CAT_L7VSD_PARAMETER);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_logger"), LOG_CAT_L7VSD_LOGGER);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_command"), LOG_CAT_L7VSD_COMMAND);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_start_stop"), LOG_CAT_L7VSD_START_STOP);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_system"), LOG_CAT_L7VSD_SYSTEM);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_system_memory"), LOG_CAT_L7VSD_SYSTEM_MEMORY);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_system_endpoint"), LOG_CAT_L7VSD_SYSTEM_ENDPOINT);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_system_signal"), LOG_CAT_L7VSD_SYSTEM_SIGNAL);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_system_environment"), LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_snmpbridge"), LOG_CAT_L7VSD_SNMPBRIDGE);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_protocol"), LOG_CAT_PROTOCOL);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsd_schedule"), LOG_CAT_SCHEDULE);
// unit_test[4] constructor call(member variable initialize 4)
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_NETWORK), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_NETWORK_QOS), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_NETWORK_BANDWIDTH), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_NETWORK_ACCESS), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_MAINTHREAD), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SESSION), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SESSION_THREAD), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_REALSERVER), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SORRYSERVER), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_MODULE), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_REPLICATION), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_REPLICATION_SENDTHREAD), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_PARAMETER), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_LOGGER), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_COMMAND), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_START_STOP), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SYSTEM), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SYSTEM_MEMORY), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SYSTEM_ENDPOINT), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SYSTEM_SIGNAL), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SNMPBRIDGE), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_PROTOCOL), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SCHEDULE), LOG_LV_ERROR);
-
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_NETWORK), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_NETWORK_QOS), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_NETWORK_BANDWIDTH), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_NETWORK_ACCESS), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_MAINTHREAD), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SESSION), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SESSION_THREAD), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_REALSERVER), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SORRYSERVER), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_MODULE), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_REPLICATION), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_REPLICATION_SENDTHREAD), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_PARAMETER), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_LOGGER), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_COMMAND), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_START_STOP), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SYSTEM), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SYSTEM_MEMORY), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SYSTEM_ENDPOINT), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SYSTEM_SIGNAL), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_SNMPBRIDGE), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_PROTOCOL), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SCHEDULE), LOG_LV_ERROR);
+
// unit_test[5] constructor call(member variable initialize 5)
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_NETWORK), "l7vsd_network");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_NETWORK_QOS), "l7vsd_network_qos");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_NETWORK_BANDWIDTH), "l7vsd_network_bandwidth");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION), "l7vsd_network_num_connection");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_NETWORK_ACCESS), "l7vsd_network_access");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_MAINTHREAD), "l7vsd_mainthread");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE), "l7vsd_virtualservice");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD), "l7vsd_virtualservice_thread");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SESSION), "l7vsd_session");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SESSION_THREAD), "l7vsd_session_thread");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_REALSERVER), "l7vsd_realserver");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SORRYSERVER), "l7vsd_sorryserver");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_MODULE), "l7vsd_module");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_REPLICATION), "l7vsd_replication");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_REPLICATION_SENDTHREAD), "l7vsd_replication_sendthread");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_PARAMETER), "l7vsd_parameter");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER), "l7vsd_logger");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_COMMAND), "l7vsd_command");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_START_STOP), "l7vsd_start_stop");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SYSTEM), "l7vsd_system");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SYSTEM_MEMORY), "l7vsd_system_memory");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SYSTEM_ENDPOINT), "l7vsd_system_endpoint");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SYSTEM_SIGNAL), "l7vsd_system_signal");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT), "l7vsd_system_environment");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SNMPBRIDGE), "l7vsd_snmpbridge");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_PROTOCOL), "l7vsd_protocol");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SCHEDULE), "l7vsd_schedule");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_NETWORK), "l7vsd_network");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_NETWORK_QOS), "l7vsd_network_qos");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_NETWORK_BANDWIDTH), "l7vsd_network_bandwidth");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION), "l7vsd_network_num_connection");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_NETWORK_ACCESS), "l7vsd_network_access");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_MAINTHREAD), "l7vsd_mainthread");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE), "l7vsd_virtualservice");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD), "l7vsd_virtualservice_thread");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SESSION), "l7vsd_session");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SESSION_THREAD), "l7vsd_session_thread");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_REALSERVER), "l7vsd_realserver");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SORRYSERVER), "l7vsd_sorryserver");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_MODULE), "l7vsd_module");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_REPLICATION), "l7vsd_replication");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_REPLICATION_SENDTHREAD), "l7vsd_replication_sendthread");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_PARAMETER), "l7vsd_parameter");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER), "l7vsd_logger");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_COMMAND), "l7vsd_command");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_START_STOP), "l7vsd_start_stop");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SYSTEM), "l7vsd_system");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SYSTEM_MEMORY), "l7vsd_system_memory");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SYSTEM_ENDPOINT), "l7vsd_system_endpoint");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SYSTEM_SIGNAL), "l7vsd_system_signal");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT), "l7vsd_system_environment");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSD_SNMPBRIDGE), "l7vsd_snmpbridge");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_PROTOCOL), "l7vsd_protocol");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SCHEDULE), "l7vsd_schedule");
#elif defined(LOGGER_PROCESS_ADM)
// unit_test[6] constructor call(member variable initialize 6)
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_parse"), LOG_CAT_L7VSADM_PARSE);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_operate"), LOG_CAT_L7VSADM_OPERATE);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_config_result"), LOG_CAT_L7VSADM_CONFIG_RESULT);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_common"), LOG_CAT_L7VSADM_COMMON);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_logger"), LOG_CAT_L7VSADM_LOGGER);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_parameter"), LOG_CAT_L7VSADM_PARAMETER);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_module"), LOG_CAT_L7VSADM_MODULE);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_protocol"), LOG_CAT_PROTOCOL);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_schedule"), LOG_CAT_SCHEDULE);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_parse"), LOG_CAT_L7VSADM_PARSE);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_operate"), LOG_CAT_L7VSADM_OPERATE);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_config_result"), LOG_CAT_L7VSADM_CONFIG_RESULT);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_common"), LOG_CAT_L7VSADM_COMMON);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_logger"), LOG_CAT_L7VSADM_LOGGER);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_parameter"), LOG_CAT_L7VSADM_PARAMETER);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_module"), LOG_CAT_L7VSADM_MODULE);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_protocol"), LOG_CAT_PROTOCOL);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("l7vsadm_schedule"), LOG_CAT_SCHEDULE);
// unit_test[7] constructor call(member variable initialize 7)
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_OPERATE), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_CONFIG_RESULT), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_LOGGER), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARAMETER), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_MODULE), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_PROTOCOL), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SCHEDULE), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_OPERATE), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_CONFIG_RESULT), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_LOGGER), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARAMETER), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_MODULE), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_PROTOCOL), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SCHEDULE), LOG_LV_DEBUG);
// unit_test[8] constructor call(member variable initialize 8)
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE), "l7vsadm_parse");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_OPERATE), "l7vsadm_operate");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_CONFIG_RESULT), "l7vsadm_config_result");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON), "l7vsadm_common");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_LOGGER), "l7vsadm_logger");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARAMETER), "l7vsadm_parameter");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_MODULE), "l7vsadm_module");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_PROTOCOL), "l7vsadm_protocol");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SCHEDULE), "l7vsadm_schedule");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE), "l7vsadm_parse");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_OPERATE), "l7vsadm_operate");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_CONFIG_RESULT), "l7vsadm_config_result");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON), "l7vsadm_common");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_LOGGER), "l7vsadm_logger");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARAMETER), "l7vsadm_parameter");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_L7VSADM_MODULE), "l7vsadm_module");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_PROTOCOL), "l7vsadm_protocol");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SCHEDULE), "l7vsadm_schedule");
#else
// unit_test[10] constructor call(member variable initialize 10)
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_start_stop"), LOG_CAT_SNMPAGENT_START_STOP);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_manager_receive"), LOG_CAT_SNMPAGENT_MANAGER_RECEIVE);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_manager_send"), LOG_CAT_SNMPAGENT_MANAGER_SEND);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_l7vsd_receive"), LOG_CAT_SNMPAGENT_L7VSD_RECEIVE);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_l7vsd_send"), LOG_CAT_SNMPAGENT_L7VSD_SEND);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_logger"), LOG_CAT_SNMPAGENT_LOGGER);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_parameter"), LOG_CAT_SNMPAGENT_PARAMETER);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_system"), LOG_CAT_SNMPAGENT_SYSTEM);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_system_memory"), LOG_CAT_SNMPAGENT_SYSTEM_MEMORY);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_system_endpoint"), LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_system_signal"), LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_system_environment"), LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_start_stop"), LOG_CAT_SNMPAGENT_START_STOP);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_manager_receive"), LOG_CAT_SNMPAGENT_MANAGER_RECEIVE);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_manager_send"), LOG_CAT_SNMPAGENT_MANAGER_SEND);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_l7vsd_receive"), LOG_CAT_SNMPAGENT_L7VSD_RECEIVE);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_l7vsd_send"), LOG_CAT_SNMPAGENT_L7VSD_SEND);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_logger"), LOG_CAT_SNMPAGENT_LOGGER);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_parameter"), LOG_CAT_SNMPAGENT_PARAMETER);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_system"), LOG_CAT_SNMPAGENT_SYSTEM);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_system_memory"), LOG_CAT_SNMPAGENT_SYSTEM_MEMORY);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_system_endpoint"), LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_system_signal"), LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategory("snmpagent_system_environment"), LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT);
// unit_test[11] constructor call(member variable initialize 11)
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_START_STOP), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_MANAGER_RECEIVE), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_MANAGER_SEND), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_SEND), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_LOGGER), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_PARAMETER), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM_MEMORY), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_START_STOP), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_MANAGER_RECEIVE), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_MANAGER_SEND), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_SEND), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_LOGGER), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_PARAMETER), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM_MEMORY), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT), LOG_LV_DEBUG);
// unit_test[12] constructor call(member variable initialize 12)
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_START_STOP), "snmpagent_start_stop");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_MANAGER_RECEIVE), "snmpagent_manager_receive");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_MANAGER_SEND), "snmpagent_manager_send");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), "snmpagent_l7vsd_receive");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_SEND), "snmpagent_l7vsd_send");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_LOGGER), "snmpagent_logger");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_PARAMETER), "snmpagent_parameter");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM), "snmpagent_system");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM_MEMORY), "snmpagent_system_memory");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT), "snmpagent_system_endpoint");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL), "snmpagent_system_signal");
- BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT), "snmpagent_system_environment");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_START_STOP), "snmpagent_start_stop");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_MANAGER_RECEIVE), "snmpagent_manager_receive");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_MANAGER_SEND), "snmpagent_manager_send");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), "snmpagent_l7vsd_receive");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_SEND), "snmpagent_l7vsd_send");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_LOGGER), "snmpagent_logger");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_PARAMETER), "snmpagent_parameter");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM), "snmpagent_system");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM_MEMORY), "snmpagent_system_memory");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT), "snmpagent_system_endpoint");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL), "snmpagent_system_signal");
+ BOOST_CHECK_EQUAL(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT), "snmpagent_system_environment");
#endif
- //*logger_processが初期化されていること
+ //*logger_processが初期化されていること
//#if defined(LOGGER_PROCESS_VSD)
-// BOOST_CHECK_EQUAL(implTest.getLoggerProcess(), LOG_MOD_L7VSD);
+// BOOST_CHECK_EQUAL(implTest.getLoggerProcess(), LOG_MOD_L7VSD);
//#elif defined(LOGGER_PROCESS_ADM)
-// BOOST_CHECK_EQUAL(implTest.getLoggerProcess(), LOG_MOD_L7VSADM);
+// BOOST_CHECK_EQUAL(implTest.getLoggerProcess(), LOG_MOD_L7VSADM);
//#else
-// BOOST_CHECK_EQUAL(implTest.getLoggerProcess(), LOG_MOD_SNMPAGENT);
+// BOOST_CHECK_EQUAL(implTest.getLoggerProcess(), LOG_MOD_SNMPAGENT);
//#endif
- BOOST_MESSAGE( "----- logger_impl_constructor_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_constructor_test end -----");
}
void logger_impl_get_instance_test()
{
- BOOST_MESSAGE( "----- logger_impl_get_instance_test start -----" );
+ BOOST_MESSAGE("----- logger_impl_get_instance_test start -----");
//*複数回のgetInstanceを呼んで同じものがくるか
- l7vs::LoggerImpl& impl1 = l7vs::LoggerImpl::getInstance();
- void* first = &impl1;
- l7vs::LoggerImpl& impl2 = l7vs::LoggerImpl::getInstance();
- void* second = &impl2;
- BOOST_CHECK_EQUAL( first, second );
+ l7vs::LoggerImpl &impl1 = l7vs::LoggerImpl::getInstance();
+ void *first = &impl1;
+ l7vs::LoggerImpl &impl2 = l7vs::LoggerImpl::getInstance();
+ void *second = &impl2;
+ BOOST_CHECK_EQUAL(first, second);
- BOOST_MESSAGE( "----- logger_impl_get_instance_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_get_instance_test end -----");
}
void logger_impl_to_level_test()
{
- BOOST_MESSAGE( "----- logger_impl_to_level_test start -----" );
-
- LoggerImplTest implTest;
-
- //*LOG_LV_NONEを指定した時にLevel::Debugが返るか
- BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_NONE), log4cxx::Level::getDebug());
- //*LOG_LV_DEBUGを指定した時にLevel::Debugが返るか
- BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_DEBUG), log4cxx::Level::getDebug());
- //*LOG_LV_INFOを指定した時にLevel::Infoが返るか
- BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_INFO), log4cxx::Level::getInfo());
- //*LOG_LV_WARNを指定した時にLevel::Warnが返るか
- BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_WARN), log4cxx::Level::getWarn());
- //*LOG_LV_ERRORを指定した時にLevel::Errorが返るか
- BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_ERROR), log4cxx::Level::getError());
- //*LOG_LV_FATALを指定した時にLevel::Fatalが返るか
- BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_FATAL), log4cxx::Level::getFatal());
-
- BOOST_MESSAGE( "----- logger_impl_to_level_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_to_level_test start -----");
+
+ LoggerImplTest implTest;
+
+ //*LOG_LV_NONEを指定した時にLevel::Debugが返るか
+ BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_NONE), log4cxx::Level::getDebug());
+ //*LOG_LV_DEBUGを指定した時にLevel::Debugが返るか
+ BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_DEBUG), log4cxx::Level::getDebug());
+ //*LOG_LV_INFOを指定した時にLevel::Infoが返るか
+ BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_INFO), log4cxx::Level::getInfo());
+ //*LOG_LV_WARNを指定した時にLevel::Warnが返るか
+ BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_WARN), log4cxx::Level::getWarn());
+ //*LOG_LV_ERRORを指定した時にLevel::Errorが返るか
+ BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_ERROR), log4cxx::Level::getError());
+ //*LOG_LV_FATALを指定した時にLevel::Fatalが返るか
+ BOOST_CHECK_EQUAL(implTest.toLevel(LOG_LV_FATAL), log4cxx::Level::getFatal());
+
+ BOOST_MESSAGE("----- logger_impl_to_level_test end -----");
}
/*
void logger_impl_to_level_tag_test()
{
- BOOST_MESSAGE( "----- logger_impl_to_level_tag_test start -----" );
-
- LoggerImplTest implTest;
-
- //*Level::Debugを指定した時にLOG_LV_DEBUGが返るか
- BOOST_CHECK_EQUAL(implTest.toLevelTag(log4cxx::Level::getDebug()), LOG_LV_DEBUG);
- //*Level::Infoを指定した時にLOG_LV_INFOが返るか
- BOOST_CHECK_EQUAL(implTest.toLevelTag(log4cxx::Level::getInfo()), LOG_LV_INFO);
- //*Level::Warnを指定した時にLOG_LV_WARNが返るか
- BOOST_CHECK_EQUAL(implTest.toLevelTag(log4cxx::Level::getWarn()), LOG_LV_WARN);
- //*Level::Errorを指定した時にLOG_LV_ERRORが返るか
- BOOST_CHECK_EQUAL(implTest.toLevelTag(log4cxx::Level::getError()), LOG_LV_ERROR);
- //*Level::Fatalを指定した時にLOG_LV_FATALが返るか
- BOOST_CHECK_EQUAL(implTest.toLevelTag(log4cxx::Level::getFatal()), LOG_LV_FATAL);
-
- BOOST_MESSAGE( "----- logger_impl_to_level_tag_test end -----" );
+ BOOST_MESSAGE( "----- logger_impl_to_level_tag_test start -----" );
+
+ LoggerImplTest implTest;
+
+ //*Level::Debugを指定した時にLOG_LV_DEBUGが返るか
+ BOOST_CHECK_EQUAL(implTest.toLevelTag(log4cxx::Level::getDebug()), LOG_LV_DEBUG);
+ //*Level::Infoを指定した時にLOG_LV_INFOが返るか
+ BOOST_CHECK_EQUAL(implTest.toLevelTag(log4cxx::Level::getInfo()), LOG_LV_INFO);
+ //*Level::Warnを指定した時にLOG_LV_WARNが返るか
+ BOOST_CHECK_EQUAL(implTest.toLevelTag(log4cxx::Level::getWarn()), LOG_LV_WARN);
+ //*Level::Errorを指定した時にLOG_LV_ERRORが返るか
+ BOOST_CHECK_EQUAL(implTest.toLevelTag(log4cxx::Level::getError()), LOG_LV_ERROR);
+ //*Level::Fatalを指定した時にLOG_LV_FATALが返るか
+ BOOST_CHECK_EQUAL(implTest.toLevelTag(log4cxx::Level::getFatal()), LOG_LV_FATAL);
+
+ BOOST_MESSAGE( "----- logger_impl_to_level_tag_test end -----" );
}
*/
void logger_impl_init_test()
{
- BOOST_MESSAGE( "----- logger_impl_init_test start -----" );
-
- bool ret;
-
- LoggerImplTest implTest;
-
- //forceLogを行わない
- loggerForcedLogEnabled = false;
-
- //*1回目のinitが成功すること
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, true);
-
- //*2回目のinitの場合初期化処理は実行されずtrueが返却されること
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, true);
-
- //*getRootLoggerを呼び出していること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- getRootLoggerCalled = 0;
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, true);
- BOOST_CHECK_EQUAL(getRootLoggerCalled, 1);
-
- //*getRootLoggerがNULLを返したときにエラーとなること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- getRootLoggerReturnNull = true;
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, false);
- getRootLoggerReturnNull = false;
-
- //*PatternLayoutを生成していること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- patternLayoutCtorCalled = 0;
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, true);
- BOOST_CHECK_EQUAL(patternLayoutCtorCalled, 1);
-
- //*PatternLayoutの生成が失敗した時エラーとなること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- patternLayoutNewFail = true;
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, false);
- patternLayoutNewFail = false;
-
-
- //*生成したPatternLayoutと"/dev/null"を引数としてFileAppenderを生成していること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- fileAppenderCtorCalled = 0;
- fileAppenderCtorArgLayout = 0;
- fileAppenderCtorArgFilename = "";
- patternLayoutCreated = 0;
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, true);
- BOOST_CHECK_EQUAL(fileAppenderCtorCalled, 1);
- BOOST_CHECK_EQUAL(fileAppenderCtorArgLayout, patternLayoutCreated);
- BOOST_CHECK_EQUAL(fileAppenderCtorArgFilename, LOGGER_NULL);
-
- //*FileAppenderの生成が失敗した時にエラーとなること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- fileAppenderNewFail = true;
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, false);
- fileAppenderNewFail = false;
-
- //*FileAppender::setFileを呼び出していること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- fileAppenderSetFileCalled = 0;
- fileAppenderSetFileArgFilename = "";
- fileAppenderSetFileArgAppend = false;
- fileAppenderSetFileArgBufferedIO = false;
- fileAppenderSetFileArgBufferSize = 0;
- poolCreated = 0;
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, true);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgFilename, LOGGER_CONSOLE);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgAppend, true);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferedIO, true);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferSize, (size_t)LOGGER_DEFAULT_BUFFER_SIZE);
-
- //*FileAppender::setFileの呼び出しで例外が発生した時にエラーとなること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- fileAppenderSetFileException = true;
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, false);
- fileAppenderSetFileException = false;
-
- //*生成したPatternLayoutとSyslogFacility="USER"を引数にSyslogAppenderを生成していること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- syslogAppenderCtorCalled = 0;
- syslogAppenderCtorArgLayout = 0;
- syslogAppenderCtorArgFacility = 0;
- patternLayoutCreated = 0;
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, true);
- BOOST_CHECK_EQUAL(syslogAppenderCtorCalled, 1);
- BOOST_CHECK_EQUAL(syslogAppenderCtorArgLayout, patternLayoutCreated);
- BOOST_CHECK_EQUAL(syslogAppenderCtorArgFacility, 8);
-
- //*SyslogAppenderの生成が失敗した時にエラーとなること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- syslogAppenderNewFail = true;
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, false);
- syslogAppenderNewFail = false;
-
- //*RootLoggerに対して生成したFileAppenderとSyslogAppenderを追加していること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- loggerAddAppenderCalled = 0;
- loggerAddAppenderArg[0] = 0;
- loggerAddAppenderArg[1] = 0;
- fileAppenderCreated = 0;
- syslogAppenderCreated = 0;
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, true);
- BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
-
- log4cxx::LogManager::resetConfiguration();
- loggerForcedLogEnabled = true;
-
- //ログレベルの設定を初期化していること
- log4cxx::LogManager::resetConfiguration();
- implTest.setInitialized(false);
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, true);
+ BOOST_MESSAGE("----- logger_impl_init_test start -----");
-/*
-#if defined(LOGGER_PROCESS_VSD)
- for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_L7VSD); cat <= implTest.getCategoryRangeEnd(LOG_MOD_L7VSD); ++cat) {
-#elif defined(LOGGER_PROCESS_ADM)
- for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_L7VSADM); cat <= implTest.getCategoryRangeEnd(LOG_MOD_L7VSADM); ++cat) {
-#else //LOGGER_PROCESS_SNM
- for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_SNMPAGENT); cat <= implTest.getCategoryRangeEnd(LOG_MOD_SNMPAGENT); ++cat) {
-#endif
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getInfo());
- }
-*/
- BOOST_MESSAGE( "----- logger_impl_init_test end -----" );
+ bool ret;
+
+ LoggerImplTest implTest;
+
+ //forceLogを行わない
+ loggerForcedLogEnabled = false;
+
+ //*1回目のinitが成功すること
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, true);
+
+ //*2回目のinitの場合初期化処理は実行されずtrueが返却されること
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, true);
+
+ //*getRootLoggerを呼び出していること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ getRootLoggerCalled = 0;
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(getRootLoggerCalled, 1);
+
+ //*getRootLoggerがNULLを返したときにエラーとなること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ getRootLoggerReturnNull = true;
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, false);
+ getRootLoggerReturnNull = false;
+
+ //*PatternLayoutを生成していること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ patternLayoutCtorCalled = 0;
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(patternLayoutCtorCalled, 1);
+
+ //*PatternLayoutの生成が失敗した時エラーとなること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ patternLayoutNewFail = true;
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, false);
+ patternLayoutNewFail = false;
+
+
+ //*生成したPatternLayoutと"/dev/null"を引数としてFileAppenderを生成していること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ fileAppenderCtorCalled = 0;
+ fileAppenderCtorArgLayout = 0;
+ fileAppenderCtorArgFilename = "";
+ patternLayoutCreated = 0;
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(fileAppenderCtorCalled, 1);
+ BOOST_CHECK_EQUAL(fileAppenderCtorArgLayout, patternLayoutCreated);
+ BOOST_CHECK_EQUAL(fileAppenderCtorArgFilename, LOGGER_NULL);
+
+ //*FileAppenderの生成が失敗した時にエラーとなること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ fileAppenderNewFail = true;
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, false);
+ fileAppenderNewFail = false;
+
+ //*FileAppender::setFileを呼び出していること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ fileAppenderSetFileCalled = 0;
+ fileAppenderSetFileArgFilename = "";
+ fileAppenderSetFileArgAppend = false;
+ fileAppenderSetFileArgBufferedIO = false;
+ fileAppenderSetFileArgBufferSize = 0;
+ poolCreated = 0;
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgFilename, LOGGER_CONSOLE);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgAppend, true);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferedIO, true);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferSize, (size_t)LOGGER_DEFAULT_BUFFER_SIZE);
+
+ //*FileAppender::setFileの呼び出しで例外が発生した時にエラーとなること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ fileAppenderSetFileException = true;
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, false);
+ fileAppenderSetFileException = false;
+
+ //*生成したPatternLayoutとSyslogFacility="USER"を引数にSyslogAppenderを生成していること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ syslogAppenderCtorCalled = 0;
+ syslogAppenderCtorArgLayout = 0;
+ syslogAppenderCtorArgFacility = 0;
+ patternLayoutCreated = 0;
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(syslogAppenderCtorCalled, 1);
+ BOOST_CHECK_EQUAL(syslogAppenderCtorArgLayout, patternLayoutCreated);
+ BOOST_CHECK_EQUAL(syslogAppenderCtorArgFacility, 8);
+
+ //*SyslogAppenderの生成が失敗した時にエラーとなること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ syslogAppenderNewFail = true;
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, false);
+ syslogAppenderNewFail = false;
+
+ //*RootLoggerに対して生成したFileAppenderとSyslogAppenderを追加していること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ loggerAddAppenderCalled = 0;
+ loggerAddAppenderArg[0] = 0;
+ loggerAddAppenderArg[1] = 0;
+ fileAppenderCreated = 0;
+ syslogAppenderCreated = 0;
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
+
+ log4cxx::LogManager::resetConfiguration();
+ loggerForcedLogEnabled = true;
+
+ //ログレベルの設定を初期化していること
+ log4cxx::LogManager::resetConfiguration();
+ implTest.setInitialized(false);
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, true);
+
+ /*
+ #if defined(LOGGER_PROCESS_VSD)
+ for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_L7VSD); cat <= implTest.getCategoryRangeEnd(LOG_MOD_L7VSD); ++cat) {
+ #elif defined(LOGGER_PROCESS_ADM)
+ for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_L7VSADM); cat <= implTest.getCategoryRangeEnd(LOG_MOD_L7VSADM); ++cat) {
+ #else //LOGGER_PROCESS_SNM
+ for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_SNMPAGENT); cat <= implTest.getCategoryRangeEnd(LOG_MOD_SNMPAGENT); ++cat) {
+ #endif
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getInfo());
+ }
+ */
+ BOOST_MESSAGE("----- logger_impl_init_test end -----");
}
void logger_impl_error_conf_test()
{
- BOOST_MESSAGE( "----- logger_error_conf_test end -----" );
+ BOOST_MESSAGE("----- logger_error_conf_test end -----");
- LoggerImplTest implTest;
+ LoggerImplTest implTest;
- //forceLogを行わない
- loggerForcedLogEnabled = false;
+ //forceLogを行わない
+ loggerForcedLogEnabled = false;
#define TEST_MESSAGE "test_message"
- //*resetConfigurationが呼ばれていること
- resetConfigurationCalled = 0;
- implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(resetConfigurationCalled, 1);
-
- //*getRootLoggerを呼び出していること
- getRootLoggerCalled = 0;
- implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(getRootLoggerCalled, 1);
-
- //*getRootLoggerがNULLを返したときにreturnしていること(その後のPatternLayoutのコンストラクタが呼ばれていないこと)
- getRootLoggerReturnNull = true;
- patternLayoutCtorCalled = 0;
- implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(patternLayoutCtorCalled, 0);
- getRootLoggerReturnNull = false;
-
- //*PatternLayoutを生成していること
- patternLayoutCtorCalled = 0;
- implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(patternLayoutCtorCalled, 1);
-
- //*PatternLayoutの生成が失敗した時エラーとなること(その後のSyslogAppenderのコンストラクタが呼ばれていないこと)
- patternLayoutNewFail = true;
- syslogAppenderCtorCalled = 0;
- implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(syslogAppenderCtorCalled, 0);
- patternLayoutNewFail = false;
-
- //*生成したPatternLayoutとSyslogFacility="USER"を引数にSyslogAppenderを生成していること
- syslogAppenderCtorCalled = 0;
- syslogAppenderCtorArgLayout = 0;
- syslogAppenderCtorArgFacility = 0;
- patternLayoutCreated = 0;
- implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(syslogAppenderCtorCalled, 1);
- BOOST_CHECK_EQUAL(syslogAppenderCtorArgLayout, patternLayoutCreated);
- BOOST_CHECK_EQUAL(syslogAppenderCtorArgFacility, 8);
-
- //*SyslogAppenderの生成が失敗した時にエラーとなること(その後のFileAppenderのコンストラクタが呼ばれていないこと)
- syslogAppenderNewFail = true;
- fileAppenderCtorCalled = 0;
- implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(fileAppenderCtorCalled, 0);
- syslogAppenderNewFail = false;
-
- //*生成したPatternLayoutとLOGGER_CONSOLEを引数としてFileAppenderを生成していること
- fileAppenderCtorCalled = 0;
- fileAppenderCtorArgLayout = 0;
- fileAppenderCtorArgFilename = "";
- patternLayoutCreated = 0;
- implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(fileAppenderCtorCalled, 1);
- BOOST_CHECK_EQUAL(fileAppenderCtorArgLayout, patternLayoutCreated);
- BOOST_CHECK_EQUAL(fileAppenderCtorArgFilename, LOGGER_CONSOLE);
-
- //*FileAppenderの生成が失敗した時にエラーとなること(その後のaddAppenderを呼んでいないこと)
- fileAppenderNewFail = true;
- loggerAddAppenderCalled = 0;
- implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 0);
- fileAppenderNewFail = false;
-
- //*RootLoggerに対して生成したFileAppenderとSyslogAppenderを追加していること
- loggerAddAppenderCalled = 0;
- loggerAddAppenderArg[0] = 0;
- loggerAddAppenderArg[1] = 0;
- fileAppenderCreated = 0;
- syslogAppenderCreated = 0;
- implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
-
- //*logPutFatalが呼ばれていること(forcedLogが設定した引数で呼ばれていること)
- loggerForcedLogCalled = 0;
- loggerForcedLogArgLevel = 0;
- loggerForcedLogArgMessage = "";
- memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
- loggerForcedLogArgLine = 0;
- implTest.errorConf(18, TEST_MESSAGE, __FILE__, 99);
- BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
- BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getFatal());
-
- char buf[256];
- snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_FATAL, LOG_CAT_L7VSD_LOGGER, 18, TEST_MESSAGE, implTest.getHostname());
- BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
-
- BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
- BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 99);
+ //*resetConfigurationが呼ばれていること
+ resetConfigurationCalled = 0;
+ implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(resetConfigurationCalled, 1);
+
+ //*getRootLoggerを呼び出していること
+ getRootLoggerCalled = 0;
+ implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(getRootLoggerCalled, 1);
+
+ //*getRootLoggerがNULLを返したときにreturnしていること(その後のPatternLayoutのコンストラクタが呼ばれていないこと)
+ getRootLoggerReturnNull = true;
+ patternLayoutCtorCalled = 0;
+ implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(patternLayoutCtorCalled, 0);
+ getRootLoggerReturnNull = false;
+
+ //*PatternLayoutを生成していること
+ patternLayoutCtorCalled = 0;
+ implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(patternLayoutCtorCalled, 1);
+
+ //*PatternLayoutの生成が失敗した時エラーとなること(その後のSyslogAppenderのコンストラクタが呼ばれていないこと)
+ patternLayoutNewFail = true;
+ syslogAppenderCtorCalled = 0;
+ implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(syslogAppenderCtorCalled, 0);
+ patternLayoutNewFail = false;
+
+ //*生成したPatternLayoutとSyslogFacility="USER"を引数にSyslogAppenderを生成していること
+ syslogAppenderCtorCalled = 0;
+ syslogAppenderCtorArgLayout = 0;
+ syslogAppenderCtorArgFacility = 0;
+ patternLayoutCreated = 0;
+ implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(syslogAppenderCtorCalled, 1);
+ BOOST_CHECK_EQUAL(syslogAppenderCtorArgLayout, patternLayoutCreated);
+ BOOST_CHECK_EQUAL(syslogAppenderCtorArgFacility, 8);
+
+ //*SyslogAppenderの生成が失敗した時にエラーとなること(その後のFileAppenderのコンストラクタが呼ばれていないこと)
+ syslogAppenderNewFail = true;
+ fileAppenderCtorCalled = 0;
+ implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(fileAppenderCtorCalled, 0);
+ syslogAppenderNewFail = false;
+
+ //*生成したPatternLayoutとLOGGER_CONSOLEを引数としてFileAppenderを生成していること
+ fileAppenderCtorCalled = 0;
+ fileAppenderCtorArgLayout = 0;
+ fileAppenderCtorArgFilename = "";
+ patternLayoutCreated = 0;
+ implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(fileAppenderCtorCalled, 1);
+ BOOST_CHECK_EQUAL(fileAppenderCtorArgLayout, patternLayoutCreated);
+ BOOST_CHECK_EQUAL(fileAppenderCtorArgFilename, LOGGER_CONSOLE);
+
+ //*FileAppenderの生成が失敗した時にエラーとなること(その後のaddAppenderを呼んでいないこと)
+ fileAppenderNewFail = true;
+ loggerAddAppenderCalled = 0;
+ implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 0);
+ fileAppenderNewFail = false;
+
+ //*RootLoggerに対して生成したFileAppenderとSyslogAppenderを追加していること
+ loggerAddAppenderCalled = 0;
+ loggerAddAppenderArg[0] = 0;
+ loggerAddAppenderArg[1] = 0;
+ fileAppenderCreated = 0;
+ syslogAppenderCreated = 0;
+ implTest.errorConf(0, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
+
+ //*logPutFatalが呼ばれていること(forcedLogが設定した引数で呼ばれていること)
+ loggerForcedLogCalled = 0;
+ loggerForcedLogArgLevel = 0;
+ loggerForcedLogArgMessage = "";
+ memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
+ loggerForcedLogArgLine = 0;
+ implTest.errorConf(18, TEST_MESSAGE, __FILE__, 99);
+ BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getFatal());
+
+ char buf[256];
+ snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_FATAL, LOG_CAT_L7VSD_LOGGER, 18, TEST_MESSAGE, implTest.getHostname());
+ BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
+
+ BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 99);
#undef TEST_MESSAGE
- //forceLog回避を解除
- loggerForcedLogEnabled = true;
+ //forceLog回避を解除
+ loggerForcedLogEnabled = true;
- BOOST_MESSAGE( "----- logger_error_conf_test end -----" );
+ BOOST_MESSAGE("----- logger_error_conf_test end -----");
}
void logger_impl_error_conf_testi02()
{
- BOOST_MESSAGE( "----- logger_error_conf_test02 end -----" );
+ BOOST_MESSAGE("----- logger_error_conf_test02 end -----");
- LoggerImplTest implTest;
- std::string testMsg = "testMsg";
+ LoggerImplTest implTest;
+ std::string testMsg = "testMsg";
// unit_test[1] errorConf method call02
- implTest.errorConf( 1, testMsg, __FILE__, __LINE__);
+ implTest.errorConf(1, testMsg, __FILE__, __LINE__);
- BOOST_MESSAGE( "----- logger_error_conf_test02 end -----" );
+ BOOST_MESSAGE("----- logger_error_conf_test02 end -----");
}
void logger_impl_load_conf_test()
{
- BOOST_MESSAGE( "----- logger_impl_load_conf_test start -----" );
+ BOOST_MESSAGE("----- logger_impl_load_conf_test start -----");
- LoggerImplTest implTest;
- bool ret;
+ LoggerImplTest implTest;
+ bool ret;
- //forceLogを行わない
- loggerForcedLogEnabled = false;
+ //forceLogを行わない
+ loggerForcedLogEnabled = false;
- //init する
- ret = implTest.init();
- BOOST_CHECK_EQUAL(ret, true);
+ //init する
+ ret = implTest.init();
+ BOOST_CHECK_EQUAL(ret, true);
Parameter param;
std::ostringstream oss;
- size_t filesize;
+ size_t filesize;
std::string no_thorw_error_msg = "no throw exception error!!";
#define TEST_LOG_FILE "l7vsd.log"
// unit_test[1] loadConf method call
- //*ファイル名を取得すること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getLogFilename(), TEST_LOG_FILE);
+ //*ファイル名を取得すること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getLogFilename(), TEST_LOG_FILE);
// unit_test[2] loadConf method call
try {
- //*ファイル名が存在しない時にエラーとなること
- param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not exist logfilename_key : l7vsd_log_filename");
+ //*ファイル名が存在しない時にエラーとなること
+ param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not exist logfilename_key : l7vsd_log_filename");
}
// unit_test[3] loadConf method call
- //*共通 ローテーションパターンを取得すること サイズ
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotation(), LOG_ROT_SIZE);
-
+ //*共通 ローテーションパターンを取得すること サイズ
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotation(), LOG_ROT_SIZE);
+
// unit_test[4] loadConf method call
- //*共通 ローテーションパターンを取得すること 日付
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotation(), LOG_ROT_DATE);
+ //*共通 ローテーションパターンを取得すること 日付
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotation(), LOG_ROT_DATE);
// unit_test[5] loadConf method call
- //*共通 ローテーションパターンを取得すること 日付サイズ
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotation(), LOG_ROT_DATESIZE);
+ //*共通 ローテーションパターンを取得すること 日付サイズ
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotation(), LOG_ROT_DATESIZE);
// unit_test[6] loadConf method call
- try{
- //*ローテーションパターンが「size」「date」「datesize」以外の時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "sizedate");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーションパターンが「size」「date」「datesize」以外の時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "sizedate");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
-
- BOOST_CHECK_EQUAL(ex.what(), "Invalid Log Rotation Setting : sizedate");
+ } catch (const std::logic_error &ex) {
+
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid Log Rotation Setting : sizedate");
}
// unit_test[7] loadConf method call
- try{
- //*ローテーションパターンが存在しない時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーションパターンが存在しない時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log Rotation Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log Rotation Setting.");
}
// unit_test[8] loadConf method call
- //*共通 最大履歴数を取得すること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getMaxBackupIndex(), 10U);
+ //*共通 最大履歴数を取得すること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getMaxBackupIndex(), 10U);
// unit_test[9] loadConf method call
try {
- //*最大履歴数がUINT_MAXより大きい時エラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- std::ostringstream oss;
- oss << 1LLU + UINT_MAX;
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, oss.str());
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*最大履歴数がUINT_MAXより大きい時エラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ std::ostringstream oss;
+ oss << 1LLU + UINT_MAX;
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, oss.str());
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
+ } catch (const std::logic_error &ex) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid MaxBackupIndex Value : 4294967296.");
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid MaxBackupIndex Value : 4294967296.");
}
oss.str("");
- oss.clear(std::stringstream::goodbit);
+ oss.clear(std::stringstream::goodbit);
// unit_test[10] loadConf method call
try {
- //*最大履歴数がLOGGER_BACKUP_INDEX_LIMITより大きい時エラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- oss << LOGGER_BACKUP_INDEX_LIMIT + 1;
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, oss.str());
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*最大履歴数がLOGGER_BACKUP_INDEX_LIMITより大きい時エラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ oss << LOGGER_BACKUP_INDEX_LIMIT + 1;
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, oss.str());
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
+ } catch (const std::logic_error &ex) {
- BOOST_CHECK_EQUAL(ex.what(), "Max Backup Index must at most 12.");
+ BOOST_CHECK_EQUAL(ex.what(), "Max Backup Index must at most 12.");
}
- oss.str("");
- oss.clear(std::stringstream::goodbit);
+ oss.str("");
+ oss.clear(std::stringstream::goodbit);
// unit_test[11] loadConf method call
try {
- //*最大履歴数がマイナスの時エラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "-10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*最大履歴数がマイナスの時エラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "-10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
+ } catch (const std::logic_error &ex) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid MaxBackupIndex Value : -10.");
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid MaxBackupIndex Value : -10.");
}
// unit_test[12] loadConf method call
try {
- //*最大履歴数が存在しない時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*最大履歴数が存在しない時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
+ } catch (const std::logic_error &ex) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxBackupIndex Setting.");
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxBackupIndex Setting.");
}
// unit_test[13] loadConf method call
- //*サイズ 最大サイズを取得すること 単位なし
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getMaxFileSize(), 1000000U);
+ //*サイズ 最大サイズを取得すること 単位なし
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getMaxFileSize(), 1000000U);
// unit_test[14] loadConf method call
- //*サイズ 最大サイズを取得すること K単位
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000K");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getMaxFileSize(), (1000U * 1024));
+ //*サイズ 最大サイズを取得すること K単位
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000K");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getMaxFileSize(), (1000U * 1024));
// unit_test[15] loadConf method call
- //*サイズ 最大サイズを取得すること M単位
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "100M");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getMaxFileSize(), (100U * 1024 * 1024));
+ //*サイズ 最大サイズを取得すること M単位
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "100M");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getMaxFileSize(), (100U * 1024 * 1024));
// unit_test[16] loadConf method call
- //*サイズ 最大サイズを取得すること G単位
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "2G");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getMaxFileSize(), (2U * 1024 * 1024 * 1024));
+ //*サイズ 最大サイズを取得すること G単位
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "2G");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getMaxFileSize(), (2U * 1024 * 1024 * 1024));
// unit_test[17] loadConf method call
try {
- //*最大サイズがマイナスの時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "-100000");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*最大サイズがマイナスの時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "-100000");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
}
// unit_test[18] loadConf method call
try {
- //*最大サイズが制限値より少ない時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- oss << LOGGER_FILESIZE_LOWER_LIMIT - 1;
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, oss.str());
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*最大サイズが制限値より少ない時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ oss << LOGGER_FILESIZE_LOWER_LIMIT - 1;
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, oss.str());
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
}
- oss.str("");
- oss.clear(std::stringstream::goodbit);
+ oss.str("");
+ oss.clear(std::stringstream::goodbit);
// unit_test[19] loadConf method call
try {
- //*最大サイズがsize_t max より大きい時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- oss << 1LLU + ULONG_MAX;
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, oss.str());
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*最大サイズがsize_t max より大きい時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ oss << 1LLU + ULONG_MAX;
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, oss.str());
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
}
- oss.str("");
- oss.clear(std::stringstream::goodbit);
+ oss.str("");
+ oss.clear(std::stringstream::goodbit);
// unit_test[20] loadConf method call
try {
- //*K単位の指定で最大サイズを超えた時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- filesize = (ULONG_MAX / 1024) + 1;
- oss << filesize << "K";
- BOOST_MESSAGE("size=" << oss.str());
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, oss.str());
- implTest.loadConf();
- BOOST_MESSAGE("size=" << implTest.getMaxFileSize());
- BOOST_ERROR(no_thorw_error_msg);
+ //*K単位の指定で最大サイズを超えた時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ filesize = (ULONG_MAX / 1024) + 1;
+ oss << filesize << "K";
+ BOOST_MESSAGE("size=" << oss.str());
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, oss.str());
+ implTest.loadConf();
+ BOOST_MESSAGE("size=" << implTest.getMaxFileSize());
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
}
- oss.str("");
- oss.clear(std::stringstream::goodbit);
+ oss.str("");
+ oss.clear(std::stringstream::goodbit);
// unit_test[21] loadConf method call
try {
- //*M単位の指定で最大サイズを超えた時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- filesize = (ULONG_MAX / 1024 / 1024) + 1;
- oss << filesize << "M";
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, oss.str());
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*M単位の指定で最大サイズを超えた時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ filesize = (ULONG_MAX / 1024 / 1024) + 1;
+ oss << filesize << "M";
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, oss.str());
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
}
- oss.str("");
- oss.clear(std::stringstream::goodbit);
+ oss.str("");
+ oss.clear(std::stringstream::goodbit);
// unit_test[22] loadConf method call
- try{
- //*G単位の指定で最大サイズを超えた時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- filesize = (ULONG_MAX / 1024 / 1024 / 1024) + 1;
- oss << filesize << "G";
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, oss.str());
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*G単位の指定で最大サイズを超えた時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ filesize = (ULONG_MAX / 1024 / 1024 / 1024) + 1;
+ oss << filesize << "G";
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, oss.str());
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
}
- oss.str("");
- oss.clear(std::stringstream::goodbit);
+ oss.str("");
+ oss.clear(std::stringstream::goodbit);
// unit_test[23] loadConf method call
try {
- //*最大サイズが存在しなかった時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY);
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*最大サイズが存在しなかった時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY);
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxFileSize Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxFileSize Setting.");
}
// unit_test[24] loadConf method call
- //*日付単位を取得すること 年
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_YEAR);
+ //*日付単位を取得すること 年
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_YEAR);
// unit_test[25] loadConf method call
- //*日付単位を取得すること 月
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "8 15:55");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_MONTH);
+ //*日付単位を取得すること 月
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "8 15:55");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_MONTH);
// unit_test[26] loadConf method call
- //*日付単位を取得すること 週
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "sun 15:55");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_WEEK);
+ //*日付単位を取得すること 週
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "sun 15:55");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_WEEK);
// unit_test[27] loadConf method call
- //*日付単位を取得すること 日
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15:55");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_DATE);
+ //*日付単位を取得すること 日
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15:55");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_DATE);
// unit_test[28] loadConf method call
- //*日付単位を取得すること 時
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "55");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_HOUR);
+ //*日付単位を取得すること 時
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "55");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotationTiming(), LOG_TIM_HOUR);
// unit_test[29] loadConf method call
try {
- //*日付単位が 「year」「month」「week」「date」「hour」以外のときエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hr");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "55");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*日付単位が 「year」「month」「week」「date」「hour」以外のときエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hr");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "55");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid Log RotationTiming Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid Log RotationTiming Setting.");
}
// unit_test[30] loadConf method call
try {
- //*日付単位が存在しなかった時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 01:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*日付単位が存在しなかった時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 01:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Setting.");
}
// unit_test[31] loadConf method call
- //*ローテーション日時を取得すること 年
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 01:31");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "05050131");
+ //*ローテーション日時を取得すること 年
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 01:31");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "05050131");
// unit_test[32] loadConf method call
- try {
- //*ローテーション日時(年)が不正な時 区切り文字無し すべて無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05050131");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 区切り文字無し すべて無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05050131");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[33] loadConf method call
try {
- //*ローテーション日時(年)が不正な時 区切り文字無し 日付の区切りが無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "0505 01:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ //*ローテーション日時(年)が不正な時 区切り文字無し 日付の区切りが無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "0505 01:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[34] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 区切り文字無し 日付、時間の間の区切りが無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/0501:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 区切り文字無し 日付、時間の間の区切りが無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/0501:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[35] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 区切り文字無し 時間の間の区切りが無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 0131");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 区切り文字無し 時間の間の区切りが無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 0131");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[36] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値無し 月が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "/05 01:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値無し 月が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "/05 01:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[37] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値無し 日が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/ 01:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値無し 日が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/ 01:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[38] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値無し 時間が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 :31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値無し 時間が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 :31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[39] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値無し 分が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 01:");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値無し 分が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 01:");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[40] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値不正 月が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "a/05 01:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値不正 月が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "a/05 01:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[41] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値不正 日が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/b 01:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値不正 日が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/b 01:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[42] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 c:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 c:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[43] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値不正 分が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 01:d");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値不正 分が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 01:d");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[44] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値範囲不正 月が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "13/05 01:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値範囲不正 月が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "13/05 01:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[45] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値範囲不正 日が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/32 01:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値範囲不正 日が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/32 01:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[46] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値範囲不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 24:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値範囲不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 24:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[47] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 値範囲不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 01:60");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 値範囲不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "05/05 01:60");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[48] loadConf method call
- try{
- //*ローテーション日時(年)が不正な時 日付不正 存在しない日付
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "04/31 01:31");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が不正な時 日付不正 存在しない日付
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "04/31 01:31");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Year Error.");
}
// unit_test[49] loadConf method call
- try{
- //*ローテーション日時(年)が存在しなかった時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY);
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(年)が存在しなかった時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY);
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Year Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Year Setting.");
}
// unit_test[50] loadConf method call
- //*ローテーション日時を取得すること 月
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 18:21");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "151821");
+ //*ローテーション日時を取得すること 月
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 18:21");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "151821");
// unit_test[51] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 区切り文字無し すべて無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "151821");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 区切り文字無し すべて無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "151821");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[52] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 区切り文字無し 日付、時間の間の区切りが無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "1518:21");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 区切り文字無し 日付、時間の間の区切りが無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "1518:21");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[53] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 区切り文字無し 時間と分の間の区切りが無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 1821");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 区切り文字無し 時間と分の間の区切りが無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 1821");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[54] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値無し 日が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, " 18:21");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値無し 日が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, " 18:21");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[55] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値無し 時間が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 :21");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値無し 時間が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 :21");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[56] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値無し 分が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 18:");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値無し 分が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 18:");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[57] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値不正 日が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "a 18:21");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値不正 日が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "a 18:21");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[58] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 b:21");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 b:21");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[59] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値不正 分が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 18:c");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値不正 分が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 18:c");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[60] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値範囲不正 日が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "0 18:21");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値範囲不正 日が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "0 18:21");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[61] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値範囲不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 -1:21");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値範囲不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 -1:21");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[62] loadConf method call
- try{
- //*ローテーション日時(月)が不正な時 値範囲不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 18:-15");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が不正な時 値範囲不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "15 18:-15");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Month Error.");
}
// unit_test[63] loadConf method call
- try{
- //*ローテーション日時(月)が存在しなかった時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
- param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY);
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(月)が存在しなかった時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "month");
+ param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY);
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Month Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Month Setting.");
}
// unit_test[64] loadConf method call
- //*ローテーション日時を取得すること 週
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 23:59");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "12359"); //0:日 1:月 2:火 3:水 4:木 5:金 6:土
+ //*ローテーション日時を取得すること 週
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 23:59");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "12359"); //0:日 1:月 2:火 3:水 4:木 5:金 6:土
// unit_test[65] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 区切り文字無し すべて無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon2359");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 区切り文字無し すべて無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon2359");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[66] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 区切り文字無し 週、時間の間の区切りが無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon23:59");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 区切り文字無し 週、時間の間の区切りが無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon23:59");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[67] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 区切り文字無し 時間と分の間の区切りが無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 2359");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 区切り文字無し 時間と分の間の区切りが無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 2359");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[68] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値無し 週が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, " 23:59");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値無し 週が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, " 23:59");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[69] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値無し 時間が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon :59");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値無し 時間が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon :59");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[70] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値無し 分が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 23:");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値無し 分が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 23:");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[71] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値不正 週が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "monday 23:59");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値不正 週が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "monday 23:59");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[72] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon a:59");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon a:59");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[73] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値不正 分が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 23:b");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値不正 分が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 23:b");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[74] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値範囲不正 日が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "0 18:21");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値範囲不正 日が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "0 18:21");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[75] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値範囲不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 99:59");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値範囲不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 99:59");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[76] loadConf method call
- try{
- //*ローテーション日時(週)が不正な時 値範囲不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 23:100");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が不正な時 値範囲不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "mon 23:100");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Week Error.");
}
// unit_test[77] loadConf method call
- try{
- //*ローテーション日時(週)が存在しなかった時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
- param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY);
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(週)が存在しなかった時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "week");
+ param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY);
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Week Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Week Setting.");
}
// unit_test[78] loadConf method call
- //*ローテーション日時を取得すること 日
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "12:00");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "1200");
+ //*ローテーション日時を取得すること 日
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "12:00");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "1200");
// unit_test[79] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 区切り文字無し 時間と分の間の区切りが無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "1200");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 区切り文字無し 時間と分の間の区切りが無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "1200");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[80] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値無し 時間が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, ":00");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値無し 時間が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, ":00");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[81] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値無し 分が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "12:");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値無し 分が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "12:");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[82] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "a:00");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "a:00");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[83] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値不正 分が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "12:b");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値不正 分が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "12:b");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[84] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値範囲不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "-21:00");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値範囲不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "-21:00");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[85] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値範囲不正 時間が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "12:-59");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値範囲不正 時間が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "12:-59");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Date Error.");
}
// unit_test[86] loadConf method call
- try{
- //*ローテーション日時(日)が存在しなかった時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
- param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY);
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が存在しなかった時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "date");
+ param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY);
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Date Setting.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Date Setting.");
}
// unit_test[87] loadConf method call
- //*ローテーション日時を取得すること 時
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "45");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "45");
+ //*ローテーション日時を取得すること 時
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "45");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(implTest.getRotationTimingValue(), "45");
// unit_test[88] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値無し 分が無し
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値無し 分が無し
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Hour Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Hour Error.");
}
// unit_test[89] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値不正 分が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "a");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値不正 分が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "a");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Hour Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Hour Error.");
}
// unit_test[90] loadConf method call
- try{
- //*ローテーション日時(日)が不正な時 値範囲不正 分が不正
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "120");
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
+ try {
+ //*ローテーション日時(日)が不正な時 値範囲不正 分が不正
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "120");
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Hour Error.");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Parse Timing Hour Error.");
}
// unit_test[91] loadConf method call
- try{
- //*ローテーション日時(日)が存在しなかった時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
- param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY);
- implTest.loadConf();
- BOOST_ERROR(no_thorw_error_msg);
-
- } catch( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Hour Setting.");
- }
-
-
- //----applender追加テスト----
-/*
- //resetConfigurationを呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- resetConfigurationCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(resetConfigurationCalled, 1);
-
- //*getRootLoggerを呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- getRootLoggerCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(getRootLoggerCalled, 1);
-
- //*getRootLoggerがNULLを返したときにエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- getRootLoggerReturnNull = true;
- implTest.loadConf();
- getRootLoggerReturnNull = false;
-
- //*PatternLayoutを生成していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- patternLayoutCtorCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(patternLayoutCtorCalled, 1);
-
- //*PatternLayoutの生成が失敗した時エラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- patternLayoutNewFail = true;
- syslogAppenderCtorCalled = 0;
- implTest.loadConf();
- patternLayoutNewFail = false;
-
- //----サイズローテーションの時----
-
- //*サイズローテーションの時にfixedwindowrollingpolicyを生成していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- fixedWindowCtorCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(fixedWindowCtorCalled, 1);
-
-
- //*fixedwindowrollingpolicyの生成に失敗した時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- fixedWindowNewFail = true;
- implTest.loadConf();
- fixedWindowNewFail = false;
-
- //*fixedwindowrollingpolicyのsetminindexを1で呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::FixedWindowRollingPolicy*)fixedWindowCreated)->getMinIndex(), 1);
-
- //*fixedwindowrollingpolicyのsetmaxindexをmaxbackupindexで呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "5");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::FixedWindowRollingPolicy*)fixedWindowCreated)->getMaxIndex(), 5);
-
- //*fixedwindowrollingpolicyのsetFilenamepatternにlogFilename + "." + LOGGER_FILE_PATTERNを設定していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- fixedWindowCreated = 0;
- implTest.loadConf();
- std::ostringstream fileoss;
- fileoss << TEST_LOG_FILE << "." << LOGGER_FILE_PATTERN;
- BOOST_CHECK_EQUAL(((log4cxx::rolling::FixedWindowRollingPolicy*)fixedWindowCreated)->getFileNamePattern(), fileoss.str());
- fileoss.str("");
- fileoss.clear(std::stringstream::goodbit);
-
- //*サイズローテーションの時にsizebasedtriggeringpolicyを生成していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- sizeBaseCtorCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(sizeBaseCtorCalled, 1);
-
- //*sizebasedtriggeringpolicyの生成に失敗したときエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- sizeBaseNewFail = true;
- implTest.loadConf();
- sizeBaseNewFail = false;
-
- //*sizebasedtriggeringpolicyのsetmaxfilesizeにmaxfilesizeを設定していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- sizeBaseCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::SizeBasedTriggeringPolicy*)sizeBaseCreated)->getMaxFileSize(), 1000000U);
-
- //*rollingfileappenderを生成していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- rollingAppenderCtorCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(rollingAppenderCtorCalled, 1);
-
- //*rollingfileappenderの生成に失敗した時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- rollingAppenderNewFail = true;
- implTest.loadConf();
- rollingAppenderNewFail = false;
-
-
- //*rollingfileappenderのlayoutに生成したlayoutを追加していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- appenderSkeletonSetLayoutCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(appenderSkeletonSetLayoutCalled, 1);
-
- //*rollingfileappenderのrollingpolicyに生成したfixedwindowrollingpolicyを追加していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- fixedWindowCreated = 0;
- rollingAppenderCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::RollingFileAppender*)rollingAppenderCreated)->getRollingPolicy(), fixedWindowCreated);
-
- //*rollingfileappenderのtriggeringpolicyに生成したsizebasedtriggeringpolicyを追加していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- sizeBaseCreated = 0;
- rollingAppenderCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::RollingFileAppender*)rollingAppenderCreated)->getTriggeringPolicy(), sizeBaseCreated);
-
- //*FileAppender::setFileを呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- fileAppenderSetFileCalled = 0;
- fileAppenderSetFileArgFilename = "";
- fileAppenderSetFileArgAppend = false;
- fileAppenderSetFileArgBufferedIO = false;
- fileAppenderSetFileArgBufferSize = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(fileAppenderSetFileCalled, 2);
-
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgFilename, TEST_LOG_FILE);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgAppend, true);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferedIO, false);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferSize, (size_t)LOGGER_DEFAULT_BUFFER_SIZE);
-
- //*rollingfileappenderのActivateOptionsを呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- rollingAppenderSkeletonActivateOptionsCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(rollingAppenderSkeletonActivateOptionsCalled, 1);
-
-
- //*rootにrollingfileappenderを追加していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- loggerAddAppenderCalled = 0;
- loggerAddAppenderArg[0] = 0;
- loggerAddAppenderArg[1] = 0;
- rollingAppenderCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 1);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], rollingAppenderCreated);
-
- //日付ローテーションの時
-
- //*日付ローテーションの時にStrictTimeBasedRollingPolicyを生成していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- strictPolicyCtorCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(strictPolicyCtorCalled, 1);
-
- //*StrictTimeBasedRollingPolicyの生成に失敗した時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- strictPolicyNewFail = true;
- implTest.loadConf();
- strictPolicyNewFail = false;
-
- //*StrictTimeBasedRollingPolicyのsetmaxindexを引数maxbackupindexで呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "8");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- strictPolicyCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::StrictTimeBasedRollingPolicy*)strictPolicyCreated)->getMaxIndex(), 8);
-
- //*StrictTimeBasedRollingPolicyのsetFilenamepatternにlogFilename + "." + LOGGER_FILE_PATTERNを設定していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- strictPolicyCreated = 0;
- implTest.loadConf();
- fileoss << TEST_LOG_FILE << "." << LOGGER_FILE_PATTERN;
- BOOST_CHECK_EQUAL(((log4cxx::rolling::StrictTimeBasedRollingPolicy*)strictPolicyCreated)->getFileNamePattern(), fileoss.str());
- fileoss.str("");
- fileoss.clear(std::stringstream::goodbit);
-
- //*StrictTimeBasedRollingPolicyのsetRotationTimingを引数rotationTimingで呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "8");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- strictPolicyCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::StrictTimeBasedRollingPolicy*)strictPolicyCreated)->getRotationTiming(), LOG_TIM_YEAR);
-
- //*StrictTimeBasedRollingPolicyのsetRotationTimingValueを引数rotationTimingValueで呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "8");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- strictPolicyCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::StrictTimeBasedRollingPolicy*)strictPolicyCreated)->getRotationTimingValue(), "02081555");
-
- //*rollingfileappenderを生成していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- rollingAppenderCtorCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(rollingAppenderCtorCalled, 1);
-
- //*rollingfileappenderの生成に失敗した時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- rollingAppenderNewFail = true;
- implTest.loadConf();
- rollingAppenderNewFail = false;
-
-
- //*rollingfileappenderのlayoutに生成したlayoutを追加していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- appenderSkeletonSetLayoutCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(appenderSkeletonSetLayoutCalled, 1);
-
-
- //*rollingfileappenderのrollingpolicyに生成したStrictTimeBasedRollingPolicyを追加していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- strictPolicyCreated = 0;
- rollingAppenderCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::RollingFileAppender*)rollingAppenderCreated)->getRollingPolicy(), strictPolicyCreated);
-
- //*FileAppender::setFileを呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- fileAppenderSetFileCalled = 0;
- fileAppenderSetFileArgFilename = "";
- fileAppenderSetFileArgAppend = false;
- fileAppenderSetFileArgBufferedIO = false;
- fileAppenderSetFileArgBufferSize = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(fileAppenderSetFileCalled, 2);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgFilename, TEST_LOG_FILE);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgAppend, true);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferedIO, false);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferSize, (size_t)LOGGER_DEFAULT_BUFFER_SIZE);
-
- //*rollingfileappenderのActivateOptionsを呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- rollingAppenderSkeletonActivateOptionsCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(rollingAppenderSkeletonActivateOptionsCalled, 1);
-
- //*rootにrollingfileappenderを追加していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- loggerAddAppenderCalled = 0;
- loggerAddAppenderArg[0] = 0;
- loggerAddAppenderArg[1] = 0;
- rollingAppenderCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 1);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], rollingAppenderCreated);
-
-
- //日付+サイズローテーションの時
-
- //*日付*サイズローテーションの時にTimeAndSizeBasedRollingPolicyを生成していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- timeSizePolicyCtorCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(timeSizePolicyCtorCalled, 1);
-
- //*TimeAndSizeBasedRollingPolicyの生成に失敗した時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- timeSizePolicyNewFail = true;
- implTest.loadConf();
- timeSizePolicyNewFail = false;
-
- //*TimeAndSizeBasedRollingPolicyのsetmaxindexを引数maxbackupindexで呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "7");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- timeSizePolicyCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::TimeAndSizeBasedRollingPolicy*)timeSizePolicyCreated)->getMaxIndex(), 7);
-
- //*TimeAndSizeBasedRollingPolicyのsetFilenamepatternにlogFilename + "." + LOGGER_FILE_PATTERNを設定していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- timeSizePolicyCreated = 0;
- implTest.loadConf();
- fileoss << TEST_LOG_FILE << "." << LOGGER_FILE_PATTERN;
- BOOST_CHECK_EQUAL(((log4cxx::rolling::TimeAndSizeBasedRollingPolicy*)timeSizePolicyCreated)->getFileNamePattern(), fileoss.str());
- fileoss.str("");
- fileoss.clear(std::stringstream::goodbit);
-
- //*TimeAndSizeBasedRollingPolicyのsetMaxFileSizeを引数maxFileSizeで呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "12345678");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- timeSizePolicyCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::TimeAndSizeBasedRollingPolicy*)timeSizePolicyCreated)->getMaxFileSize(), 12345678U);
-
- //*TimeAndSizeBasedRollingPolicyのsetRotationTimingを引数rotationTimingで呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- timeSizePolicyCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::TimeAndSizeBasedRollingPolicy*)timeSizePolicyCreated)->getRotationTiming(), LOG_TIM_YEAR);
-
- //*TimeAndSizeBasedRollingPolicyのsetRotationTimingValueを引数rotationTimingValueで呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- timeSizePolicyCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::TimeAndSizeBasedRollingPolicy*)timeSizePolicyCreated)->getRotationTimingValue(), "02081555");
-
- //*rollingfileappenderを生成していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- rollingAppenderCtorCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(rollingAppenderCtorCalled, 1);
-
- //*rollingfileappenderの生成に失敗した時にエラーとなること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- rollingAppenderNewFail = true;
- implTest.loadConf();
- rollingAppenderNewFail = false;
-
- //*rollingfileappenderのlayoutに生成したlayoutを追加していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- appenderSkeletonSetLayoutCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(appenderSkeletonSetLayoutCalled, 1);
-
- //*rollingfileappenderのrollingpolicyに生成したTimeAndSizeTimeBasedRollingPolicyを追加していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- timeSizePolicyCreated = 0;
- rollingAppenderCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(((log4cxx::rolling::RollingFileAppender*)rollingAppenderCreated)->getRollingPolicy(), timeSizePolicyCreated);
-
- //*FileAppender::setFileを呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- fileAppenderSetFileCalled = 0;
- fileAppenderSetFileArgFilename = "";
- fileAppenderSetFileArgAppend = false;
- fileAppenderSetFileArgBufferedIO = false;
- fileAppenderSetFileArgBufferSize = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(fileAppenderSetFileCalled, 2);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgFilename, TEST_LOG_FILE);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgAppend, true);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferedIO, false);
- BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferSize, (size_t)LOGGER_DEFAULT_BUFFER_SIZE);
-
- //*rollingfileappenderのActivateOptionsを呼び出していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- rollingAppenderSkeletonActivateOptionsCalled = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(rollingAppenderSkeletonActivateOptionsCalled, 1);
-
- //*rootにrollingfileappenderを追加していること
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
- loggerAddAppenderCalled = 0;
- loggerAddAppenderArg[0] = 0;
- loggerAddAppenderArg[1] = 0;
- rollingAppenderCreated = 0;
- implTest.loadConf();
- BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 1);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], rollingAppenderCreated);
-*/
-/*
- //ログレベルの設定を取得していること
-#if defined(LOGGER_PROCESS_VSD)
- for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_L7VSD); cat <= implTest.getCategoryRangeEnd(LOG_MOD_L7VSD); ++cat) {
-#elif defined(LOGGER_PROCESS_ADM)
- for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_L7VSADM); cat <= implTest.getCategoryRangeEnd(LOG_MOD_L7VSADM); ++cat) {
-#else //LOGGER_PROCESS_SNM
- for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_SNMPAGENT); cat <= implTest.getCategoryRangeEnd(LOG_MOD_SNMPAGENT); ++cat) {
-#endif
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, implTest.getCategoryTable(cat), "debug");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getDebug());
-
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, implTest.getCategoryTable(cat), "info");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getInfo());
-
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, implTest.getCategoryTable(cat), "warn");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getWarn());
-
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, implTest.getCategoryTable(cat), "error");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getError());
-
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
- param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
- param.setStringValue(PARAM_COMP_LOGGER, implTest.getCategoryTable(cat), "fatal");
- implTest.loadConf();
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getFatal());
- }
-*/
- loggerForcedLogEnabled = true;
+ try {
+ //*ローテーション日時(日)が存在しなかった時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "hour");
+ param.deleteStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY);
+ implTest.loadConf();
+ BOOST_ERROR(no_thorw_error_msg);
+
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Hour Setting.");
+ }
+
+
+ //----applender追加テスト----
+ /*
+ //resetConfigurationを呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ resetConfigurationCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(resetConfigurationCalled, 1);
+
+ //*getRootLoggerを呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ getRootLoggerCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(getRootLoggerCalled, 1);
+
+ //*getRootLoggerがNULLを返したときにエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ getRootLoggerReturnNull = true;
+ implTest.loadConf();
+ getRootLoggerReturnNull = false;
+
+ //*PatternLayoutを生成していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ patternLayoutCtorCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(patternLayoutCtorCalled, 1);
+
+ //*PatternLayoutの生成が失敗した時エラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ patternLayoutNewFail = true;
+ syslogAppenderCtorCalled = 0;
+ implTest.loadConf();
+ patternLayoutNewFail = false;
+
+ //----サイズローテーションの時----
+
+ //*サイズローテーションの時にfixedwindowrollingpolicyを生成していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ fixedWindowCtorCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(fixedWindowCtorCalled, 1);
+
+
+ //*fixedwindowrollingpolicyの生成に失敗した時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ fixedWindowNewFail = true;
+ implTest.loadConf();
+ fixedWindowNewFail = false;
+
+ //*fixedwindowrollingpolicyのsetminindexを1で呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::FixedWindowRollingPolicy*)fixedWindowCreated)->getMinIndex(), 1);
+
+ //*fixedwindowrollingpolicyのsetmaxindexをmaxbackupindexで呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "5");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::FixedWindowRollingPolicy*)fixedWindowCreated)->getMaxIndex(), 5);
+
+ //*fixedwindowrollingpolicyのsetFilenamepatternにlogFilename + "." + LOGGER_FILE_PATTERNを設定していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ fixedWindowCreated = 0;
+ implTest.loadConf();
+ std::ostringstream fileoss;
+ fileoss << TEST_LOG_FILE << "." << LOGGER_FILE_PATTERN;
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::FixedWindowRollingPolicy*)fixedWindowCreated)->getFileNamePattern(), fileoss.str());
+ fileoss.str("");
+ fileoss.clear(std::stringstream::goodbit);
+
+ //*サイズローテーションの時にsizebasedtriggeringpolicyを生成していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ sizeBaseCtorCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(sizeBaseCtorCalled, 1);
+
+ //*sizebasedtriggeringpolicyの生成に失敗したときエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ sizeBaseNewFail = true;
+ implTest.loadConf();
+ sizeBaseNewFail = false;
+
+ //*sizebasedtriggeringpolicyのsetmaxfilesizeにmaxfilesizeを設定していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ sizeBaseCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::SizeBasedTriggeringPolicy*)sizeBaseCreated)->getMaxFileSize(), 1000000U);
+
+ //*rollingfileappenderを生成していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ rollingAppenderCtorCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(rollingAppenderCtorCalled, 1);
+
+ //*rollingfileappenderの生成に失敗した時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ rollingAppenderNewFail = true;
+ implTest.loadConf();
+ rollingAppenderNewFail = false;
+
+
+ //*rollingfileappenderのlayoutに生成したlayoutを追加していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ appenderSkeletonSetLayoutCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(appenderSkeletonSetLayoutCalled, 1);
+
+ //*rollingfileappenderのrollingpolicyに生成したfixedwindowrollingpolicyを追加していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ fixedWindowCreated = 0;
+ rollingAppenderCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::RollingFileAppender*)rollingAppenderCreated)->getRollingPolicy(), fixedWindowCreated);
+
+ //*rollingfileappenderのtriggeringpolicyに生成したsizebasedtriggeringpolicyを追加していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ sizeBaseCreated = 0;
+ rollingAppenderCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::RollingFileAppender*)rollingAppenderCreated)->getTriggeringPolicy(), sizeBaseCreated);
+
+ //*FileAppender::setFileを呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ fileAppenderSetFileCalled = 0;
+ fileAppenderSetFileArgFilename = "";
+ fileAppenderSetFileArgAppend = false;
+ fileAppenderSetFileArgBufferedIO = false;
+ fileAppenderSetFileArgBufferSize = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(fileAppenderSetFileCalled, 2);
+
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgFilename, TEST_LOG_FILE);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgAppend, true);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferedIO, false);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferSize, (size_t)LOGGER_DEFAULT_BUFFER_SIZE);
+
+ //*rollingfileappenderのActivateOptionsを呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ rollingAppenderSkeletonActivateOptionsCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(rollingAppenderSkeletonActivateOptionsCalled, 1);
+
+
+ //*rootにrollingfileappenderを追加していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ loggerAddAppenderCalled = 0;
+ loggerAddAppenderArg[0] = 0;
+ loggerAddAppenderArg[1] = 0;
+ rollingAppenderCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 1);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], rollingAppenderCreated);
+
+ //日付ローテーションの時
+
+ //*日付ローテーションの時にStrictTimeBasedRollingPolicyを生成していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ strictPolicyCtorCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(strictPolicyCtorCalled, 1);
+
+ //*StrictTimeBasedRollingPolicyの生成に失敗した時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ strictPolicyNewFail = true;
+ implTest.loadConf();
+ strictPolicyNewFail = false;
+
+ //*StrictTimeBasedRollingPolicyのsetmaxindexを引数maxbackupindexで呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "8");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ strictPolicyCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::StrictTimeBasedRollingPolicy*)strictPolicyCreated)->getMaxIndex(), 8);
+
+ //*StrictTimeBasedRollingPolicyのsetFilenamepatternにlogFilename + "." + LOGGER_FILE_PATTERNを設定していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ strictPolicyCreated = 0;
+ implTest.loadConf();
+ fileoss << TEST_LOG_FILE << "." << LOGGER_FILE_PATTERN;
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::StrictTimeBasedRollingPolicy*)strictPolicyCreated)->getFileNamePattern(), fileoss.str());
+ fileoss.str("");
+ fileoss.clear(std::stringstream::goodbit);
+
+ //*StrictTimeBasedRollingPolicyのsetRotationTimingを引数rotationTimingで呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "8");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ strictPolicyCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::StrictTimeBasedRollingPolicy*)strictPolicyCreated)->getRotationTiming(), LOG_TIM_YEAR);
+
+ //*StrictTimeBasedRollingPolicyのsetRotationTimingValueを引数rotationTimingValueで呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "8");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ strictPolicyCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::StrictTimeBasedRollingPolicy*)strictPolicyCreated)->getRotationTimingValue(), "02081555");
+
+ //*rollingfileappenderを生成していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ rollingAppenderCtorCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(rollingAppenderCtorCalled, 1);
+
+ //*rollingfileappenderの生成に失敗した時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ rollingAppenderNewFail = true;
+ implTest.loadConf();
+ rollingAppenderNewFail = false;
+
+
+ //*rollingfileappenderのlayoutに生成したlayoutを追加していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ appenderSkeletonSetLayoutCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(appenderSkeletonSetLayoutCalled, 1);
+
+
+ //*rollingfileappenderのrollingpolicyに生成したStrictTimeBasedRollingPolicyを追加していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ strictPolicyCreated = 0;
+ rollingAppenderCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::RollingFileAppender*)rollingAppenderCreated)->getRollingPolicy(), strictPolicyCreated);
+
+ //*FileAppender::setFileを呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ fileAppenderSetFileCalled = 0;
+ fileAppenderSetFileArgFilename = "";
+ fileAppenderSetFileArgAppend = false;
+ fileAppenderSetFileArgBufferedIO = false;
+ fileAppenderSetFileArgBufferSize = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(fileAppenderSetFileCalled, 2);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgFilename, TEST_LOG_FILE);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgAppend, true);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferedIO, false);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferSize, (size_t)LOGGER_DEFAULT_BUFFER_SIZE);
+
+ //*rollingfileappenderのActivateOptionsを呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ rollingAppenderSkeletonActivateOptionsCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(rollingAppenderSkeletonActivateOptionsCalled, 1);
+
+ //*rootにrollingfileappenderを追加していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "date");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ loggerAddAppenderCalled = 0;
+ loggerAddAppenderArg[0] = 0;
+ loggerAddAppenderArg[1] = 0;
+ rollingAppenderCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 1);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], rollingAppenderCreated);
+
+
+ //日付+サイズローテーションの時
+
+ //*日付*サイズローテーションの時にTimeAndSizeBasedRollingPolicyを生成していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ timeSizePolicyCtorCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(timeSizePolicyCtorCalled, 1);
+
+ //*TimeAndSizeBasedRollingPolicyの生成に失敗した時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ timeSizePolicyNewFail = true;
+ implTest.loadConf();
+ timeSizePolicyNewFail = false;
+
+ //*TimeAndSizeBasedRollingPolicyのsetmaxindexを引数maxbackupindexで呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "7");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ timeSizePolicyCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::TimeAndSizeBasedRollingPolicy*)timeSizePolicyCreated)->getMaxIndex(), 7);
+
+ //*TimeAndSizeBasedRollingPolicyのsetFilenamepatternにlogFilename + "." + LOGGER_FILE_PATTERNを設定していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ timeSizePolicyCreated = 0;
+ implTest.loadConf();
+ fileoss << TEST_LOG_FILE << "." << LOGGER_FILE_PATTERN;
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::TimeAndSizeBasedRollingPolicy*)timeSizePolicyCreated)->getFileNamePattern(), fileoss.str());
+ fileoss.str("");
+ fileoss.clear(std::stringstream::goodbit);
+
+ //*TimeAndSizeBasedRollingPolicyのsetMaxFileSizeを引数maxFileSizeで呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "12345678");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ timeSizePolicyCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::TimeAndSizeBasedRollingPolicy*)timeSizePolicyCreated)->getMaxFileSize(), 12345678U);
+
+ //*TimeAndSizeBasedRollingPolicyのsetRotationTimingを引数rotationTimingで呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ timeSizePolicyCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::TimeAndSizeBasedRollingPolicy*)timeSizePolicyCreated)->getRotationTiming(), LOG_TIM_YEAR);
+
+ //*TimeAndSizeBasedRollingPolicyのsetRotationTimingValueを引数rotationTimingValueで呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ timeSizePolicyCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::TimeAndSizeBasedRollingPolicy*)timeSizePolicyCreated)->getRotationTimingValue(), "02081555");
+
+ //*rollingfileappenderを生成していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ rollingAppenderCtorCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(rollingAppenderCtorCalled, 1);
+
+ //*rollingfileappenderの生成に失敗した時にエラーとなること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ rollingAppenderNewFail = true;
+ implTest.loadConf();
+ rollingAppenderNewFail = false;
+
+ //*rollingfileappenderのlayoutに生成したlayoutを追加していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ appenderSkeletonSetLayoutCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(appenderSkeletonSetLayoutCalled, 1);
+
+ //*rollingfileappenderのrollingpolicyに生成したTimeAndSizeTimeBasedRollingPolicyを追加していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ timeSizePolicyCreated = 0;
+ rollingAppenderCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(((log4cxx::rolling::RollingFileAppender*)rollingAppenderCreated)->getRollingPolicy(), timeSizePolicyCreated);
+
+ //*FileAppender::setFileを呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ fileAppenderSetFileCalled = 0;
+ fileAppenderSetFileArgFilename = "";
+ fileAppenderSetFileArgAppend = false;
+ fileAppenderSetFileArgBufferedIO = false;
+ fileAppenderSetFileArgBufferSize = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(fileAppenderSetFileCalled, 2);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgFilename, TEST_LOG_FILE);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgAppend, true);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferedIO, false);
+ BOOST_CHECK_EQUAL(fileAppenderSetFileArgBufferSize, (size_t)LOGGER_DEFAULT_BUFFER_SIZE);
+
+ //*rollingfileappenderのActivateOptionsを呼び出していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ rollingAppenderSkeletonActivateOptionsCalled = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(rollingAppenderSkeletonActivateOptionsCalled, 1);
+
+ //*rootにrollingfileappenderを追加していること
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "datesize");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_KEY, "year");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_TIMING_VALUE_KEY, "2/8 15:55");
+ loggerAddAppenderCalled = 0;
+ loggerAddAppenderArg[0] = 0;
+ loggerAddAppenderArg[1] = 0;
+ rollingAppenderCreated = 0;
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 1);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], rollingAppenderCreated);
+ */
+ /*
+ //ログレベルの設定を取得していること
+ #if defined(LOGGER_PROCESS_VSD)
+ for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_L7VSD); cat <= implTest.getCategoryRangeEnd(LOG_MOD_L7VSD); ++cat) {
+ #elif defined(LOGGER_PROCESS_ADM)
+ for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_L7VSADM); cat <= implTest.getCategoryRangeEnd(LOG_MOD_L7VSADM); ++cat) {
+ #else //LOGGER_PROCESS_SNM
+ for (LOG_CATEGORY_TAG cat = implTest.getCategoryRangeStart(LOG_MOD_SNMPAGENT); cat <= implTest.getCategoryRangeEnd(LOG_MOD_SNMPAGENT); ++cat) {
+ #endif
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, implTest.getCategoryTable(cat), "debug");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getDebug());
+
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, implTest.getCategoryTable(cat), "info");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getInfo());
+
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, implTest.getCategoryTable(cat), "warn");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getWarn());
+
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, implTest.getCategoryTable(cat), "error");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getError());
+
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_LOG_FILENAME_KEY, TEST_LOG_FILE);
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_ROTATION_KEY, "size");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_BACKUP_INDEX_KEY, "10");
+ param.setStringValue(PARAM_COMP_LOGGER, LOGGER_MAX_FILE_SIZE_KEY, "1000000");
+ param.setStringValue(PARAM_COMP_LOGGER, implTest.getCategoryTable(cat), "fatal");
+ implTest.loadConf();
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(cat))->getLevel(), log4cxx::Level::getFatal());
+ }
+ */
+ loggerForcedLogEnabled = true;
#undef TEST_LOG_FILE
-
- BOOST_MESSAGE( "----- logger_impl_load_conf_test end -----" );
+
+ BOOST_MESSAGE("----- logger_impl_load_conf_test end -----");
}
void logger_impl_get_log_level_test()
{
- BOOST_MESSAGE( "----- logger_impl_get_log_level_test start -----" );
+ BOOST_MESSAGE("----- logger_impl_get_log_level_test start -----");
- LoggerImplTest implTest;
- LOG_LEVEL_TAG logLevel;
+ LoggerImplTest implTest;
+ LOG_LEVEL_TAG logLevel;
#if defined(LOGGER_PROCESS_VSD)
// unit_test[1] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE,LOG_LV_WARN);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_WARN);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getWarn());
- logLevel = implTest.getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE);
- BOOST_CHECK_EQUAL(logLevel, LOG_LV_WARN);
+ implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE, LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getWarn());
+ logLevel = implTest.getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE);
+ BOOST_CHECK_EQUAL(logLevel, LOG_LV_WARN);
// unit_test[2] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE,LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getError());
- logLevel = implTest.getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE);
- BOOST_CHECK_EQUAL(logLevel, LOG_LV_ERROR);
+ implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE, LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getError());
+ logLevel = implTest.getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE);
+ BOOST_CHECK_EQUAL(logLevel, LOG_LV_ERROR);
// unit_test[3] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE,LOG_LV_FATAL);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_FATAL);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getFatal());
- logLevel = implTest.getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE);
- BOOST_CHECK_EQUAL(logLevel, LOG_LV_FATAL);
+ implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE, LOG_LV_FATAL);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_FATAL);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getFatal());
+ logLevel = implTest.getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE);
+ BOOST_CHECK_EQUAL(logLevel, LOG_LV_FATAL);
// unit_test[4] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE,LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getDebug());
- logLevel = implTest.getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE);
- BOOST_CHECK_EQUAL(logLevel, LOG_LV_DEBUG);
+ implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE, LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getDebug());
+ logLevel = implTest.getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE);
+ BOOST_CHECK_EQUAL(logLevel, LOG_LV_DEBUG);
// unit_test[5] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE,LOG_LV_INFO);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_INFO);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getInfo());
- logLevel = implTest.getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE);
- BOOST_CHECK_EQUAL(logLevel, LOG_LV_INFO);
+ implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE, LOG_LV_INFO);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_INFO);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getInfo());
+ logLevel = implTest.getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE);
+ BOOST_CHECK_EQUAL(logLevel, LOG_LV_INFO);
#elif defined(LOGGER_PROCESS_ADM)
// unit_test[6] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE,LOG_LV_WARN);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_WARN);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE))->getLevel(), log4cxx::Level::getWarn());
- logLevel = implTest.getLogLevel(LOG_CAT_L7VSADM_PARSE);
- BOOST_CHECK_EQUAL(logLevel, LOG_LV_WARN);
+ implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE, LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE))->getLevel(), log4cxx::Level::getWarn());
+ logLevel = implTest.getLogLevel(LOG_CAT_L7VSADM_PARSE);
+ BOOST_CHECK_EQUAL(logLevel, LOG_LV_WARN);
// unit_test[7] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE,LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE))->getLevel(), log4cxx::Level::getError());
- logLevel = implTest.getLogLevel(LOG_CAT_L7VSADM_PARSE);
- BOOST_CHECK_EQUAL(logLevel, LOG_LV_ERROR);
+ implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE, LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE))->getLevel(), log4cxx::Level::getError());
+ logLevel = implTest.getLogLevel(LOG_CAT_L7VSADM_PARSE);
+ BOOST_CHECK_EQUAL(logLevel, LOG_LV_ERROR);
// unit_test[8] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE,LOG_LV_FATAL);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_FATAL);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE))->getLevel(), log4cxx::Level::getFatal());
- logLevel = implTest.getLogLevel(LOG_CAT_L7VSADM_PARSE);
- BOOST_CHECK_EQUAL(logLevel, LOG_LV_FATAL);
+ implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE, LOG_LV_FATAL);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_FATAL);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE))->getLevel(), log4cxx::Level::getFatal());
+ logLevel = implTest.getLogLevel(LOG_CAT_L7VSADM_PARSE);
+ BOOST_CHECK_EQUAL(logLevel, LOG_LV_FATAL);
// unit_test[9] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE,LOG_LV_FATAL);
- implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE,LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE))->getLevel(), log4cxx::Level::getDebug());
- logLevel = implTest.getLogLevel(LOG_CAT_L7VSADM_PARSE);
- BOOST_CHECK_EQUAL(logLevel, LOG_LV_DEBUG);
+ implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE, LOG_LV_FATAL);
+ implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE, LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE))->getLevel(), log4cxx::Level::getDebug());
+ logLevel = implTest.getLogLevel(LOG_CAT_L7VSADM_PARSE);
+ BOOST_CHECK_EQUAL(logLevel, LOG_LV_DEBUG);
// unit_test[10] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE,LOG_LV_INFO);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_INFO);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE))->getLevel(), log4cxx::Level::getInfo());
- logLevel = implTest.getLogLevel(LOG_CAT_L7VSADM_PARSE);
- BOOST_CHECK_EQUAL(logLevel, LOG_LV_INFO);
+ implTest.setLogLevel(LOG_CAT_L7VSADM_PARSE, LOG_LV_INFO);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_PARSE), LOG_LV_INFO);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_PARSE))->getLevel(), log4cxx::Level::getInfo());
+ logLevel = implTest.getLogLevel(LOG_CAT_L7VSADM_PARSE);
+ BOOST_CHECK_EQUAL(logLevel, LOG_LV_INFO);
#else
// unit_test[11] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_SNMPAGENT_SYSTEM,LOG_LV_WARN);
+ implTest.setLogLevel(LOG_CAT_SNMPAGENT_SYSTEM, LOG_LV_WARN);
BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM), LOG_LV_WARN);
BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM))->getLevel(), log4cxx::Level::getWarn());
logLevel = implTest.getLogLevel(LOG_CAT_SNMPAGENT_SYSTEM);
BOOST_CHECK_EQUAL(logLevel, LOG_LV_WARN);
// unit_test[12] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_SNMPAGENT_SYSTEM,LOG_LV_ERROR);
+ implTest.setLogLevel(LOG_CAT_SNMPAGENT_SYSTEM, LOG_LV_ERROR);
BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM), LOG_LV_ERROR);
BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM))->getLevel(), log4cxx::Level::getError());
logLevel = implTest.getLogLevel(LOG_CAT_SNMPAGENT_SYSTEM);
BOOST_CHECK_EQUAL(logLevel, LOG_LV_ERROR);
// unit_test[13] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_SNMPAGENT_SYSTEM,LOG_LV_FATAL);
+ implTest.setLogLevel(LOG_CAT_SNMPAGENT_SYSTEM, LOG_LV_FATAL);
BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM), LOG_LV_FATAL);
BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM))->getLevel(), log4cxx::Level::getFatal());
logLevel = implTest.getLogLevel(LOG_CAT_SNMPAGENT_SYSTEM);
BOOST_CHECK_EQUAL(logLevel, LOG_LV_FATAL);
// unit_test[14] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_SNMPAGENT_SYSTEM,LOG_LV_DEBUG);
+ implTest.setLogLevel(LOG_CAT_SNMPAGENT_SYSTEM, LOG_LV_DEBUG);
BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM), LOG_LV_DEBUG);
BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM))->getLevel(), log4cxx::Level::getDebug());
logLevel = implTest.getLogLevel(LOG_CAT_SNMPAGENT_SYSTEM);
BOOST_CHECK_EQUAL(logLevel, LOG_LV_DEBUG);
// unit_test[15] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_SNMPAGENT_SYSTEM,LOG_LV_INFO);
+ implTest.setLogLevel(LOG_CAT_SNMPAGENT_SYSTEM, LOG_LV_INFO);
BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_SYSTEM), LOG_LV_INFO);
BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_SYSTEM))->getLevel(), log4cxx::Level::getInfo());
logLevel = implTest.getLogLevel(LOG_CAT_SNMPAGENT_SYSTEM);
- BOOST_MESSAGE( "----- logger_impl_get_log_level_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_get_log_level_test end -----");
}
void logger_impl_set_get_log_level_all_test()
{
- BOOST_MESSAGE( "----- logger_impl_set_get_log_level_all_test start -----" );
+ BOOST_MESSAGE("----- logger_impl_set_get_log_level_all_test start -----");
LoggerImplTest implTest;
bool set_result;
- category_level_map_type category_map;
+ category_level_map_type category_map;
category_level_list_type list;
- //set_result = implTest.setLogLevelAll(LOG_LV_NONE);
+ //set_result = implTest.setLogLevelAll(LOG_LV_NONE);
//BOOST_CHECK_EQUAL(set_result,false);
// unit_test[1] setLogLevelAll getLogLevelAll method call
- set_result = implTest.setLogLevelAll(LOG_LV_WARN);
- BOOST_CHECK_EQUAL(set_result,true);
- category_map = implTest.getLoggerCategoryMapType();
- BOOST_FOREACH( category_level_map_type::value_type& itr, category_map ){
- BOOST_CHECK_EQUAL(itr.second,LOG_LV_WARN);
- }
+ set_result = implTest.setLogLevelAll(LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(set_result, true);
+ category_map = implTest.getLoggerCategoryMapType();
+ BOOST_FOREACH(category_level_map_type::value_type & itr, category_map) {
+ BOOST_CHECK_EQUAL(itr.second, LOG_LV_WARN);
+ }
list.clear();
implTest.getLogLevelAll(list);
- BOOST_FOREACH( category_level_list_type::value_type& itr, list ){
- BOOST_CHECK_EQUAL(itr.second,LOG_LV_WARN);
+ BOOST_FOREACH(category_level_list_type::value_type & itr, list) {
+ BOOST_CHECK_EQUAL(itr.second, LOG_LV_WARN);
}
// unit_test[2] setLogLevelAll getLogLevelAll method call
- set_result = implTest.setLogLevelAll(LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(set_result,true);
- category_map = implTest.getLoggerCategoryMapType();
- BOOST_FOREACH( category_level_map_type::value_type& itr, category_map ){
- BOOST_CHECK_EQUAL(itr.second,LOG_LV_ERROR);
- }
+ set_result = implTest.setLogLevelAll(LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(set_result, true);
+ category_map = implTest.getLoggerCategoryMapType();
+ BOOST_FOREACH(category_level_map_type::value_type & itr, category_map) {
+ BOOST_CHECK_EQUAL(itr.second, LOG_LV_ERROR);
+ }
list.clear();
implTest.getLogLevelAll(list);
- BOOST_FOREACH( category_level_list_type::value_type& itr, list ){
- BOOST_CHECK_EQUAL(itr.second,LOG_LV_ERROR);
+ BOOST_FOREACH(category_level_list_type::value_type & itr, list) {
+ BOOST_CHECK_EQUAL(itr.second, LOG_LV_ERROR);
}
// unit_test[3] setLogLevelAll getLogLevelAll method call
- set_result = implTest.setLogLevelAll(LOG_LV_FATAL);
- BOOST_CHECK_EQUAL(set_result,true);
- category_map = implTest.getLoggerCategoryMapType();
- BOOST_FOREACH( category_level_map_type::value_type& itr, category_map ){
- BOOST_CHECK_EQUAL(itr.second,LOG_LV_FATAL);
- }
+ set_result = implTest.setLogLevelAll(LOG_LV_FATAL);
+ BOOST_CHECK_EQUAL(set_result, true);
+ category_map = implTest.getLoggerCategoryMapType();
+ BOOST_FOREACH(category_level_map_type::value_type & itr, category_map) {
+ BOOST_CHECK_EQUAL(itr.second, LOG_LV_FATAL);
+ }
list.clear();
implTest.getLogLevelAll(list);
- BOOST_FOREACH( category_level_list_type::value_type& itr, list ){
- BOOST_CHECK_EQUAL(itr.second,LOG_LV_FATAL);
+ BOOST_FOREACH(category_level_list_type::value_type & itr, list) {
+ BOOST_CHECK_EQUAL(itr.second, LOG_LV_FATAL);
}
// unit_test[4] setLogLevelAll getLogLevelAll method call
- set_result = implTest.setLogLevelAll(LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(set_result,true);
- category_map = implTest.getLoggerCategoryMapType();
- BOOST_FOREACH( category_level_map_type::value_type& itr, category_map ){
- BOOST_CHECK_EQUAL(itr.second,LOG_LV_DEBUG);
- }
+ set_result = implTest.setLogLevelAll(LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(set_result, true);
+ category_map = implTest.getLoggerCategoryMapType();
+ BOOST_FOREACH(category_level_map_type::value_type & itr, category_map) {
+ BOOST_CHECK_EQUAL(itr.second, LOG_LV_DEBUG);
+ }
list.clear();
implTest.getLogLevelAll(list);
- BOOST_FOREACH( category_level_list_type::value_type& itr, list ){
- BOOST_CHECK_EQUAL(itr.second,LOG_LV_DEBUG);
+ BOOST_FOREACH(category_level_list_type::value_type & itr, list) {
+ BOOST_CHECK_EQUAL(itr.second, LOG_LV_DEBUG);
}
// unit_test[5] setLogLevelAll getLogLevelAll method call
- set_result = implTest.setLogLevelAll(LOG_LV_INFO);
- BOOST_CHECK_EQUAL(set_result,true);
- category_map = implTest.getLoggerCategoryMapType();
- BOOST_FOREACH( category_level_map_type::value_type& itr, category_map ){
- BOOST_CHECK_EQUAL(itr.second,LOG_LV_INFO);
- }
+ set_result = implTest.setLogLevelAll(LOG_LV_INFO);
+ BOOST_CHECK_EQUAL(set_result, true);
+ category_map = implTest.getLoggerCategoryMapType();
+ BOOST_FOREACH(category_level_map_type::value_type & itr, category_map) {
+ BOOST_CHECK_EQUAL(itr.second, LOG_LV_INFO);
+ }
list.clear();
implTest.getLogLevelAll(list);
- BOOST_FOREACH( category_level_list_type::value_type& itr, list ){
- BOOST_CHECK_EQUAL(itr.second,LOG_LV_INFO);
+ BOOST_FOREACH(category_level_list_type::value_type & itr, list) {
+ BOOST_CHECK_EQUAL(itr.second, LOG_LV_INFO);
}
- BOOST_MESSAGE( "----- logger_impl_set_get_log_level_all_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_set_get_log_level_all_test end -----");
}
void logger_impl_set_log_level_test()
{
- BOOST_MESSAGE( "----- logger_impl_set_log_level_test start -----" );
+ BOOST_MESSAGE("----- logger_impl_set_log_level_test start -----");
- LoggerImplTest implTest;
+ LoggerImplTest implTest;
#if defined(LOGGER_PROCESS_VSD)
// unit_test[1] setLogLevel method call
- //*Logger::setLevelを呼び出してLevelを設定していること
- implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE,LOG_LV_WARN);
+ //*Logger::setLevelを呼び出してLevelを設定していること
+ implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE, LOG_LV_WARN);
BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_WARN);
BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getWarn());
// unit_test[2] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE,LOG_LV_ERROR);
+ implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE, LOG_LV_ERROR);
BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_ERROR);
BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getError());
// unit_test[3] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE,LOG_LV_FATAL);
+ implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE, LOG_LV_FATAL);
BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_FATAL);
BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getFatal());
// unit_test[4] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE,LOG_LV_DEBUG);
+ implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE, LOG_LV_DEBUG);
BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_DEBUG);
BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getDebug());
// unit_test[5] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE,LOG_LV_INFO);
+ implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE, LOG_LV_INFO);
BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_INFO);
BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getInfo());
// unit_test[6] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE,LOG_LV_WARN);
+ implTest.setLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE, LOG_LV_WARN);
BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSD_VIRTUALSERVICE), LOG_LV_WARN);
BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSD_VIRTUALSERVICE))->getLevel(), log4cxx::Level::getWarn());
// unit_test[7] setLogLevel method call
//*Logger::setLevelを呼び出してLevelを設定していること
- implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON,LOG_LV_WARN);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_WARN);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getWarn());
+ implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON, LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getWarn());
// unit_test[8] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON,LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getError());
+ implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON, LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getError());
// unit_test[9] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON,LOG_LV_FATAL);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_FATAL);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getFatal());
+ implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON, LOG_LV_FATAL);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_FATAL);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getFatal());
// unit_test[10] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON,LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getDebug());
+ implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON, LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getDebug());
// unit_test[11] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON,LOG_LV_INFO);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_INFO);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getInfo());
+ implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON, LOG_LV_INFO);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_INFO);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getInfo());
// unit_test[12] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON,LOG_LV_WARN);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_WARN);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getWarn());
+ implTest.setLogLevel(LOG_CAT_L7VSADM_COMMON, LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_L7VSADM_COMMON), LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_L7VSADM_COMMON))->getLevel(), log4cxx::Level::getWarn());
#else
// unit_test[13] setLogLevel method call
//*Logger::setLevelを呼び出してLevelを設定していること
- implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE,LOG_LV_WARN);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_WARN);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getWarn());
+ implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getWarn());
// unit_test[14] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE,LOG_LV_WARN);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_ERROR);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getError());
+ implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_ERROR);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getError());
// unit_test[15] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE,LOG_LV_WARN);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_FATAL);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getFatal());
+ implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_FATAL);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getFatal());
// unit_test[16] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE,LOG_LV_WARN);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_DEBUG);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getDebug());
+ implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_DEBUG);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getDebug());
// unit_test[17] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE,LOG_LV_WARN);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_INFO);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getInfo());
+ implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_INFO);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getInfo());
// unit_test[18] setLogLevel method call
- implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE,LOG_LV_WARN);
- BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_WARN);
- BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getWarn());
+ implTest.setLogLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(implTest.getLoggerCategoryLevel(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE), LOG_LV_WARN);
+ BOOST_CHECK_EQUAL(log4cxx::Logger::getLogger(implTest.getCategoryTable(LOG_CAT_SNMPAGENT_L7VSD_RECEIVE))->getLevel(), log4cxx::Level::getWarn());
#endif
- BOOST_MESSAGE( "----- logger_impl_set_log_level_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_set_log_level_test end -----");
}
void logger_impl_put_log_fatal_test()
{
- BOOST_MESSAGE( "----- logger_impl_put_log_fatal_test sta -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_fatal_test sta -----");
- LoggerImplTest implTest;
- implTest.init();
- loggerForcedLogEnabled = false;
+ LoggerImplTest implTest;
+ implTest.init();
+ loggerForcedLogEnabled = false;
#define TEST_MESSAGE "test_message"
- //*log4cxx::Logger::getLoggerを指定したカテゴリを引数に呼び出しいること
- loggerGetLoggerCalled = 0;
- loggerGetLoggerArgName = "";
- loggerGetLoggerReturnNull = false;
- implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerGetLoggerCalled, 1);
- BOOST_CHECK_EQUAL(loggerGetLoggerArgName, implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER));
-
-// getLoggerはNULLを返さない
-
-// //*log4cxx::Logger::getLoggerがNULLを返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
-// loggerAddAppenderCalled = 0;
-// loggerAddAppenderArg[0] = 0;
-// loggerAddAppenderArg[1] = 0;
-// fileAppenderCreated = 0;
-// syslogAppenderCreated = 0;
-// loggerGetLoggerReturnNull = true;
-// implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
-// BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
-// BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
-// BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
-// loggerGetLoggerReturnNull = false;
-
- //*logger::forcedLogを指定した引数で呼び出していること
- loggerForcedLogCalled = 0;
- loggerForcedLogArgLevel = 0;
- loggerForcedLogArgMessage = "";
- memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
- loggerForcedLogArgLine = 0;
- implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, 88);
- BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
- BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getFatal());
-
- char buf[256];
- snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_FATAL, LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, implTest.getHostname());
- BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
-
- BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
- BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 88);
-
- //*logger::forcedLogが例外を返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
- loggerAddAppenderCalled = 0;
- loggerAddAppenderArg[0] = 0;
- loggerAddAppenderArg[1] = 0;
- fileAppenderCreated = 0;
- syslogAppenderCreated = 0;
- loggerForcedLogException = true;
- implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
- loggerForcedLogException = false;
-
- //*長いメッセージを渡した時にBUF_LENで切り詰められた文字列を引数に渡していること
- std::string long_str;
- long_str.assign(10000, 'A');
- BOOST_MESSAGE(long_str);
- implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 12, long_str, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerForcedLogArgMessage.length(), (std::string::size_type)(BUF_LEN - 1));
+ //*log4cxx::Logger::getLoggerを指定したカテゴリを引数に呼び出しいること
+ loggerGetLoggerCalled = 0;
+ loggerGetLoggerArgName = "";
+ loggerGetLoggerReturnNull = false;
+ implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerGetLoggerCalled, 1);
+ BOOST_CHECK_EQUAL(loggerGetLoggerArgName, implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER));
+
+// getLoggerはNULLを返さない
+
+// //*log4cxx::Logger::getLoggerがNULLを返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
+// loggerAddAppenderCalled = 0;
+// loggerAddAppenderArg[0] = 0;
+// loggerAddAppenderArg[1] = 0;
+// fileAppenderCreated = 0;
+// syslogAppenderCreated = 0;
+// loggerGetLoggerReturnNull = true;
+// implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
+// BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
+// BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
+// BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
+// loggerGetLoggerReturnNull = false;
+
+ //*logger::forcedLogを指定した引数で呼び出していること
+ loggerForcedLogCalled = 0;
+ loggerForcedLogArgLevel = 0;
+ loggerForcedLogArgMessage = "";
+ memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
+ loggerForcedLogArgLine = 0;
+ implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, 88);
+ BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getFatal());
+
+ char buf[256];
+ snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_FATAL, LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, implTest.getHostname());
+ BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
+
+ BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 88);
+
+ //*logger::forcedLogが例外を返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
+ loggerAddAppenderCalled = 0;
+ loggerAddAppenderArg[0] = 0;
+ loggerAddAppenderArg[1] = 0;
+ fileAppenderCreated = 0;
+ syslogAppenderCreated = 0;
+ loggerForcedLogException = true;
+ implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
+ loggerForcedLogException = false;
+
+ //*長いメッセージを渡した時にBUF_LENで切り詰められた文字列を引数に渡していること
+ std::string long_str;
+ long_str.assign(10000, 'A');
+ BOOST_MESSAGE(long_str);
+ implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 12, long_str, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerForcedLogArgMessage.length(), (std::string::size_type)(BUF_LEN - 1));
#undef TEST_MESSAGE
- BOOST_MESSAGE( "----- logger_impl_put_log_fatal_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_fatal_test end -----");
}
void logger_impl_put_log_fatal_test02()
{
- BOOST_MESSAGE( "----- logger_impl_put_log_fatal_test02 sta -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_fatal_test02 sta -----");
LoggerImplTest implTest;
implTest.init();
// unit_test[1] putLogFatal method call02
// プロトコルモジュール・スケジュールモジュール・それ以外のカテゴリのメッセージが
- // 同じフォーマットで出力されることを確認
- implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 41, TEST_MESSAGE, __FILE__, __LINE__);
- implTest.putLogFatal(LOG_CAT_PROTOCOL, 300068, TEST_MESSAGE, __FILE__, __LINE__);
- implTest.putLogFatal(LOG_CAT_SCHEDULE, 300068, TEST_MESSAGE, __FILE__, __LINE__);
+ // 同じフォーマットで出力されることを確認
+ implTest.putLogFatal(LOG_CAT_L7VSD_LOGGER, 41, TEST_MESSAGE, __FILE__, __LINE__);
+ implTest.putLogFatal(LOG_CAT_PROTOCOL, 300068, TEST_MESSAGE, __FILE__, __LINE__);
+ implTest.putLogFatal(LOG_CAT_SCHEDULE, 300068, TEST_MESSAGE, __FILE__, __LINE__);
#undef TEST_MESSAGE
- BOOST_MESSAGE( "----- logger_impl_put_log_fatal_test02 end -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_fatal_test02 end -----");
}
void logger_impl_put_log_error_test()
{
- BOOST_MESSAGE( "----- logger_impl_put_log_error_test sta -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_error_test sta -----");
- LoggerImplTest implTest;
- implTest.init();
- loggerForcedLogEnabled = false;
+ LoggerImplTest implTest;
+ implTest.init();
+ loggerForcedLogEnabled = false;
#define TEST_MESSAGE "test_message"
- //*log4cxx::Logger::getLoggerを指定したカテゴリを引数に呼び出しいること
- loggerGetLoggerCalled = 0;
- loggerGetLoggerArgName = "";
- loggerGetLoggerReturnNull = false;
- implTest.putLogError(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerGetLoggerCalled, 1);
- BOOST_CHECK_EQUAL(loggerGetLoggerArgName, implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER));
-
- //*logger::forcedLogを指定した引数で呼び出していること
- loggerForcedLogCalled = 0;
- loggerForcedLogArgLevel = 0;
- loggerForcedLogArgMessage = "";
- memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
- loggerForcedLogArgLine = 0;
- implTest.putLogError(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, 88);
- BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
- BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getError());
-
- char buf[256];
- snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_ERROR, LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, implTest.getHostname());
- BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
-
- BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
- BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 88);
-
- //*logger::forcedLogが例外を返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
- loggerAddAppenderCalled = 0;
- loggerAddAppenderArg[0] = 0;
- loggerAddAppenderArg[1] = 0;
- fileAppenderCreated = 0;
- syslogAppenderCreated = 0;
- loggerForcedLogException = true;
- implTest.putLogError(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
- loggerForcedLogException = false;
-
- //*長いメッセージを渡した時にBUF_LENで切り詰められた文字列を引数に渡していること
- std::string long_str;
- long_str.assign(10000, 'A');
- BOOST_MESSAGE(long_str);
- implTest.putLogError(LOG_CAT_L7VSD_LOGGER, 12, long_str, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerForcedLogArgMessage.length(), (std::string::size_type)(BUF_LEN - 1));
+ //*log4cxx::Logger::getLoggerを指定したカテゴリを引数に呼び出しいること
+ loggerGetLoggerCalled = 0;
+ loggerGetLoggerArgName = "";
+ loggerGetLoggerReturnNull = false;
+ implTest.putLogError(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerGetLoggerCalled, 1);
+ BOOST_CHECK_EQUAL(loggerGetLoggerArgName, implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER));
+
+ //*logger::forcedLogを指定した引数で呼び出していること
+ loggerForcedLogCalled = 0;
+ loggerForcedLogArgLevel = 0;
+ loggerForcedLogArgMessage = "";
+ memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
+ loggerForcedLogArgLine = 0;
+ implTest.putLogError(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, 88);
+ BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getError());
+
+ char buf[256];
+ snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_ERROR, LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, implTest.getHostname());
+ BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
+
+ BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 88);
+
+ //*logger::forcedLogが例外を返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
+ loggerAddAppenderCalled = 0;
+ loggerAddAppenderArg[0] = 0;
+ loggerAddAppenderArg[1] = 0;
+ fileAppenderCreated = 0;
+ syslogAppenderCreated = 0;
+ loggerForcedLogException = true;
+ implTest.putLogError(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
+ loggerForcedLogException = false;
+
+ //*長いメッセージを渡した時にBUF_LENで切り詰められた文字列を引数に渡していること
+ std::string long_str;
+ long_str.assign(10000, 'A');
+ BOOST_MESSAGE(long_str);
+ implTest.putLogError(LOG_CAT_L7VSD_LOGGER, 12, long_str, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerForcedLogArgMessage.length(), (std::string::size_type)(BUF_LEN - 1));
#undef TEST_MESSAGE
- BOOST_MESSAGE( "----- logger_impl_put_log_error_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_error_test end -----");
}
void logger_impl_put_log_error_test02()
{
- BOOST_MESSAGE( "----- logger_impl_put_log_error_test02 sta -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_error_test02 sta -----");
LoggerImplTest implTest;
implTest.init();
#undef TEST_MESSAGE
- BOOST_MESSAGE( "----- logger_impl_put_log_error_test02 end -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_error_test02 end -----");
}
void logger_impl_put_log_warn_test()
{
- BOOST_MESSAGE( "----- logger_impl_put_log_warn_test sta -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_warn_test sta -----");
- LoggerImplTest implTest;
- implTest.init();
- loggerForcedLogEnabled = false;
+ LoggerImplTest implTest;
+ implTest.init();
+ loggerForcedLogEnabled = false;
#define TEST_MESSAGE "test_message"
- //*log4cxx::Logger::getLoggerを指定したカテゴリを引数に呼び出しいること
- loggerGetLoggerCalled = 0;
- loggerGetLoggerArgName = "";
- loggerGetLoggerReturnNull = false;
- implTest.putLogWarn(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerGetLoggerCalled, 1);
- BOOST_CHECK_EQUAL(loggerGetLoggerArgName, implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER));
-/*
- //*logger::forcedLogを指定した引数で呼び出していること
- loggerForcedLogCalled = 0;
- loggerForcedLogArgLevel = 0;
- loggerForcedLogArgMessage = "";
- memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
- loggerForcedLogArgLine = 0;
- implTest.putLogWarn(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, 88);
- BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
- BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getWarn());
-
- char buf[256];
- snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_WARN, LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, implTest.getHostname());
- BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
-
- BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
- BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 88);
-
- //*logger::forcedLogが例外を返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
- loggerAddAppenderCalled = 0;
- loggerAddAppenderArg[0] = 0;
- loggerAddAppenderArg[1] = 0;
- fileAppenderCreated = 0;
- syslogAppenderCreated = 0;
- loggerForcedLogException = true;
- implTest.putLogWarn(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
- loggerForcedLogException = false;
-
- //*長いメッセージを渡した時にBUF_LENで切り詰められた文字列を引数に渡していること
- std::string long_str;
- long_str.assign(10000, 'A');
- BOOST_MESSAGE(long_str);
- implTest.putLogWarn(LOG_CAT_L7VSD_LOGGER, 12, long_str, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerForcedLogArgMessage.length(), (std::string::size_type)(BUF_LEN - 1));
-*/
+ //*log4cxx::Logger::getLoggerを指定したカテゴリを引数に呼び出しいること
+ loggerGetLoggerCalled = 0;
+ loggerGetLoggerArgName = "";
+ loggerGetLoggerReturnNull = false;
+ implTest.putLogWarn(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerGetLoggerCalled, 1);
+ BOOST_CHECK_EQUAL(loggerGetLoggerArgName, implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER));
+ /*
+ //*logger::forcedLogを指定した引数で呼び出していること
+ loggerForcedLogCalled = 0;
+ loggerForcedLogArgLevel = 0;
+ loggerForcedLogArgMessage = "";
+ memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
+ loggerForcedLogArgLine = 0;
+ implTest.putLogWarn(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, 88);
+ BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getWarn());
+
+ char buf[256];
+ snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_WARN, LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, implTest.getHostname());
+ BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
+
+ BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 88);
+
+ //*logger::forcedLogが例外を返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
+ loggerAddAppenderCalled = 0;
+ loggerAddAppenderArg[0] = 0;
+ loggerAddAppenderArg[1] = 0;
+ fileAppenderCreated = 0;
+ syslogAppenderCreated = 0;
+ loggerForcedLogException = true;
+ implTest.putLogWarn(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
+ loggerForcedLogException = false;
+
+ //*長いメッセージを渡した時にBUF_LENで切り詰められた文字列を引数に渡していること
+ std::string long_str;
+ long_str.assign(10000, 'A');
+ BOOST_MESSAGE(long_str);
+ implTest.putLogWarn(LOG_CAT_L7VSD_LOGGER, 12, long_str, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerForcedLogArgMessage.length(), (std::string::size_type)(BUF_LEN - 1));
+ */
#undef TEST_MESSAGE
- BOOST_MESSAGE( "----- logger_impl_put_log_warn_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_warn_test end -----");
}
void logger_impl_put_log_warn_test02()
{
- BOOST_MESSAGE( "----- logger_impl_put_log_warn_test02 sta -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_warn_test02 sta -----");
LoggerImplTest implTest;
implTest.init();
#undef TEST_MESSAGE
- BOOST_MESSAGE( "----- logger_impl_put_log_warn_test02 end -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_warn_test02 end -----");
}
void logger_impl_put_log_info_test()
{
- BOOST_MESSAGE( "----- logger_impl_put_log_info_test sta -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_info_test sta -----");
- LoggerImplTest implTest;
- implTest.init();
- loggerForcedLogEnabled = false;
+ LoggerImplTest implTest;
+ implTest.init();
+ loggerForcedLogEnabled = false;
#define TEST_MESSAGE "test_message"
- //*log4cxx::Logger::getLoggerを指定したカテゴリを引数に呼び出しいること
- loggerGetLoggerCalled = 0;
- loggerGetLoggerArgName = "";
- loggerGetLoggerReturnNull = false;
- implTest.putLogInfo(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerGetLoggerCalled, 1);
- BOOST_CHECK_EQUAL(loggerGetLoggerArgName, implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER));
-
- //*logger::forcedLogを指定した引数で呼び出していること
- loggerForcedLogCalled = 0;
- loggerForcedLogArgLevel = 0;
- loggerForcedLogArgMessage = "";
- memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
- loggerForcedLogArgLine = 0;
- implTest.putLogInfo(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, 88);
- BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
- BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getInfo());
-
- char buf[256];
- snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_INFO, LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, implTest.getHostname());
- BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
-
- BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
- BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 88);
-
- //*logger::forcedLogが例外を返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
- loggerAddAppenderCalled = 0;
- loggerAddAppenderArg[0] = 0;
- loggerAddAppenderArg[1] = 0;
- fileAppenderCreated = 0;
- syslogAppenderCreated = 0;
- loggerForcedLogException = true;
- implTest.putLogInfo(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
- loggerForcedLogException = false;
-
- //*長いメッセージを渡した時にBUF_LENで切り詰められた文字列を引数に渡していること
- std::string long_str;
- long_str.assign(10000, 'A');
- BOOST_MESSAGE(long_str);
- implTest.putLogInfo(LOG_CAT_L7VSD_LOGGER, 12, long_str, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerForcedLogArgMessage.length(), (std::string::size_type)(BUF_LEN - 1));
+ //*log4cxx::Logger::getLoggerを指定したカテゴリを引数に呼び出しいること
+ loggerGetLoggerCalled = 0;
+ loggerGetLoggerArgName = "";
+ loggerGetLoggerReturnNull = false;
+ implTest.putLogInfo(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerGetLoggerCalled, 1);
+ BOOST_CHECK_EQUAL(loggerGetLoggerArgName, implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER));
+
+ //*logger::forcedLogを指定した引数で呼び出していること
+ loggerForcedLogCalled = 0;
+ loggerForcedLogArgLevel = 0;
+ loggerForcedLogArgMessage = "";
+ memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
+ loggerForcedLogArgLine = 0;
+ implTest.putLogInfo(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, 88);
+ BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getInfo());
+
+ char buf[256];
+ snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_INFO, LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, implTest.getHostname());
+ BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
+
+ BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 88);
+
+ //*logger::forcedLogが例外を返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
+ loggerAddAppenderCalled = 0;
+ loggerAddAppenderArg[0] = 0;
+ loggerAddAppenderArg[1] = 0;
+ fileAppenderCreated = 0;
+ syslogAppenderCreated = 0;
+ loggerForcedLogException = true;
+ implTest.putLogInfo(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
+ loggerForcedLogException = false;
+
+ //*長いメッセージを渡した時にBUF_LENで切り詰められた文字列を引数に渡していること
+ std::string long_str;
+ long_str.assign(10000, 'A');
+ BOOST_MESSAGE(long_str);
+ implTest.putLogInfo(LOG_CAT_L7VSD_LOGGER, 12, long_str, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerForcedLogArgMessage.length(), (std::string::size_type)(BUF_LEN - 1));
#undef TEST_MESSAGE
- BOOST_MESSAGE( "----- logger_impl_put_log_info_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_info_test end -----");
}
void logger_impl_put_log_info_test02()
{
- BOOST_MESSAGE( "----- logger_impl_put_log_info_test02 sta -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_info_test02 sta -----");
LoggerImplTest implTest;
implTest.init();
#undef TEST_MESSAGE
- BOOST_MESSAGE( "----- logger_impl_put_log_info_test02 end -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_info_test02 end -----");
}
void logger_impl_put_log_debug_test()
{
- BOOST_MESSAGE( "----- logger_impl_put_log_debug_test sta -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_debug_test sta -----");
- LoggerImplTest implTest;
- implTest.init();
- loggerForcedLogEnabled = false;
+ LoggerImplTest implTest;
+ implTest.init();
+ loggerForcedLogEnabled = false;
#define TEST_MESSAGE "test_message"
- //*log4cxx::Logger::getLoggerを指定したカテゴリを引数に呼び出しいること
- loggerGetLoggerCalled = 0;
- loggerGetLoggerArgName = "";
- loggerGetLoggerReturnNull = false;
- implTest.putLogDebug(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerGetLoggerCalled, 1);
- BOOST_CHECK_EQUAL(loggerGetLoggerArgName, implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER));
-
- //*logger::forcedLogを指定した引数で呼び出していること
- loggerForcedLogCalled = 0;
- loggerForcedLogArgLevel = 0;
- loggerForcedLogArgMessage = "";
- memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
- loggerForcedLogArgLine = 0;
- implTest.putLogDebug(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, 88);
- BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
- BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getDebug());
-
- char buf[256];
- snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_DEBUG, LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, implTest.getHostname());
- BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
-
- BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
- BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 88);
-
- //*logger::forcedLogが例外を返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
- loggerAddAppenderCalled = 0;
- loggerAddAppenderArg[0] = 0;
- loggerAddAppenderArg[1] = 0;
- fileAppenderCreated = 0;
- syslogAppenderCreated = 0;
- loggerForcedLogException = true;
- implTest.putLogDebug(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
- BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
- loggerForcedLogException = false;
-
- //*長いメッセージを渡した時にBUF_LENで切り詰められた文字列を引数に渡していること
- std::string long_str;
- long_str.assign(10000, 'A');
- BOOST_MESSAGE(long_str);
- implTest.putLogDebug(LOG_CAT_L7VSD_LOGGER, 12, long_str, __FILE__, __LINE__);
- BOOST_CHECK_EQUAL(loggerForcedLogArgMessage.length(), (std::string::size_type)(BUF_LEN - 1));
+ //*log4cxx::Logger::getLoggerを指定したカテゴリを引数に呼び出しいること
+ loggerGetLoggerCalled = 0;
+ loggerGetLoggerArgName = "";
+ loggerGetLoggerReturnNull = false;
+ implTest.putLogDebug(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerGetLoggerCalled, 1);
+ BOOST_CHECK_EQUAL(loggerGetLoggerArgName, implTest.getCategoryTable(LOG_CAT_L7VSD_LOGGER));
+
+ //*logger::forcedLogを指定した引数で呼び出していること
+ loggerForcedLogCalled = 0;
+ loggerForcedLogArgLevel = 0;
+ loggerForcedLogArgMessage = "";
+ memset(loggerForcedLogArgFile, 0, sizeof(loggerForcedLogArgFile));
+ loggerForcedLogArgLine = 0;
+ implTest.putLogDebug(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, 88);
+ BOOST_CHECK_EQUAL(loggerForcedLogCalled, 1);
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLevel, log4cxx::Level::getDebug());
+
+ char buf[256];
+ snprintf(buf, sizeof(buf), "%s%d%03d%04d %s %s", LOGGER_PROCESS_ID, LOG_LV_DEBUG, LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, implTest.getHostname());
+ BOOST_CHECK(!strncmp(buf, loggerForcedLogArgMessage.c_str(), sizeof(buf)));
+
+ BOOST_CHECK(!strncmp(loggerForcedLogArgFile, __FILE__, sizeof(loggerForcedLogArgFile)));
+ BOOST_CHECK_EQUAL(loggerForcedLogArgLine, 88);
+
+ //*logger::forcedLogが例外を返した時にエラーとなりAppenderがSyslog, FileAppender(/dev/console)に切り替わること
+ loggerAddAppenderCalled = 0;
+ loggerAddAppenderArg[0] = 0;
+ loggerAddAppenderArg[1] = 0;
+ fileAppenderCreated = 0;
+ syslogAppenderCreated = 0;
+ loggerForcedLogException = true;
+ implTest.putLogDebug(LOG_CAT_L7VSD_LOGGER, 12, TEST_MESSAGE, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerAddAppenderCalled, 2);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[0], syslogAppenderCreated);
+ BOOST_CHECK_EQUAL(loggerAddAppenderArg[1], fileAppenderCreated);
+ loggerForcedLogException = false;
+
+ //*長いメッセージを渡した時にBUF_LENで切り詰められた文字列を引数に渡していること
+ std::string long_str;
+ long_str.assign(10000, 'A');
+ BOOST_MESSAGE(long_str);
+ implTest.putLogDebug(LOG_CAT_L7VSD_LOGGER, 12, long_str, __FILE__, __LINE__);
+ BOOST_CHECK_EQUAL(loggerForcedLogArgMessage.length(), (std::string::size_type)(BUF_LEN - 1));
#undef TEST_MESSAGE
- BOOST_MESSAGE( "----- logger_impl_put_log_debug_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_debug_test end -----");
}
void logger_impl_put_log_debug_test02()
{
- BOOST_MESSAGE( "----- logger_impl_put_log_debug_test02 sta -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_debug_test02 sta -----");
LoggerImplTest implTest;
implTest.init();
#undef TEST_MESSAGE
- BOOST_MESSAGE( "----- logger_impl_put_log_debug_test02 end -----" );
+ BOOST_MESSAGE("----- logger_impl_put_log_debug_test02 end -----");
}
void logger_impl_logic_error_test()
{
- BOOST_MESSAGE( "----- logger_impl_logic_error_test start -----" );
+ BOOST_MESSAGE("----- logger_impl_logic_error_test start -----");
LoggerImplTest implTest;
std::string ss = "testMsg";
// unit_test[1] logic_error method call
- try{
-#if defined(LOGGER_PROCESS_VSD)
-
- implTest.logic_error( 1, ss, __FILE__, __LINE__ );
+ try {
+#if defined(LOGGER_PROCESS_VSD)
+
+ implTest.logic_error(1, ss, __FILE__, __LINE__);
#elif defined(LOGGER_PROCESS_ADM)
- implTest.logic_error( 1, ss, __FILE__, __LINE__ );
+ implTest.logic_error(1, ss, __FILE__, __LINE__);
#elif defined(LOGGER_PROCESS_SNM)
-
- implTest.logic_error( 1, ss, __FILE__, __LINE__ );
-
+
+ implTest.logic_error(1, ss, __FILE__, __LINE__);
+
#endif
- }catch(const std::exception& ex){
- BOOST_CHECK_EQUAL( ex.what() , ss );
- }
+ } catch (const std::exception &ex) {
+ BOOST_CHECK_EQUAL(ex.what() , ss);
+ }
- BOOST_MESSAGE( "----- logger_impl_logic_error_test end -----" );
+ BOOST_MESSAGE("----- logger_impl_logic_error_test end -----");
}
/*
void logger_impl_get_categor_range_start_test()
{
- BOOST_MESSAGE( "----- logger_impl_get_category_range_start_test start -----" );
-
- LoggerImplTest implTest;
-
- //*l7vsdのstartはLOG_CAT_L7VSD_NETWORKが返ってくるか
- BOOST_CHECK_EQUAL(implTest.getCategoryRangeStart(LOG_MOD_L7VSD), LOG_CAT_L7VSD_NETWORK);
- //*l7vsadmのstartはLOG_CAT_L7VSADM_PARSEが返ってくるか
- BOOST_CHECK_EQUAL(implTest.getCategoryRangeStart(LOG_MOD_L7VSADM), LOG_CAT_L7VSADM_PARSE);
- //*snmpagentのstartはLOG_CAT_SNMPAGENT_START_STOPが返ってくるか
- BOOST_CHECK_EQUAL(implTest.getCategoryRangeStart(LOG_MOD_SNMPAGENT), LOG_CAT_SNMPAGENT_START_STOP);
-
- BOOST_MESSAGE( "----- logger_impl_get_category_range_start_test end -----" );
+ BOOST_MESSAGE( "----- logger_impl_get_category_range_start_test start -----" );
+
+ LoggerImplTest implTest;
+
+ //*l7vsdのstartはLOG_CAT_L7VSD_NETWORKが返ってくるか
+ BOOST_CHECK_EQUAL(implTest.getCategoryRangeStart(LOG_MOD_L7VSD), LOG_CAT_L7VSD_NETWORK);
+ //*l7vsadmのstartはLOG_CAT_L7VSADM_PARSEが返ってくるか
+ BOOST_CHECK_EQUAL(implTest.getCategoryRangeStart(LOG_MOD_L7VSADM), LOG_CAT_L7VSADM_PARSE);
+ //*snmpagentのstartはLOG_CAT_SNMPAGENT_START_STOPが返ってくるか
+ BOOST_CHECK_EQUAL(implTest.getCategoryRangeStart(LOG_MOD_SNMPAGENT), LOG_CAT_SNMPAGENT_START_STOP);
+
+ BOOST_MESSAGE( "----- logger_impl_get_category_range_start_test end -----" );
}
void logger_impl_get_categor_range_end_test()
{
- BOOST_MESSAGE( "----- logger_impl_get_category_range_end_test start -----" );
+ BOOST_MESSAGE( "----- logger_impl_get_category_range_end_test start -----" );
+
+ LoggerImplTest implTest;
- LoggerImplTest implTest;
-
- //*l7vsdのendはLOG_CAT_L7VSD_PROTOCOLが返ってくるか
- BOOST_CHECK_EQUAL(implTest.getCategoryRangeEnd(LOG_MOD_L7VSD), LOG_CAT_L7VSD_MODULE);
- //*l7vsadmのendはLOG_CAT_L7VSADM_MODULEが返ってくるか
- BOOST_CHECK_EQUAL(implTest.getCategoryRangeEnd(LOG_MOD_L7VSADM), LOG_CAT_L7VSADM_MODULE);
- //*snmpagentのendはLOG_CAT_SNMPAGENT_L7VSD_SENDが返ってくるか
- BOOST_CHECK_EQUAL(implTest.getCategoryRangeEnd(LOG_MOD_SNMPAGENT), LOG_CAT_SNMPAGENT_PARAMETER);
+ //*l7vsdのendはLOG_CAT_L7VSD_PROTOCOLが返ってくるか
+ BOOST_CHECK_EQUAL(implTest.getCategoryRangeEnd(LOG_MOD_L7VSD), LOG_CAT_L7VSD_MODULE);
+ //*l7vsadmのendはLOG_CAT_L7VSADM_MODULEが返ってくるか
+ BOOST_CHECK_EQUAL(implTest.getCategoryRangeEnd(LOG_MOD_L7VSADM), LOG_CAT_L7VSADM_MODULE);
+ //*snmpagentのendはLOG_CAT_SNMPAGENT_L7VSD_SENDが返ってくるか
+ BOOST_CHECK_EQUAL(implTest.getCategoryRangeEnd(LOG_MOD_SNMPAGENT), LOG_CAT_SNMPAGENT_PARAMETER);
- BOOST_MESSAGE( "----- logger_impl_get_category_range_end_test end -----" );
+ BOOST_MESSAGE( "----- logger_impl_get_category_range_end_test end -----" );
}
*/
test_suite*
-init_unit_test_suite(int argc, char* argv[])
+init_unit_test_suite(int argc, char *argv[])
{
- test_suite* test = BOOST_TEST_SUITE("logger_test");
- test->add(BOOST_TEST_CASE(logger_impl_load_conf_test));
- test->add(BOOST_TEST_CASE(logger_impl_error_conf_testi02));
- test->add(BOOST_TEST_CASE(logger_impl_logic_error_test));
+ test_suite *test = BOOST_TEST_SUITE("logger_test");
+ test->add(BOOST_TEST_CASE(logger_impl_load_conf_test));
+ test->add(BOOST_TEST_CASE(logger_impl_error_conf_testi02));
+ test->add(BOOST_TEST_CASE(logger_impl_logic_error_test));
test->add(BOOST_TEST_CASE(logger_impl_put_log_fatal_test02));
test->add(BOOST_TEST_CASE(logger_impl_put_log_error_test02));
test->add(BOOST_TEST_CASE(logger_impl_put_log_warn_test02));
test->add(BOOST_TEST_CASE(logger_impl_put_log_info_test02));
test->add(BOOST_TEST_CASE(logger_impl_put_log_debug_test02));
- test->add(BOOST_TEST_CASE(logger_impl_set_get_log_level_all_test));
- test->add(BOOST_TEST_CASE(logger_impl_set_log_level_test));
- test->add(BOOST_TEST_CASE(logger_impl_get_log_level_test));
- test->add(BOOST_TEST_CASE(logger_impl_constructor_test));
+ test->add(BOOST_TEST_CASE(logger_impl_set_get_log_level_all_test));
+ test->add(BOOST_TEST_CASE(logger_impl_set_log_level_test));
+ test->add(BOOST_TEST_CASE(logger_impl_get_log_level_test));
+ test->add(BOOST_TEST_CASE(logger_impl_constructor_test));
- return test;
+ return test;
}
/*
- Logger class Unit Test Program.
+ Logger class Unit Test Program.
*/
#include "logger_enum.h"
#include "logger.cpp"
-class Logger_Test :public l7vs::Logger{
- public:
- Logger_Test(){}
- static void constractor_test();
- static void destractor_test();
- static void reloadConf_test();
- static void getinstance_test();
- static void getLogLevel_test();
- static void setLogLevel_test();
- static void putLogFatal_test();
- static void putLogError_test();
- static void putLogWarn_test();
- static void putLogInfo_test();
- static void putLogDebug_test();
- static void getCategoryRangeStart_test();
- static void getCategoryRangeEnd_test();
+class Logger_Test : public l7vs::Logger
+{
+public:
+ Logger_Test() {}
+ static void constractor_test();
+ static void destractor_test();
+ static void reloadConf_test();
+ static void getinstance_test();
+ static void getLogLevel_test();
+ static void setLogLevel_test();
+ static void putLogFatal_test();
+ static void putLogError_test();
+ static void putLogWarn_test();
+ static void putLogInfo_test();
+ static void putLogDebug_test();
+ static void getCategoryRangeStart_test();
+ static void getCategoryRangeEnd_test();
};
-template <typename T> T& operator++( T& value ){
- value = static_cast<T>( value+1 );
- return value;
+template <typename T> T &operator++(T &value)
+{
+ value = static_cast<T>(value + 1);
+ return value;
}
-void Logger_Test::constractor_test(){
- LoggerImpl impl = LoggerImpl::getInstance();
- bool flag = true;
- impl.init_flag = flag;
- Logger_Test logger;
- BOOST_CHECK_EQUAL( flag , LoggerImpl::getInstance().init_flag );
+void Logger_Test::constractor_test()
+{
+ LoggerImpl impl = LoggerImpl::getInstance();
+ bool flag = true;
+ impl.init_flag = flag;
+ Logger_Test logger;
+ BOOST_CHECK_EQUAL(flag , LoggerImpl::getInstance().init_flag);
}
-void Logger_Test::destractor_test(){
- //nothing
+void Logger_Test::destractor_test()
+{
+ //nothing
}
-void Logger_Test::getinstance_test(){
- //複数回のgetInstanceを呼んで同じものがくるか
- l7vs::Logger logger =l7vs:: Logger::getInstance();
- void* first = &logger;
- logger = Logger::getInstance();
- void* second = &logger;
- BOOST_CHECK_EQUAL( first, second );
- //失敗は存在しないのでなし
+void Logger_Test::getinstance_test()
+{
+ //複数回のgetInstanceを呼んで同じものがくるか
+ l7vs::Logger logger = l7vs:: Logger::getInstance();
+ void *first = &logger;
+ logger = Logger::getInstance();
+ void *second = &logger;
+ BOOST_CHECK_EQUAL(first, second);
+ //失敗は存在しないのでなし
}
-void Logger_Test::reloadConf_test(){
- //rimplのreadが呼ばれて素の結果が返却されているか
- LoggerImpl impl = LoggerImpl::getInstance();
- l7vs::Logger logger = l7vs::Logger::getInstance();
- //true
- bool test_flag = true;
- impl.reloadConf_flag = true;
- BOOST_CHECK_EQUAL( logger.reloadConf(), test_flag );
- //false
- test_flag = false;
- impl.reloadConf_flag = test_flag;
- BOOST_CHECK_EQUAL( logger.reloadConf(), test_flag );
+void Logger_Test::reloadConf_test()
+{
+ //rimplのreadが呼ばれて素の結果が返却されているか
+ LoggerImpl impl = LoggerImpl::getInstance();
+ l7vs::Logger logger = l7vs::Logger::getInstance();
+ //true
+ bool test_flag = true;
+ impl.reloadConf_flag = true;
+ BOOST_CHECK_EQUAL(logger.reloadConf(), test_flag);
+ //false
+ test_flag = false;
+ impl.reloadConf_flag = test_flag;
+ BOOST_CHECK_EQUAL(logger.reloadConf(), test_flag);
}
-void Logger_Test::getLogLevel_test(){
- LoggerImpl impl = LoggerImpl::getInstance();
- l7vs::Logger logger = l7vs::Logger::getInstance();
- for( LOG_LEVEL_TAG level = LOG_LV_NONE; level <= LOG_LV_FATAL; ++level ){
- for( LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat ){
- impl.test_log_level = level;
- impl.test_log_cat = cat;
- BOOST_CHECK_EQUAL( static_cast<int>(logger.getLogLevel( cat )) , static_cast<int>( level) );
- }
- }
+void Logger_Test::getLogLevel_test()
+{
+ LoggerImpl impl = LoggerImpl::getInstance();
+ l7vs::Logger logger = l7vs::Logger::getInstance();
+ for (LOG_LEVEL_TAG level = LOG_LV_NONE; level <= LOG_LV_FATAL; ++level) {
+ for (LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat) {
+ impl.test_log_level = level;
+ impl.test_log_cat = cat;
+ BOOST_CHECK_EQUAL(static_cast<int>(logger.getLogLevel(cat)) , static_cast<int>(level));
+ }
+ }
}
-void Logger_Test::setLogLevel_test(){
- LoggerImpl impl = LoggerImpl::getInstance();
- l7vs::Logger logger = l7vs::Logger::getInstance();
- for( LOG_LEVEL_TAG level = LOG_LV_NONE; level <= LOG_LV_FATAL; ++level ){
- for( LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat ){
- bool flag = true;
- impl.setLogLevel_flag = flag;
- BOOST_CHECK_EQUAL( static_cast<int>( logger.setLogLevel( cat, level ) ),static_cast<int>(flag) );
- BOOST_CHECK_EQUAL( static_cast<int>( impl.test_log_level ) , static_cast<int>( level ) );
- BOOST_CHECK_EQUAL( static_cast<int>( impl.test_log_cat ), static_cast<int>( cat ) );
- flag = false;
- impl.setLogLevel_flag = flag;
- BOOST_CHECK_EQUAL( static_cast<int>( logger.setLogLevel( cat, level) ) ,static_cast<int>( flag ) );
- BOOST_CHECK_EQUAL( static_cast<int>( impl.test_log_level ), static_cast<int>( level ) );
- BOOST_CHECK_EQUAL( static_cast<int>( impl.test_log_cat ), static_cast<int>( cat ) );
- }
- }
+void Logger_Test::setLogLevel_test()
+{
+ LoggerImpl impl = LoggerImpl::getInstance();
+ l7vs::Logger logger = l7vs::Logger::getInstance();
+ for (LOG_LEVEL_TAG level = LOG_LV_NONE; level <= LOG_LV_FATAL; ++level) {
+ for (LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat) {
+ bool flag = true;
+ impl.setLogLevel_flag = flag;
+ BOOST_CHECK_EQUAL(static_cast<int>(logger.setLogLevel(cat, level)), static_cast<int>(flag));
+ BOOST_CHECK_EQUAL(static_cast<int>(impl.test_log_level) , static_cast<int>(level));
+ BOOST_CHECK_EQUAL(static_cast<int>(impl.test_log_cat), static_cast<int>(cat));
+ flag = false;
+ impl.setLogLevel_flag = flag;
+ BOOST_CHECK_EQUAL(static_cast<int>(logger.setLogLevel(cat, level)) , static_cast<int>(flag));
+ BOOST_CHECK_EQUAL(static_cast<int>(impl.test_log_level), static_cast<int>(level));
+ BOOST_CHECK_EQUAL(static_cast<int>(impl.test_log_cat), static_cast<int>(cat));
+ }
+ }
}
-void Logger_Test::putLogFatal_test(){
- LoggerImpl impl = LoggerImpl::getInstance();
- l7vs::Logger logger = l7vs::Logger::getInstance();
- unsigned int mesid = 0;
- std::string mes = "mes";
- std::string file = "file";
- int line = 0;
- for( LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat ){
- logger.putLogFatal( cat, mesid, mes, file.c_str(), line );
- BOOST_CHECK_EQUAL( static_cast<int>( impl.test_log_cat ), static_cast<int>( cat ));
- BOOST_CHECK_EQUAL( impl.test_mesid, mesid );
- BOOST_CHECK_EQUAL( impl.test_file, file );
- BOOST_CHECK_EQUAL( impl.test_line, line );
- }
+void Logger_Test::putLogFatal_test()
+{
+ LoggerImpl impl = LoggerImpl::getInstance();
+ l7vs::Logger logger = l7vs::Logger::getInstance();
+ unsigned int mesid = 0;
+ std::string mes = "mes";
+ std::string file = "file";
+ int line = 0;
+ for (LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat) {
+ logger.putLogFatal(cat, mesid, mes, file.c_str(), line);
+ BOOST_CHECK_EQUAL(static_cast<int>(impl.test_log_cat), static_cast<int>(cat));
+ BOOST_CHECK_EQUAL(impl.test_mesid, mesid);
+ BOOST_CHECK_EQUAL(impl.test_file, file);
+ BOOST_CHECK_EQUAL(impl.test_line, line);
+ }
}
-void Logger_Test::putLogError_test(){
- LoggerImpl impl = LoggerImpl::getInstance();
- l7vs::Logger logger = l7vs::Logger::getInstance();
- unsigned int mesid = 0;
- std::string mes = "mes";
- std::string file = "file";
- int line = 0;
- for( LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat ){
- logger.putLogError( cat, mesid, mes, file.c_str(), line );
- BOOST_CHECK_EQUAL( static_cast<int>( impl.test_log_cat ), static_cast<int>( cat ) );
- BOOST_CHECK_EQUAL( impl.test_mesid, mesid );
- BOOST_CHECK_EQUAL( impl.test_file, file );
- BOOST_CHECK_EQUAL( impl.test_line, line );
- }
+void Logger_Test::putLogError_test()
+{
+ LoggerImpl impl = LoggerImpl::getInstance();
+ l7vs::Logger logger = l7vs::Logger::getInstance();
+ unsigned int mesid = 0;
+ std::string mes = "mes";
+ std::string file = "file";
+ int line = 0;
+ for (LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat) {
+ logger.putLogError(cat, mesid, mes, file.c_str(), line);
+ BOOST_CHECK_EQUAL(static_cast<int>(impl.test_log_cat), static_cast<int>(cat));
+ BOOST_CHECK_EQUAL(impl.test_mesid, mesid);
+ BOOST_CHECK_EQUAL(impl.test_file, file);
+ BOOST_CHECK_EQUAL(impl.test_line, line);
+ }
}
-void Logger_Test::putLogWarn_test(){
- LoggerImpl impl = LoggerImpl::getInstance();
- l7vs::Logger logger = l7vs::Logger::getInstance();
- unsigned int mesid = 0;
- std::string mes = "mes";
- std::string file = "file";
- int line = 0;
- for( LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat ){
- logger.putLogWarn( cat, mesid, mes, file.c_str(), line );
- BOOST_CHECK_EQUAL( static_cast<int>( impl.test_log_cat), static_cast<int>(cat) );
- BOOST_CHECK_EQUAL( impl.test_mesid, mesid );
- BOOST_CHECK_EQUAL( impl.test_file, file );
- BOOST_CHECK_EQUAL( impl.test_line, line );
- }
+void Logger_Test::putLogWarn_test()
+{
+ LoggerImpl impl = LoggerImpl::getInstance();
+ l7vs::Logger logger = l7vs::Logger::getInstance();
+ unsigned int mesid = 0;
+ std::string mes = "mes";
+ std::string file = "file";
+ int line = 0;
+ for (LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat) {
+ logger.putLogWarn(cat, mesid, mes, file.c_str(), line);
+ BOOST_CHECK_EQUAL(static_cast<int>(impl.test_log_cat), static_cast<int>(cat));
+ BOOST_CHECK_EQUAL(impl.test_mesid, mesid);
+ BOOST_CHECK_EQUAL(impl.test_file, file);
+ BOOST_CHECK_EQUAL(impl.test_line, line);
+ }
}
-void Logger_Test::putLogInfo_test(){
- LoggerImpl impl = LoggerImpl::getInstance();
- l7vs::Logger logger = l7vs::Logger::getInstance();
- unsigned int mesid = 0;
- std::string mes = "mes";
- std::string file = "file";
- int line = 0;
- for( LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat ){
- logger.putLogInfo( cat, mesid, mes, file.c_str(), line );
- BOOST_CHECK_EQUAL( static_cast<int>(impl.test_log_cat), static_cast<int>(cat) );
- BOOST_CHECK_EQUAL( impl.test_mesid, mesid );
- BOOST_CHECK_EQUAL( impl.test_file, file );
- BOOST_CHECK_EQUAL( impl.test_line, line );
- }
+void Logger_Test::putLogInfo_test()
+{
+ LoggerImpl impl = LoggerImpl::getInstance();
+ l7vs::Logger logger = l7vs::Logger::getInstance();
+ unsigned int mesid = 0;
+ std::string mes = "mes";
+ std::string file = "file";
+ int line = 0;
+ for (LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat) {
+ logger.putLogInfo(cat, mesid, mes, file.c_str(), line);
+ BOOST_CHECK_EQUAL(static_cast<int>(impl.test_log_cat), static_cast<int>(cat));
+ BOOST_CHECK_EQUAL(impl.test_mesid, mesid);
+ BOOST_CHECK_EQUAL(impl.test_file, file);
+ BOOST_CHECK_EQUAL(impl.test_line, line);
+ }
}
-void Logger_Test::putLogDebug_test(){
- LoggerImpl impl = LoggerImpl::getInstance();
- l7vs::Logger logger = l7vs::Logger::getInstance();
- unsigned int mesid = 0;
- std::string mes = "mes";
- std::string file = "file";
- int line = 0;
- for( LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat ){
- logger.putLogDebug( cat, mesid, mes, file.c_str(), line );
- BOOST_CHECK_EQUAL( static_cast<int>(impl.test_log_cat), static_cast<int>(cat) );
- BOOST_CHECK_EQUAL( impl.test_mesid, mesid );
- BOOST_CHECK_EQUAL( impl.test_file, file );
- BOOST_CHECK_EQUAL( impl.test_line, line );
- }
+void Logger_Test::putLogDebug_test()
+{
+ LoggerImpl impl = LoggerImpl::getInstance();
+ l7vs::Logger logger = l7vs::Logger::getInstance();
+ unsigned int mesid = 0;
+ std::string mes = "mes";
+ std::string file = "file";
+ int line = 0;
+ for (LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat) {
+ logger.putLogDebug(cat, mesid, mes, file.c_str(), line);
+ BOOST_CHECK_EQUAL(static_cast<int>(impl.test_log_cat), static_cast<int>(cat));
+ BOOST_CHECK_EQUAL(impl.test_mesid, mesid);
+ BOOST_CHECK_EQUAL(impl.test_file, file);
+ BOOST_CHECK_EQUAL(impl.test_line, line);
+ }
}
-void Logger_Test::getCategoryRangeStart_test(){
- LoggerImpl impl = LoggerImpl::getInstance();
- l7vs::Logger logger = l7vs::Logger::getInstance();
- for( LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat ){
- for( LOG_MODULE_TAG mod = LOG_MOD_L7VSD; mod <= LOG_MOD_SNMPAGENT; ++mod ){
- impl.test_log_cat = cat;
- BOOST_CHECK_EQUAL( static_cast<int>(cat), static_cast<int>(logger.getCategoryRangeStart( mod )) );
- BOOST_CHECK_EQUAL( mod, impl.test_module );
- }
- }
+void Logger_Test::getCategoryRangeStart_test()
+{
+ LoggerImpl impl = LoggerImpl::getInstance();
+ l7vs::Logger logger = l7vs::Logger::getInstance();
+ for (LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat) {
+ for (LOG_MODULE_TAG mod = LOG_MOD_L7VSD; mod <= LOG_MOD_SNMPAGENT; ++mod) {
+ impl.test_log_cat = cat;
+ BOOST_CHECK_EQUAL(static_cast<int>(cat), static_cast<int>(logger.getCategoryRangeStart(mod)));
+ BOOST_CHECK_EQUAL(mod, impl.test_module);
+ }
+ }
}
-void Logger_Test::getCategoryRangeEnd_test(){
- LoggerImpl impl = LoggerImpl::getInstance();
- l7vs::Logger logger = l7vs::Logger::getInstance();
- for( LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat ){
- for( LOG_MODULE_TAG mod = LOG_MOD_L7VSD; mod <= LOG_MOD_SNMPAGENT; ++mod ){
- impl.test_log_cat = cat;
- BOOST_CHECK_EQUAL( static_cast<int>(cat), static_cast<int>(logger.getCategoryRangeEnd( mod ) ));
- BOOST_CHECK_EQUAL( mod, impl.test_module );
- }
- }
+void Logger_Test::getCategoryRangeEnd_test()
+{
+ LoggerImpl impl = LoggerImpl::getInstance();
+ l7vs::Logger logger = l7vs::Logger::getInstance();
+ for (LOG_CATEGORY_TAG cat = LOG_CAT_NONE; cat <= LOG_CAT_SNMPAGENT_L7VSD_SEND; ++cat) {
+ for (LOG_MODULE_TAG mod = LOG_MOD_L7VSD; mod <= LOG_MOD_SNMPAGENT; ++mod) {
+ impl.test_log_cat = cat;
+ BOOST_CHECK_EQUAL(static_cast<int>(cat), static_cast<int>(logger.getCategoryRangeEnd(mod)));
+ BOOST_CHECK_EQUAL(mod, impl.test_module);
+ }
+ }
}
test_suite*
-init_unit_test_suite( int argc, char* argv[] ){
- test_suite* test = BOOST_TEST_SUITE( "logger class test" );
- test->add( BOOST_TEST_CASE( Logger_Test::constractor_test ) );
- test->add( BOOST_TEST_CASE( Logger_Test::getinstance_test ) );
- test->add( BOOST_TEST_CASE( Logger_Test::getLogLevel_test ) );
- test->add( BOOST_TEST_CASE( Logger_Test::setLogLevel_test ) );
- test->add( BOOST_TEST_CASE( Logger_Test::putLogFatal_test ) );
- test->add( BOOST_TEST_CASE( Logger_Test::putLogError_test ) );
- test->add( BOOST_TEST_CASE( Logger_Test::putLogWarn_test ) );
- test->add( BOOST_TEST_CASE( Logger_Test::putLogDebug_test ) );
- test->add( BOOST_TEST_CASE( Logger_Test::getCategoryRangeStart_test ) );
- test->add( BOOST_TEST_CASE( Logger_Test::getCategoryRangeEnd_test ) );
+init_unit_test_suite(int argc, char *argv[])
+{
+ test_suite *test = BOOST_TEST_SUITE("logger class test");
+ test->add(BOOST_TEST_CASE(Logger_Test::constractor_test));
+ test->add(BOOST_TEST_CASE(Logger_Test::getinstance_test));
+ test->add(BOOST_TEST_CASE(Logger_Test::getLogLevel_test));
+ test->add(BOOST_TEST_CASE(Logger_Test::setLogLevel_test));
+ test->add(BOOST_TEST_CASE(Logger_Test::putLogFatal_test));
+ test->add(BOOST_TEST_CASE(Logger_Test::putLogError_test));
+ test->add(BOOST_TEST_CASE(Logger_Test::putLogWarn_test));
+ test->add(BOOST_TEST_CASE(Logger_Test::putLogDebug_test));
+ test->add(BOOST_TEST_CASE(Logger_Test::getCategoryRangeStart_test));
+ test->add(BOOST_TEST_CASE(Logger_Test::getCategoryRangeEnd_test));
- return test;
+ return test;
}
/*
- Logger class Unit Test Program.
+ Logger class Unit Test Program.
*/
//using namespace l7vs;
-extern void* _start; //開始位置
-extern void* _etext; //終了位置
+extern void *_start; //開始位置
+extern void *_etext; //終了位置
#define BUF_LEN (4096)
bool getRootLoggerReturnNull = false;
int patternLayoutCtorCalled = 0;
-void* patternLayoutCreated = 0;
+void *patternLayoutCreated = 0;
bool patternLayoutNewFail = false;
int fileAppenderCtorCalled = 0;
-void* fileAppenderCreated = 0;
+void *fileAppenderCreated = 0;
bool fileAppenderNewFail = false;
std::string fileAppenderCtorArgFilename = "";
//log4cxx::LayoutPtr fileAppenderCtorArgLayout = 0;
bool fileAppenderSetFileArgAppend = false;
bool fileAppenderSetFileArgBufferedIO = false;
size_t fileAppenderSetFileArgBufferSize = 0;
-void* fileAppenderSetFileArgPool = 0;
+void *fileAppenderSetFileArgPool = 0;
bool fileAppenderSetFileException = false;
int poolCtorCalled = 0;
-void* poolCreated = 0;
+void *poolCreated = 0;
int syslogAppenderCtorCalled = 0;
-void* syslogAppenderCreated = 0;
+void *syslogAppenderCreated = 0;
bool syslogAppenderNewFail = false;
//log4cxx::LayoutPtr syslogAppenderCtorArgLayout = 0;
int syslogAppenderCtorArgFacility = 0;
bool loggerGetLoggerReturnNull = false;
int fixedWindowCtorCalled = 0;
-void* fixedWindowCreated = 0;
+void *fixedWindowCreated = 0;
bool fixedWindowNewFail = false;
int sizeBaseCtorCalled = 0;
-void* sizeBaseCreated = 0;
+void *sizeBaseCreated = 0;
bool sizeBaseNewFail = false;
int strictPolicyCtorCalled = 0;
-void* strictPolicyCreated = 0;
+void *strictPolicyCreated = 0;
bool strictPolicyNewFail = false;
int timeSizePolicyCtorCalled = 0;
-void* timeSizePolicyCreated = 0;
+void *timeSizePolicyCreated = 0;
bool timeSizePolicyNewFail = false;
int rollingAppenderCtorCalled = 0;
-void* rollingAppenderCreated = 0;
+void *rollingAppenderCreated = 0;
bool rollingAppenderNewFail = false;
int loggerGetLevelCalled = 0;
//LOG_LEVEL_TAG snmpGetLevelReturns;
int appenderSkeletonSetLayoutCalled = 0;
-void* appenderSkeletonSetLayoutArgLayout = 0;
+void *appenderSkeletonSetLayoutArgLayout = 0;
int rollingAppenderSkeletonActivateOptionsCalled = 0;
//enum LOG_ROTATION_TIMING_TAG{ LOG_TIM_YEAR, LOG_TIM_MONTH, LOG_TIM_WEEK, LG_TIM_DATE, LO_TIM_HOUR };
//# "logger.cpp"
-void check_rotate_type_test(){
- BOOST_MESSAGE( "----- check_rotate_type test start -----" );
-
- l7vs::LOG_ROTATION_TAG res;
-
- // unit_test [1] check_rotate_type test case "size"
- std::cout << "[1] check_rotate_type test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_rotate_type("size");
- BOOST_CHECK_EQUAL( l7vs::LOG_ROT_SIZE , res );
-
- // unit_test [2] check_rotate_type test case "date"
- std::cout << "[2] check_rotate_type test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_rotate_type("date");
- BOOST_CHECK_EQUAL( l7vs::LOG_ROT_DATE , res );
-
- // unit_test [3] check_rotate_type test case "datesize"
- std::cout << "[3] check_rotate_type test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_rotate_type("datesize");
- BOOST_CHECK_EQUAL( l7vs::LOG_ROT_DATESIZE , res );
-
- // unit_test [4] check_rotate_type test case "date size"
- std::cout << "[4] check_rotate_type test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_rotate_type( "date size" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid Log Rotation Setting : date size");
- }
-
- // unit_test [5] check_rotate_type test ""
- std::cout << "[5] check_rotate_type test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_rotate_type( "" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log Rotation Setting.");
- }
-
- BOOST_MESSAGE( "----- check_rotate_type test end -----" );
+void check_rotate_type_test()
+{
+ BOOST_MESSAGE("----- check_rotate_type test start -----");
+
+ l7vs::LOG_ROTATION_TAG res;
+
+ // unit_test [1] check_rotate_type test case "size"
+ std::cout << "[1] check_rotate_type test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_rotate_type("size");
+ BOOST_CHECK_EQUAL(l7vs::LOG_ROT_SIZE , res);
+
+ // unit_test [2] check_rotate_type test case "date"
+ std::cout << "[2] check_rotate_type test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_rotate_type("date");
+ BOOST_CHECK_EQUAL(l7vs::LOG_ROT_DATE , res);
+
+ // unit_test [3] check_rotate_type test case "datesize"
+ std::cout << "[3] check_rotate_type test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_rotate_type("datesize");
+ BOOST_CHECK_EQUAL(l7vs::LOG_ROT_DATESIZE , res);
+
+ // unit_test [4] check_rotate_type test case "date size"
+ std::cout << "[4] check_rotate_type test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_rotate_type("date size");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid Log Rotation Setting : date size");
+ }
+
+ // unit_test [5] check_rotate_type test ""
+ std::cout << "[5] check_rotate_type test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_rotate_type("");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log Rotation Setting.");
+ }
+
+ BOOST_MESSAGE("----- check_rotate_type test end -----");
}
-void check_max_backup_index_test(){
- BOOST_MESSAGE( "----- check_max_backup_index test start -----" );
-
- unsigned int res;
-
- // unit_test [1] check_max_backup_index test case "1"
- std::cout << "[1] check_max_backup_index test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_max_backup_index("1");
- BOOST_CHECK_EQUAL( (unsigned int)1 , res );
-
- // unit_test [2] check_max_backup_index test case "12"
- std::cout << "[2] check_max_backup_index test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_max_backup_index("12");
- BOOST_CHECK_EQUAL( (unsigned int)12 , res );
-
- // unit_test [3] check_max_backup_index test case "0"
- std::cout << "[3] check_max_backup_index test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_backup_index( "0" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Max Backup Index must at least 1.");
- }
-
- // unit_test [4] check_max_backup_index test case "13"
- std::cout << "[4] check_max_backup_index test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_backup_index( "13" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Max Backup Index must at most 12.");
- }
-
- // unit_test [5] check_max_backup_index test case "ABC"
- std::cout << "[5] check_max_backup_index test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_backup_index( "ABC" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid MaxBackupIndex Value : ABC.");
- }
-
- // unit_test [6] check_max_backup_index test ""
- std::cout << "[6] check_max_backup_index test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_backup_index( "" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxBackupIndex Setting.");
- }
-
- BOOST_MESSAGE( "----- check_max_backup_index test end -----" );
+void check_max_backup_index_test()
+{
+ BOOST_MESSAGE("----- check_max_backup_index test start -----");
+
+ unsigned int res;
+
+ // unit_test [1] check_max_backup_index test case "1"
+ std::cout << "[1] check_max_backup_index test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_max_backup_index("1");
+ BOOST_CHECK_EQUAL((unsigned int)1 , res);
+
+ // unit_test [2] check_max_backup_index test case "12"
+ std::cout << "[2] check_max_backup_index test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_max_backup_index("12");
+ BOOST_CHECK_EQUAL((unsigned int)12 , res);
+
+ // unit_test [3] check_max_backup_index test case "0"
+ std::cout << "[3] check_max_backup_index test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_backup_index("0");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Max Backup Index must at least 1.");
+ }
+
+ // unit_test [4] check_max_backup_index test case "13"
+ std::cout << "[4] check_max_backup_index test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_backup_index("13");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Max Backup Index must at most 12.");
+ }
+
+ // unit_test [5] check_max_backup_index test case "ABC"
+ std::cout << "[5] check_max_backup_index test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_backup_index("ABC");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid MaxBackupIndex Value : ABC.");
+ }
+
+ // unit_test [6] check_max_backup_index test ""
+ std::cout << "[6] check_max_backup_index test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_backup_index("");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxBackupIndex Setting.");
+ }
+
+ BOOST_MESSAGE("----- check_max_backup_index test end -----");
}
-void check_max_file_size_test(){
- BOOST_MESSAGE( "----- check_max_file_size test start -----" );
-
- unsigned long long res;
-
- // unit_test [1] check_max_file_size test case "65535"
- std::cout << "[1] check_max_file_size test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_max_file_size("65535");
- BOOST_CHECK_EQUAL( (unsigned long long)65535 , res );
-
- // unit_test [2] check_max_file_size test case "4294967295"
- std::cout << "[2] check_max_file_size test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_max_file_size("4294967295");
- BOOST_CHECK_EQUAL( (unsigned long long)4294967295 , res );
-
- // unit_test [3] check_max_file_size test case "64K"
- std::cout << "[3] check_max_file_size test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_max_file_size("64K");
- BOOST_CHECK_EQUAL( (unsigned long long)65536 , res );
-
- // unit_test [4] check_max_file_size test case "4194303K"
- std::cout << "[4] check_max_file_size test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_max_file_size("4194303K");
- BOOST_CHECK_EQUAL( (unsigned long long)4294966272 , res );
-
- // unit_test [5] check_max_file_size test case "1M"
- std::cout << "[5] check_max_file_size test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_max_file_size("1M");
- BOOST_CHECK_EQUAL( (unsigned long long)1048576 , res );
-
- // unit_test [6] check_max_file_size test case "4095M"
- std::cout << "[6] check_max_file_size test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_max_file_size("4095M");
- BOOST_CHECK_EQUAL( (unsigned long long)4293918720 , res );
-
- // unit_test [7] check_max_file_size test case "1G"
- std::cout << "[7] check_max_file_size test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_max_file_size("1G");
- BOOST_CHECK_EQUAL( (unsigned long long)1073741824 , res );
-
- // unit_test [8] check_max_file_size test case "3G"
- std::cout << "[8] check_max_file_size test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_max_file_size("3G");
- BOOST_CHECK_EQUAL( (unsigned long long)3221225472 , res );
-
- // unit_test [9] check_max_file_size test case "65534"
- std::cout << "[9] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "65534" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
- }
- // unit_test [10] check_max_file_size test case "63K"
- std::cout << "[10] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "63K" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
- }
- // unit_test [11] check_max_file_size test case "0M"
- std::cout << "[11] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "0M" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
- }
- // unit_test [12] check_max_file_size test case "0G"
- std::cout << "[12] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "0G" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
- }
-
- // unit_test [13] check_max_file_size test case "4294967296"
- std::cout << "[13] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "4294967296" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
- }
-
- // unit_test [14] check_max_file_size test case "4194304K"
- std::cout << "[14] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "4194304K" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
- }
-
- // unit_test [15] check_max_file_size test case "4096M"
- std::cout << "[15] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "4096M" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
- }
-
- // unit_test [16] check_max_file_size test case "4G"
- std::cout << "[16] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "4G" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
- }
-
- // unit_test [17] check_max_file_size test case "1T"
- std::cout << "[17] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "1T" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
- }
-
- // unit_test [18] check_max_file_size test case "ABC"
- std::cout << "[18] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "ABC" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
- }
-
- // unit_test [19] check_max_file_size test case "ABCK"
- std::cout << "[19] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "ABCK" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
- }
-
- // unit_test [20] check_max_file_size test case "ABCM"
- std::cout << "[20] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "ABCM" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
- }
-
- // unit_test [22] check_max_file_size test case ""
- std::cout << "[22] check_max_file_size test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_max_file_size( "" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxFileSize Setting.");
- }
- BOOST_MESSAGE( "----- check_max_file_size test end -----" );
+void check_max_file_size_test()
+{
+ BOOST_MESSAGE("----- check_max_file_size test start -----");
+
+ unsigned long long res;
+
+ // unit_test [1] check_max_file_size test case "65535"
+ std::cout << "[1] check_max_file_size test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_max_file_size("65535");
+ BOOST_CHECK_EQUAL((unsigned long long)65535 , res);
+
+ // unit_test [2] check_max_file_size test case "4294967295"
+ std::cout << "[2] check_max_file_size test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_max_file_size("4294967295");
+ BOOST_CHECK_EQUAL((unsigned long long)4294967295 , res);
+
+ // unit_test [3] check_max_file_size test case "64K"
+ std::cout << "[3] check_max_file_size test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_max_file_size("64K");
+ BOOST_CHECK_EQUAL((unsigned long long)65536 , res);
+
+ // unit_test [4] check_max_file_size test case "4194303K"
+ std::cout << "[4] check_max_file_size test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_max_file_size("4194303K");
+ BOOST_CHECK_EQUAL((unsigned long long)4294966272 , res);
+
+ // unit_test [5] check_max_file_size test case "1M"
+ std::cout << "[5] check_max_file_size test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_max_file_size("1M");
+ BOOST_CHECK_EQUAL((unsigned long long)1048576 , res);
+
+ // unit_test [6] check_max_file_size test case "4095M"
+ std::cout << "[6] check_max_file_size test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_max_file_size("4095M");
+ BOOST_CHECK_EQUAL((unsigned long long)4293918720 , res);
+
+ // unit_test [7] check_max_file_size test case "1G"
+ std::cout << "[7] check_max_file_size test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_max_file_size("1G");
+ BOOST_CHECK_EQUAL((unsigned long long)1073741824 , res);
+
+ // unit_test [8] check_max_file_size test case "3G"
+ std::cout << "[8] check_max_file_size test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_max_file_size("3G");
+ BOOST_CHECK_EQUAL((unsigned long long)3221225472 , res);
+
+ // unit_test [9] check_max_file_size test case "65534"
+ std::cout << "[9] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("65534");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
+ }
+ // unit_test [10] check_max_file_size test case "63K"
+ std::cout << "[10] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("63K");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
+ }
+ // unit_test [11] check_max_file_size test case "0M"
+ std::cout << "[11] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("0M");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
+ }
+ // unit_test [12] check_max_file_size test case "0G"
+ std::cout << "[12] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("0G");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "FileSize must at least 65535 bytes.");
+ }
+
+ // unit_test [13] check_max_file_size test case "4294967296"
+ std::cout << "[13] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("4294967296");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ }
+
+ // unit_test [14] check_max_file_size test case "4194304K"
+ std::cout << "[14] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("4194304K");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ }
+
+ // unit_test [15] check_max_file_size test case "4096M"
+ std::cout << "[15] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("4096M");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ }
+
+ // unit_test [16] check_max_file_size test case "4G"
+ std::cout << "[16] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("4G");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ }
+
+ // unit_test [17] check_max_file_size test case "1T"
+ std::cout << "[17] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("1T");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ }
+
+ // unit_test [18] check_max_file_size test case "ABC"
+ std::cout << "[18] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("ABC");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ }
+
+ // unit_test [19] check_max_file_size test case "ABCK"
+ std::cout << "[19] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("ABCK");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ }
+
+ // unit_test [20] check_max_file_size test case "ABCM"
+ std::cout << "[20] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("ABCM");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid FileSize Value.");
+ }
+
+ // unit_test [22] check_max_file_size test case ""
+ std::cout << "[22] check_max_file_size test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_max_file_size("");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log MaxFileSize Setting.");
+ }
+ BOOST_MESSAGE("----- check_max_file_size test end -----");
}
-void check_rotate_timing_test(){
-
- BOOST_MESSAGE( "----- check_rotate_timing test start -----" );
-
- l7vs::LOG_ROTATION_TIMING_TAG res;
-
- // unit_test [1] check_rotate_timing test case "year"
- std::cout << "[1] check_rotate_timing test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_rotate_timing("year");
- BOOST_CHECK_EQUAL( l7vs::LOG_TIM_YEAR , res );
-
- // unit_test [2] check_rotate_timing test case "month"
- std::cout << "[2] check_rotate_timing test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_rotate_timing("month");
- BOOST_CHECK_EQUAL( l7vs::LOG_TIM_MONTH , res );
-
- // unit_test [3] check_rotate_timing test case "week"
- std::cout << "[3] check_rotate_timing test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_rotate_timing("week");
- BOOST_CHECK_EQUAL( l7vs::LOG_TIM_WEEK , res );
-
- // unit_test [4] check_rotate_timing test case "date"
- std::cout << "[4] check_rotate_timing test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_rotate_timing("date");
- BOOST_CHECK_EQUAL( l7vs::LOG_TIM_DATE , res );
-
- // unit_test [5] check_rotate_timing test case "hour"
- std::cout << "[5] check_rotate_timing test" << std::endl;
- res = l7vs::logger_logrotate_utility::check_rotate_timing("hour");
- BOOST_CHECK_EQUAL( l7vs::LOG_TIM_HOUR , res );
-
- // unit_test [6] check_rotate_timing test case "ABC"
- std::cout << "[6] check_rotate_timing test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_rotate_timing( "ABC" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Invalid Log RotationTiming Setting.");
- }
-
- // unit_test [7] check_rotate_timing test case ""
- std::cout << "[7] check_rotate_timing test" << std::endl;
- try {
- l7vs::logger_logrotate_utility::check_rotate_timing( "" );
- } catch ( const std::logic_error& ex ) {
- BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Setting.");
- }
- BOOST_MESSAGE( "----- check_rotate_timing test end -----" );
+void check_rotate_timing_test()
+{
+
+ BOOST_MESSAGE("----- check_rotate_timing test start -----");
+
+ l7vs::LOG_ROTATION_TIMING_TAG res;
+
+ // unit_test [1] check_rotate_timing test case "year"
+ std::cout << "[1] check_rotate_timing test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_rotate_timing("year");
+ BOOST_CHECK_EQUAL(l7vs::LOG_TIM_YEAR , res);
+
+ // unit_test [2] check_rotate_timing test case "month"
+ std::cout << "[2] check_rotate_timing test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_rotate_timing("month");
+ BOOST_CHECK_EQUAL(l7vs::LOG_TIM_MONTH , res);
+
+ // unit_test [3] check_rotate_timing test case "week"
+ std::cout << "[3] check_rotate_timing test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_rotate_timing("week");
+ BOOST_CHECK_EQUAL(l7vs::LOG_TIM_WEEK , res);
+
+ // unit_test [4] check_rotate_timing test case "date"
+ std::cout << "[4] check_rotate_timing test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_rotate_timing("date");
+ BOOST_CHECK_EQUAL(l7vs::LOG_TIM_DATE , res);
+
+ // unit_test [5] check_rotate_timing test case "hour"
+ std::cout << "[5] check_rotate_timing test" << std::endl;
+ res = l7vs::logger_logrotate_utility::check_rotate_timing("hour");
+ BOOST_CHECK_EQUAL(l7vs::LOG_TIM_HOUR , res);
+
+ // unit_test [6] check_rotate_timing test case "ABC"
+ std::cout << "[6] check_rotate_timing test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_rotate_timing("ABC");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Invalid Log RotationTiming Setting.");
+ }
+
+ // unit_test [7] check_rotate_timing test case ""
+ std::cout << "[7] check_rotate_timing test" << std::endl;
+ try {
+ l7vs::logger_logrotate_utility::check_rotate_timing("");
+ } catch (const std::logic_error &ex) {
+ BOOST_CHECK_EQUAL(ex.what(), "Not Exist Log RotaionTiming Setting.");
+ }
+ BOOST_MESSAGE("----- check_rotate_timing test end -----");
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- test_suite* test = BOOST_TEST_SUITE( "logger rotate utility class test" );
+ test_suite *test = BOOST_TEST_SUITE("logger rotate utility class test");
// static LOG_ROTATION_TAG check_rotate_type(
// const std::string &rotation_type);
- test->add( BOOST_TEST_CASE( &check_rotate_type_test ) );
+ test->add(BOOST_TEST_CASE(&check_rotate_type_test));
// static unsigned int check_max_backup_index(
// const std::string &max_backup_index);
- test->add( BOOST_TEST_CASE( &check_max_backup_index_test ) );
+ test->add(BOOST_TEST_CASE(&check_max_backup_index_test));
// static unsigned long long check_max_file_size(
// const std::string &max_file_size);
- test->add( BOOST_TEST_CASE( &check_max_file_size_test ) );
+ test->add(BOOST_TEST_CASE(&check_max_file_size_test));
// static LOG_ROTATION_TIMING_TAG check_rotate_timing(
// const std::string &rotation_timing);
- test->add( BOOST_TEST_CASE( &check_rotate_timing_test ) );
-
+ test->add(BOOST_TEST_CASE(&check_rotate_timing_test));
+
// static std::string check_rotate_timing_value(
// appender_property &access_log_property);
// static void loglotation_utility_logic_error(
-// const unsigned int logno,
-// const std::string& str,
-// const char* file ,
+// const unsigned int logno,
+// const std::string& str,
+// const char* file ,
// const unsigned int line);
-
- framework::master_test_suite().add( test );
- return NULL;
+
+ framework::master_test_suite().add(test);
+ return NULL;
}
using namespace boost::unit_test_framework;
using namespace std;
-l7vs::Logger l7vs::Logger::instance;
+l7vs::Logger l7vs::Logger::instance;
//logger_get_log_level
-void wrapper_logger_get_log_level()
+void wrapper_logger_get_log_level()
{
- LOG_LEVEL_TAG loglevel;
- LOG_CATEGORY_TAG logcat;
+ LOG_LEVEL_TAG loglevel;
+ LOG_CATEGORY_TAG logcat;
- //LoggerクラスのgetLogLevelメソッドをコールしていることを確認する
- //LoggerクラスのgetLogLevelメソッドが返した値を返すことを確認する
- logcat = LOG_CAT_L7VSD_NETWORK;
+ //LoggerクラスのgetLogLevelメソッドをコールしていることを確認する
+ //LoggerクラスのgetLogLevelメソッドが返した値を返すことを確認する
+ logcat = LOG_CAT_L7VSD_NETWORK;
- l7vs::Logger::getInstance().RetLevel = LOG_LV_DEBUG;
- loglevel = logger_get_log_level( logcat );
- BOOST_CHECK_EQUAL( LOG_LV_DEBUG, loglevel );
+ l7vs::Logger::getInstance().RetLevel = LOG_LV_DEBUG;
+ loglevel = logger_get_log_level(logcat);
+ BOOST_CHECK_EQUAL(LOG_LV_DEBUG, loglevel);
- l7vs::Logger::getInstance().RetLevel = LOG_LV_INFO;
- loglevel = logger_get_log_level( logcat );
- BOOST_CHECK_EQUAL( LOG_LV_INFO, loglevel );
+ l7vs::Logger::getInstance().RetLevel = LOG_LV_INFO;
+ loglevel = logger_get_log_level(logcat);
+ BOOST_CHECK_EQUAL(LOG_LV_INFO, loglevel);
- l7vs::Logger::getInstance().RetLevel = LOG_LV_WARN;
- loglevel = logger_get_log_level( logcat );
- BOOST_CHECK_EQUAL( LOG_LV_WARN, loglevel );
+ l7vs::Logger::getInstance().RetLevel = LOG_LV_WARN;
+ loglevel = logger_get_log_level(logcat);
+ BOOST_CHECK_EQUAL(LOG_LV_WARN, loglevel);
- l7vs::Logger::getInstance().RetLevel = LOG_LV_ERROR;
- loglevel = logger_get_log_level( logcat );
- BOOST_CHECK_EQUAL( LOG_LV_ERROR, loglevel );
+ l7vs::Logger::getInstance().RetLevel = LOG_LV_ERROR;
+ loglevel = logger_get_log_level(logcat);
+ BOOST_CHECK_EQUAL(LOG_LV_ERROR, loglevel);
- l7vs::Logger::getInstance().RetLevel = LOG_LV_FATAL;
- loglevel = logger_get_log_level( logcat );
- BOOST_CHECK_EQUAL( LOG_LV_FATAL, loglevel );
+ l7vs::Logger::getInstance().RetLevel = LOG_LV_FATAL;
+ loglevel = logger_get_log_level(logcat);
+ BOOST_CHECK_EQUAL(LOG_LV_FATAL, loglevel);
}
//logger_set_log_level
-void wrapper_logger_set_log_level()
+void wrapper_logger_set_log_level()
{
- int retint = 0;
+ int retint = 0;
- LOG_LEVEL_TAG loglevel = LOG_LV_INFO;
- LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
+ LOG_LEVEL_TAG loglevel = LOG_LV_INFO;
+ LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
- //LoggetクラスのsetLogLevelメソッドをコールしていることを確認する
- //LoggerクラスのsetLogLevelメソッドがtrueを返した時に0を返すことを確認する。(返り値の変換)
- l7vs::Logger::getInstance().RetBool = true;
- retint = logger_set_log_level( logcat, loglevel );
- BOOST_CHECK_EQUAL( 0, retint );
+ //LoggetクラスのsetLogLevelメソッドをコールしていることを確認する
+ //LoggerクラスのsetLogLevelメソッドがtrueを返した時に0を返すことを確認する。(返り値の変換)
+ l7vs::Logger::getInstance().RetBool = true;
+ retint = logger_set_log_level(logcat, loglevel);
+ BOOST_CHECK_EQUAL(0, retint);
- //LoggerクラスのsetLogLevelメソッドがfalseを返した時に0を返すことを確認する。(返り値の変換)
- l7vs::Logger::getInstance().RetBool = false;
- retint = logger_set_log_level( logcat, loglevel );
- BOOST_CHECK_EQUAL( -1, retint );
+ //LoggerクラスのsetLogLevelメソッドがfalseを返した時に0を返すことを確認する。(返り値の変換)
+ l7vs::Logger::getInstance().RetBool = false;
+ retint = logger_set_log_level(logcat, loglevel);
+ BOOST_CHECK_EQUAL(-1, retint);
}
-#define FILENAME "/var/log/l7vs/080201_01.log"
+#define FILENAME "/var/log/l7vs/080201_01.log"
//logger_put_log_fatal
-void wrapper_logger_put_log_fatal()
+void wrapper_logger_put_log_fatal()
{
- int msg_id = 10;
- int line = 100;
- string message = "logmessage";
+ int msg_id = 10;
+ int line = 100;
+ string message = "logmessage";
- LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
+ LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
- //LoggetクラスのputLogFatalメソッドをコールしていることを確認する
- logger_put_log_fatal( logcat, msg_id, FILENAME, line, message.c_str() );
+ //LoggetクラスのputLogFatalメソッドをコールしていることを確認する
+ logger_put_log_fatal(logcat, msg_id, FILENAME, line, message.c_str());
}
//logger_put_log_error
-void wrapper_logger_put_log_error()
+void wrapper_logger_put_log_error()
{
- int msg_id = 10;
- int line = 100;
- string message = "logmessage";
+ int msg_id = 10;
+ int line = 100;
+ string message = "logmessage";
- LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
+ LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
- //LoggetクラスのputLogErrorメソッドをコールしていることを確認する
- logger_put_log_error( logcat, msg_id, FILENAME, line, message.c_str() );
+ //LoggetクラスのputLogErrorメソッドをコールしていることを確認する
+ logger_put_log_error(logcat, msg_id, FILENAME, line, message.c_str());
}
//logger_put_log_warn
-void wrapper_logger_put_log_warn()
+void wrapper_logger_put_log_warn()
{
- int msg_id = 10;
- int line = 100;
- string message = "logmessage";
+ int msg_id = 10;
+ int line = 100;
+ string message = "logmessage";
- LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
+ LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
- //LoggetクラスのputLogWarnメソッドをコールしていることを確認する
- logger_put_log_warn( logcat, msg_id, FILENAME, line, message.c_str() );
+ //LoggetクラスのputLogWarnメソッドをコールしていることを確認する
+ logger_put_log_warn(logcat, msg_id, FILENAME, line, message.c_str());
}
//logger_put_log_info
-void wrapper_logger_put_log_info()
+void wrapper_logger_put_log_info()
{
- int msg_id = 10;
- int line = 100;
- string message = "logmessage";
+ int msg_id = 10;
+ int line = 100;
+ string message = "logmessage";
- LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
+ LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
- //LoggetクラスのputLogInfoメソッドをコールしていることを確認する
- logger_put_log_info( logcat, msg_id, FILENAME, line, message.c_str() );
+ //LoggetクラスのputLogInfoメソッドをコールしていることを確認する
+ logger_put_log_info(logcat, msg_id, FILENAME, line, message.c_str());
}
//logger_put_log_debug
-void wrapper_logger_put_log_debug()
+void wrapper_logger_put_log_debug()
{
- int msg_id = 10;
- int line = 100;
- string message = "logmessage";
+ int msg_id = 10;
+ int line = 100;
+ string message = "logmessage";
- LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
+ LOG_CATEGORY_TAG logcat = LOG_CAT_L7VSD_NETWORK_BANDWIDTH;
- //LoggetクラスのputLogDebugメソッドをコールしていることを確認する
- logger_put_log_debug( logcat, msg_id, FILENAME, line, message.c_str() );
+ //LoggetクラスのputLogDebugメソッドをコールしていることを確認する
+ logger_put_log_debug(logcat, msg_id, FILENAME, line, message.c_str());
}
//logger_get_category_range_start
-void wrapper_logger_get_category_range_start()
+void wrapper_logger_get_category_range_start()
{
- LOG_CATEGORY_TAG retcat;
- LOG_MODULE_TAG module = LOG_MOD_L7VSD;
-
- //LoggetクラスのgetCategoryRangeStartメソッドをコールしていることを確認する
- //LoggerクラスのgetCategoryRangeStartメソッドが返した値を返すことを確認する
- l7vs::Logger::getInstance().RetCat = LOG_CAT_L7VSD_NETWORK;
- retcat = logger_get_category_range_start( module );
- BOOST_CHECK_EQUAL( LOG_CAT_L7VSD_NETWORK, retcat );
+ LOG_CATEGORY_TAG retcat;
+ LOG_MODULE_TAG module = LOG_MOD_L7VSD;
+
+ //LoggetクラスのgetCategoryRangeStartメソッドをコールしていることを確認する
+ //LoggerクラスのgetCategoryRangeStartメソッドが返した値を返すことを確認する
+ l7vs::Logger::getInstance().RetCat = LOG_CAT_L7VSD_NETWORK;
+ retcat = logger_get_category_range_start(module);
+ BOOST_CHECK_EQUAL(LOG_CAT_L7VSD_NETWORK, retcat);
}
//logger_get_category_range_end
-void wrapper_logger_get_category_range_end()
+void wrapper_logger_get_category_range_end()
{
- LOG_CATEGORY_TAG retcat;
- LOG_MODULE_TAG module = LOG_MOD_L7VSD;
-
- //LoggetクラスのgetCategoryRangeEndメソッドをコールしていることを確認する
- //LoggerクラスのgetCategoryRangeEndメソッドが返した値を返すことを確認する
- l7vs::Logger::getInstance().RetCat = LOG_CAT_L7VSD_PROTOCOL;
- retcat = logger_get_category_range_end( module );
- BOOST_CHECK_EQUAL( LOG_CAT_L7VSD_PROTOCOL, retcat );
+ LOG_CATEGORY_TAG retcat;
+ LOG_MODULE_TAG module = LOG_MOD_L7VSD;
+
+ //LoggetクラスのgetCategoryRangeEndメソッドをコールしていることを確認する
+ //LoggerクラスのgetCategoryRangeEndメソッドが返した値を返すことを確認する
+ l7vs::Logger::getInstance().RetCat = LOG_CAT_L7VSD_PROTOCOL;
+ retcat = logger_get_category_range_end(module);
+ BOOST_CHECK_EQUAL(LOG_CAT_L7VSD_PROTOCOL, retcat);
}
//LOGGER_PUT_LOG_FATAL
-void wrapper_LOGGER_PUT_LOG_FATAL()
+void wrapper_LOGGER_PUT_LOG_FATAL()
{
- //Loggetクラスのlogger_put_log_fatalメソッドが呼ばれることを確認する
- LOGGER_PUT_LOG_FATAL( LOG_CAT_L7VSD_START_STOP, 0, "testmessage %d", 100 );
+ //Loggetクラスのlogger_put_log_fatalメソッドが呼ばれることを確認する
+ LOGGER_PUT_LOG_FATAL(LOG_CAT_L7VSD_START_STOP, 0, "testmessage %d", 100);
}
//LOGGER_PUT_LOG_ERROR
-void wrapper_LOGGER_PUT_LOG_ERROR()
+void wrapper_LOGGER_PUT_LOG_ERROR()
{
- //Loggetクラスのlogger_put_log_errorメソッドが呼ばれることを確認する
- LOGGER_PUT_LOG_ERROR( LOG_CAT_L7VSD_LOGGER, 0, "testmassage" );
+ //Loggetクラスのlogger_put_log_errorメソッドが呼ばれることを確認する
+ LOGGER_PUT_LOG_ERROR(LOG_CAT_L7VSD_LOGGER, 0, "testmassage");
}
//LOGGER_PUT_LOG_WARN
-void wrapper_LOGGER_PUT_LOG_WARN()
+void wrapper_LOGGER_PUT_LOG_WARN()
{
- //Loggetクラスのlogger_put_log_warnメソッドが呼ばれることを確認する
- LOGGER_PUT_LOG_WARN( LOG_CAT_L7VSADM_PARSE, 0, "testmessage %d", 100 );
+ //Loggetクラスのlogger_put_log_warnメソッドが呼ばれることを確認する
+ LOGGER_PUT_LOG_WARN(LOG_CAT_L7VSADM_PARSE, 0, "testmessage %d", 100);
}
//LOGGER_PUT_LOG_INFO
-void wrapper_LOGGER_PUT_LOG_INFO()
+void wrapper_LOGGER_PUT_LOG_INFO()
{
- //Loggetクラスのlogger_put_log_infoメソッドが呼ばれることを確認する
- LOGGER_PUT_LOG_INFO( LOG_CAT_SNMPAGENT_START_STOP, 0, "testmassage" );
+ //Loggetクラスのlogger_put_log_infoメソッドが呼ばれることを確認する
+ LOGGER_PUT_LOG_INFO(LOG_CAT_SNMPAGENT_START_STOP, 0, "testmassage");
}
//LOGGER_PUT_LOG_DEBUG
-void wrapper_LOGGER_PUT_LOG_DEBUG()
+void wrapper_LOGGER_PUT_LOG_DEBUG()
{
- //Loggetクラスのlogger_put_log_debugメソッドが呼ばれることを確認する
- LOGGER_PUT_LOG_DEBUG( LOG_CAT_SNMPAGENT_L7VSD_SEND, 0, "testmessage %d", 100 );
+ //Loggetクラスのlogger_put_log_debugメソッドが呼ばれることを確認する
+ LOGGER_PUT_LOG_DEBUG(LOG_CAT_SNMPAGENT_L7VSD_SEND, 0, "testmessage %d", 100);
}
test_suite*
-init_unit_test_suite(int argc, char* argv[])
+init_unit_test_suite(int argc, char *argv[])
{
- test_suite* test = BOOST_TEST_SUITE("parameter_test");
- test->add(BOOST_TEST_CASE( wrapper_logger_get_log_level ) );
- test->add(BOOST_TEST_CASE( wrapper_logger_set_log_level ) );
- test->add(BOOST_TEST_CASE( wrapper_logger_put_log_fatal ) );
- test->add(BOOST_TEST_CASE( wrapper_logger_put_log_error ) );
- test->add(BOOST_TEST_CASE( wrapper_logger_put_log_warn ) );
- test->add(BOOST_TEST_CASE( wrapper_logger_put_log_info ) );
- test->add(BOOST_TEST_CASE( wrapper_logger_put_log_debug ) );
- test->add(BOOST_TEST_CASE( wrapper_logger_get_category_range_start ) );
- test->add(BOOST_TEST_CASE( wrapper_logger_get_category_range_end ) );
- test->add(BOOST_TEST_CASE( wrapper_LOGGER_PUT_LOG_FATAL ) );
- test->add(BOOST_TEST_CASE( wrapper_LOGGER_PUT_LOG_ERROR ) );
- test->add(BOOST_TEST_CASE( wrapper_LOGGER_PUT_LOG_WARN ) );
- test->add(BOOST_TEST_CASE( wrapper_LOGGER_PUT_LOG_INFO ) );
- test->add(BOOST_TEST_CASE( wrapper_LOGGER_PUT_LOG_DEBUG ) );
-
- return test;
+ test_suite *test = BOOST_TEST_SUITE("parameter_test");
+ test->add(BOOST_TEST_CASE(wrapper_logger_get_log_level));
+ test->add(BOOST_TEST_CASE(wrapper_logger_set_log_level));
+ test->add(BOOST_TEST_CASE(wrapper_logger_put_log_fatal));
+ test->add(BOOST_TEST_CASE(wrapper_logger_put_log_error));
+ test->add(BOOST_TEST_CASE(wrapper_logger_put_log_warn));
+ test->add(BOOST_TEST_CASE(wrapper_logger_put_log_info));
+ test->add(BOOST_TEST_CASE(wrapper_logger_put_log_debug));
+ test->add(BOOST_TEST_CASE(wrapper_logger_get_category_range_start));
+ test->add(BOOST_TEST_CASE(wrapper_logger_get_category_range_end));
+ test->add(BOOST_TEST_CASE(wrapper_LOGGER_PUT_LOG_FATAL));
+ test->add(BOOST_TEST_CASE(wrapper_LOGGER_PUT_LOG_ERROR));
+ test->add(BOOST_TEST_CASE(wrapper_LOGGER_PUT_LOG_WARN));
+ test->add(BOOST_TEST_CASE(wrapper_LOGGER_PUT_LOG_INFO));
+ test->add(BOOST_TEST_CASE(wrapper_LOGGER_PUT_LOG_DEBUG));
+
+ return test;
}
//----------------------------logger class stub----------------------------
l7vs::Logger::Logger()
{
- BOOST_MESSAGE( ">>>>l7vs::Logger constructor called" );
- RetBool = true;
- RetCat = LOG_CAT_L7VSD_PROTOCOL;
- RetLevel = LOG_LV_DEBUG;
+ BOOST_MESSAGE(">>>>l7vs::Logger constructor called");
+ RetBool = true;
+ RetCat = LOG_CAT_L7VSD_PROTOCOL;
+ RetLevel = LOG_LV_DEBUG;
}
l7vs::Logger::~Logger()
{
- BOOST_MESSAGE( ">>>>l7vs::Logger destructor called" );
+ BOOST_MESSAGE(">>>>l7vs::Logger destructor called");
}
LOG_LEVEL_TAG l7vs::Logger::getLogLevel(LOG_CATEGORY_TAG cat)
{
- BOOST_MESSAGE( ">>>>l7vs::Logger::getLogLevel called" );
- return RetLevel;
+ BOOST_MESSAGE(">>>>l7vs::Logger::getLogLevel called");
+ return RetLevel;
}
bool l7vs::Logger::setLogLevel(LOG_CATEGORY_TAG cat, LOG_LEVEL_TAG level)
{
- BOOST_MESSAGE( ">>>>l7vs::Logger::setLogLevel called" );
- return RetBool;
+ BOOST_MESSAGE(">>>>l7vs::Logger::setLogLevel called");
+ return RetBool;
}
-void l7vs::Logger::putLogFatal(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line)
+void l7vs::Logger::putLogFatal(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
{
- BOOST_MESSAGE( ">>>>l7vs::Logger::putLogFatal called" );
+ BOOST_MESSAGE(">>>>l7vs::Logger::putLogFatal called");
}
-void l7vs::Logger::putLogError(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line)
+void l7vs::Logger::putLogError(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
{
- BOOST_MESSAGE( ">>>>l7vs::Logger::putLogError called" );
+ BOOST_MESSAGE(">>>>l7vs::Logger::putLogError called");
}
-void l7vs::Logger::putLogWarn(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line)
+void l7vs::Logger::putLogWarn(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
{
- BOOST_MESSAGE( ">>>>l7vs::Logger::putLogWarn called" );
+ BOOST_MESSAGE(">>>>l7vs::Logger::putLogWarn called");
}
-void l7vs::Logger::putLogInfo(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line)
+void l7vs::Logger::putLogInfo(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
{
- BOOST_MESSAGE( ">>>>l7vs::Logger::putLogInfo called" );
+ BOOST_MESSAGE(">>>>l7vs::Logger::putLogInfo called");
}
-void l7vs::Logger::putLogDebug(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line)
+void l7vs::Logger::putLogDebug(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
{
- BOOST_MESSAGE( ">>>>l7vs::Logger::putLogDebug called" );
+ BOOST_MESSAGE(">>>>l7vs::Logger::putLogDebug called");
}
LOG_CATEGORY_TAG l7vs::Logger::getCategoryRangeStart(LOG_MODULE_TAG mod)
{
- BOOST_MESSAGE( ">>>>l7vs::Logger::getCategoryRangeStart called" );
- return RetCat;
+ BOOST_MESSAGE(">>>>l7vs::Logger::getCategoryRangeStart called");
+ return RetCat;
}
LOG_CATEGORY_TAG l7vs::Logger::getCategoryRangeEnd(LOG_MODULE_TAG mod)
{
- BOOST_MESSAGE( ">>>>l7vs::Logger::getCategoryRangeEnd called" );
- return RetCat;
+ BOOST_MESSAGE(">>>>l7vs::Logger::getCategoryRangeEnd called");
+ return RetCat;
}
bool l7vs::Logger::reloadConf()
{
- BOOST_MESSAGE( ">>>>l7vs::Logger::reloadConf called" );
- return RetBool;
+ BOOST_MESSAGE(">>>>l7vs::Logger::reloadConf called");
+ return RetBool;
}
-#ifndef ERROR_CODE_H
-#define ERROR_CODE_H
+#ifndef ERROR_CODE_H
+#define ERROR_CODE_H
#include <string>
namespace l7vs{
-//! @class error_code
-//! @brief getValue error
-//! @brief this class is POD
-class error_code{
+//! @class error_code
+//! @brief getValue error
+//! @brief this class is POD
+class error_code{
protected:
- bool flag; //!< errorcode flag
- std::string msg; //!< errorcode message
+ bool flag; //!< errorcode flag
+ std::string msg; //!< errorcode message
public:
- error_code() : flag(false){} //!< constractor
- //! setter constractor
- //! @param[in] flags
- //! @param[in] error message
- error_code( const bool inflg, const std::string& instr ){
- flag = inflg;
- msg = instr;
- }
- bool operator==( const bool in )const { return ( flag == in ); } //!< operator== orverload
- bool operator!=( const bool in )const { return ( flag != in ); } //!< operator!= orverload
- bool operator!() const { return !flag; } //!< operator! orverload
- typedef void (*unspecified_bool_type)(); //!< if return function
- static void unspecified_bool_true() {} //!< if true orverload function
- operator unspecified_bool_type() const { return flag == 0 ? 0 : unspecified_bool_true; } //!< if() orverload
- const std::string& get_message() const { return msg; } //!< message getter
- //! error setter
- //! @param[in] flags
- //! @param[in] error message
- void setter( const bool flg, const std::string& instr ){
- flag = flg;
- msg = instr;
- }
+ error_code() : flag(false){} //!< constractor
+ //! setter constractor
+ //! @param[in] flags
+ //! @param[in] error message
+ error_code( const bool inflg, const std::string& instr ){
+ flag = inflg;
+ msg = instr;
+ }
+ bool operator==( const bool in )const { return ( flag == in ); } //!< operator== orverload
+ bool operator!=( const bool in )const { return ( flag != in ); } //!< operator!= orverload
+ bool operator!() const { return !flag; } //!< operator! orverload
+ typedef void (*unspecified_bool_type)(); //!< if return function
+ static void unspecified_bool_true() {} //!< if true orverload function
+ operator unspecified_bool_type() const { return flag == 0 ? 0 : unspecified_bool_true; } //!< if() orverload
+ const std::string& get_message() const { return msg; } //!< message getter
+ //! error setter
+ //! @param[in] flags
+ //! @param[in] error message
+ void setter( const bool flg, const std::string& instr ){
+ flag = flg;
+ msg = instr;
+ }
};
}
namespace l7vs{
-//! @enum LOG_LV_TAG
-//! @brief LogLevel enumeration.
-enum LOG_LEVEL_TAG {
- LOG_LV_NONE = 0, //!< loglevel is none
- LOG_LV_DEBUG, //!< loglevel is debug
- LOG_LV_INFO, //!< loglevel is info
- LOG_LV_WARN, //!< loglevel is warn
- LOG_LV_ERROR, //!< loglevel is error
- LOG_LV_FATAL //!< loglevel is fatal
+//! @enum LOG_LV_TAG
+//! @brief LogLevel enumeration.
+enum LOG_LEVEL_TAG {
+ LOG_LV_NONE = 0, //!< loglevel is none
+ LOG_LV_DEBUG, //!< loglevel is debug
+ LOG_LV_INFO, //!< loglevel is info
+ LOG_LV_WARN, //!< loglevel is warn
+ LOG_LV_ERROR, //!< loglevel is error
+ LOG_LV_FATAL //!< loglevel is fatal
};
//! loglevel enum incliment function
-//! @param[in] logleveltag refarence
-//! @return logleveltag reference
+//! @param[in] logleveltag refarence
+//! @return logleveltag reference
inline LOG_LEVEL_TAG& operator++(LOG_LEVEL_TAG& level) {
- level = static_cast<LOG_LEVEL_TAG>(level + 1);
- return level;
+ level = static_cast<LOG_LEVEL_TAG>(level + 1);
+ return level;
}
-//! @enum LOG_CATEGORY_TAG
-//! @brief Category enumeration.
-//! @brief LOG_CAT_SSLPROXY_LOGGER should be first for logger log.
+//! @enum LOG_CATEGORY_TAG
+//! @brief Category enumeration.
+//! @brief LOG_CAT_SSLPROXY_LOGGER should be first for logger log.
enum LOG_CATEGORY_TAG{
- LOG_CAT_NONE = 0, //!< logcategory is none
- LOG_CAT_L7VSD_NETWORK, //!< logcategory is network
- LOG_CAT_L7VSD_NETWORK_QOS, //!< logcategory is QoS
- LOG_CAT_L7VSD_NETWORK_BANDWIDTH, //!< logcategory is bps
- LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION, //!< logcategory is connection count
- LOG_CAT_L7VSD_NETWORK_ACCESS, //!< logcategory is access log
- LOG_CAT_L7VSD_MAINTHREAD, //!< logcategory is mainthread
- LOG_CAT_L7VSD_VIRTUALSERVICE, //!< logcategory is virtualservice
- LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, //!< logcategory is virtualservice thread
- LOG_CAT_L7VSD_SESSION, //!< logcategory is session
- LOG_CAT_L7VSD_SESSION_THREAD, //!< logcategory is session thread
- LOG_CAT_L7VSD_REALSERVER, //!< logcategory is realserver
- LOG_CAT_L7VSD_SORRYSERVER, //!< logcategory is sollyserver
- LOG_CAT_L7VSD_MODULE, //!< logcategory is module controler
- LOG_CAT_L7VSD_REPLICATION, //!< logcategory is replication
- LOG_CAT_L7VSD_REPLICATION_SENDTHREAD, //!< logcategory is replication send thread
- LOG_CAT_L7VSD_PARAMETER, //!< logcategory is parameter
- LOG_CAT_L7VSD_LOGGER, //!< logcategory is logger
- LOG_CAT_L7VSD_COMMAND, //!< logcategory is command reciver
- LOG_CAT_L7VSD_START_STOP, //!< logcategory is main function used
- LOG_CAT_L7VSD_SYSTEM, //!< logcategory is systemcall other
- LOG_CAT_L7VSD_SYSTEM_MEMORY, //!< logcategory is systemcall memory
- LOG_CAT_L7VSD_SYSTEM_ENDPOINT, //!< logcategory is systemcall socket
- LOG_CAT_L7VSD_SYSTEM_SIGNAL, //!< logcategory is systemcall signal
- LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT, //!< logcategory is systemcall env
- LOG_CAT_L7VSD_SNMPBRIDGE, //!< logcategory is snmp_bridge
-
- LOG_CAT_PROTOCOL, //!< logcategory is protocol.
- LOG_CAT_SCHEDULE, //!< logcategory is schedule
-
- LOG_CAT_L7VSADM_PARSE, //!< logcategory is parse
- LOG_CAT_L7VSADM_OPERATE, //!< logcategory is operate
- LOG_CAT_L7VSADM_CONFIG_RESULT, //!< logcategory is configure
- LOG_CAT_L7VSADM_COMMON, //!< logcategory is other
- LOG_CAT_L7VSADM_LOGGER, //!< logcategory is logger
- LOG_CAT_L7VSADM_PARAMETER, //!< logcategory is parameter
- LOG_CAT_L7VSADM_MODULE, //!< logcategory is module control
-
- LOG_CAT_SNMPAGENT_START_STOP, //!< logcategory is snmpagent main
- LOG_CAT_SNMPAGENT_MANAGER_RECEIVE, //!< logcategory is manager send
- LOG_CAT_SNMPAGENT_MANAGER_SEND, //!< logcategory is manager recv
- LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, //!< logcategory is snmpbrigde recv
- LOG_CAT_SNMPAGENT_L7VSD_SEND, //!< logcategory is snmpbrigre send
- LOG_CAT_SNMPAGENT_LOGGER, //!< logcategory is manager logger
- LOG_CAT_SNMPAGENT_PARAMETER, //!< logcategory is manager parameter
- LOG_CAT_SNMPAGENT_SYSTEM, //!< logcategory is snmpagent systemcall other
- LOG_CAT_SNMPAGENT_SYSTEM_MEMORY, //!< logcategory is snmpagent systemcall memory
- LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT, //!< logcategory is snmpagent systemcall socket
- LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL, //!< logcategory is snmpagent systemcall signal
- LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT, //!< logcategory is snmpagent systemcall env
-
- LOG_CAT_SSLPROXY_LOGGER, //!< logcategory is snmpproxy logger
- LOG_CAT_SSLPROXY_PARAMETER, //!< logcategory is snmpproxy parameter
- LOG_CAT_SSLPROXY_COMMON, //!< logcategory is snmpproxy common
- LOG_CAT_SSLPROXY_SERVER, //!< logcategory is snmpproxy server
- LOG_CAT_SSLPROXY_SESSION, //!< logcategory is snmpproxy session
- LOG_CAT_SSLPROXY_CONNECTION, //!< logcategory is snmpproxy connection
- LOG_CAT_END, //!< end of logcategory
+ LOG_CAT_NONE = 0, //!< logcategory is none
+ LOG_CAT_L7VSD_NETWORK, //!< logcategory is network
+ LOG_CAT_L7VSD_NETWORK_QOS, //!< logcategory is QoS
+ LOG_CAT_L7VSD_NETWORK_BANDWIDTH, //!< logcategory is bps
+ LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION, //!< logcategory is connection count
+ LOG_CAT_L7VSD_NETWORK_ACCESS, //!< logcategory is access log
+ LOG_CAT_L7VSD_MAINTHREAD, //!< logcategory is mainthread
+ LOG_CAT_L7VSD_VIRTUALSERVICE, //!< logcategory is virtualservice
+ LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, //!< logcategory is virtualservice thread
+ LOG_CAT_L7VSD_SESSION, //!< logcategory is session
+ LOG_CAT_L7VSD_SESSION_THREAD, //!< logcategory is session thread
+ LOG_CAT_L7VSD_REALSERVER, //!< logcategory is realserver
+ LOG_CAT_L7VSD_SORRYSERVER, //!< logcategory is sollyserver
+ LOG_CAT_L7VSD_MODULE, //!< logcategory is module controler
+ LOG_CAT_L7VSD_REPLICATION, //!< logcategory is replication
+ LOG_CAT_L7VSD_REPLICATION_SENDTHREAD, //!< logcategory is replication send thread
+ LOG_CAT_L7VSD_PARAMETER, //!< logcategory is parameter
+ LOG_CAT_L7VSD_LOGGER, //!< logcategory is logger
+ LOG_CAT_L7VSD_COMMAND, //!< logcategory is command reciver
+ LOG_CAT_L7VSD_START_STOP, //!< logcategory is main function used
+ LOG_CAT_L7VSD_SYSTEM, //!< logcategory is systemcall other
+ LOG_CAT_L7VSD_SYSTEM_MEMORY, //!< logcategory is systemcall memory
+ LOG_CAT_L7VSD_SYSTEM_ENDPOINT, //!< logcategory is systemcall socket
+ LOG_CAT_L7VSD_SYSTEM_SIGNAL, //!< logcategory is systemcall signal
+ LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT, //!< logcategory is systemcall env
+ LOG_CAT_L7VSD_SNMPBRIDGE, //!< logcategory is snmp_bridge
+
+ LOG_CAT_PROTOCOL, //!< logcategory is protocol.
+ LOG_CAT_SCHEDULE, //!< logcategory is schedule
+
+ LOG_CAT_L7VSADM_PARSE, //!< logcategory is parse
+ LOG_CAT_L7VSADM_OPERATE, //!< logcategory is operate
+ LOG_CAT_L7VSADM_CONFIG_RESULT, //!< logcategory is configure
+ LOG_CAT_L7VSADM_COMMON, //!< logcategory is other
+ LOG_CAT_L7VSADM_LOGGER, //!< logcategory is logger
+ LOG_CAT_L7VSADM_PARAMETER, //!< logcategory is parameter
+ LOG_CAT_L7VSADM_MODULE, //!< logcategory is module control
+
+ LOG_CAT_SNMPAGENT_START_STOP, //!< logcategory is snmpagent main
+ LOG_CAT_SNMPAGENT_MANAGER_RECEIVE, //!< logcategory is manager send
+ LOG_CAT_SNMPAGENT_MANAGER_SEND, //!< logcategory is manager recv
+ LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, //!< logcategory is snmpbrigde recv
+ LOG_CAT_SNMPAGENT_L7VSD_SEND, //!< logcategory is snmpbrigre send
+ LOG_CAT_SNMPAGENT_LOGGER, //!< logcategory is manager logger
+ LOG_CAT_SNMPAGENT_PARAMETER, //!< logcategory is manager parameter
+ LOG_CAT_SNMPAGENT_SYSTEM, //!< logcategory is snmpagent systemcall other
+ LOG_CAT_SNMPAGENT_SYSTEM_MEMORY, //!< logcategory is snmpagent systemcall memory
+ LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT, //!< logcategory is snmpagent systemcall socket
+ LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL, //!< logcategory is snmpagent systemcall signal
+ LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT, //!< logcategory is snmpagent systemcall env
+
+ LOG_CAT_SSLPROXY_LOGGER, //!< logcategory is snmpproxy logger
+ LOG_CAT_SSLPROXY_PARAMETER, //!< logcategory is snmpproxy parameter
+ LOG_CAT_SSLPROXY_COMMON, //!< logcategory is snmpproxy common
+ LOG_CAT_SSLPROXY_SERVER, //!< logcategory is snmpproxy server
+ LOG_CAT_SSLPROXY_SESSION, //!< logcategory is snmpproxy session
+ LOG_CAT_SSLPROXY_CONNECTION, //!< logcategory is snmpproxy connection
+ LOG_CAT_END, //!< end of logcategory
};
//! logcategory enum incliment function
-//! @param[in] logcategorytag refarence
-//! @return logcategorytag reference
+//! @param[in] logcategorytag refarence
+//! @return logcategorytag reference
inline LOG_CATEGORY_TAG& operator++(LOG_CATEGORY_TAG& cat) {
- cat = static_cast<LOG_CATEGORY_TAG>(cat + 1);
- return cat;
+ cat = static_cast<LOG_CATEGORY_TAG>(cat + 1);
+ return cat;
}
//! typedef category level pair list
-typedef std::list< std::pair< LOG_CATEGORY_TAG, LOG_LEVEL_TAG > >
- category_level_list_type;
+typedef std::list< std::pair< LOG_CATEGORY_TAG, LOG_LEVEL_TAG > >
+ category_level_list_type;
//! typedef snmp send trap func type
typedef boost::function<void( const std::string& )>
- snmpSendtrapFuncType;
+ snmpSendtrapFuncType;
} //namespace l7vs
-#endif //__LOGGER_ENUM_H__
+#endif //__LOGGER_ENUM_H__
namespace l7vs
{
- class ParameterImpl;
- class Parameter
- {
+ class ParameterImpl;
+ class Parameter
+ {
public:
- Parameter(); //!< default constractor
- ~Parameter(); //!< default destractor
+ Parameter(); //!< default constractor
+ ~Parameter(); //!< default destractor
- //! reload file function
- //! @param[in] parameter conponent tag
- //! @return true success file read
- //! @return false failure file read
- bool read_file(const PARAMETER_COMPONENT_TAG);
+ //! reload file function
+ //! @param[in] parameter conponent tag
+ //! @return true success file read
+ //! @return false failure file read
+ bool read_file(const PARAMETER_COMPONENT_TAG);
- //! read specified configuration file function
- //! @param[in] parameter conponent tag
- //! @param[in] configuration filename
- //! @return true success file read
- //! @return false failure file read
- bool read_specified_file(const PARAMETER_COMPONENT_TAG, const std::string& filename);
+ //! read specified configuration file function
+ //! @param[in] parameter conponent tag
+ //! @param[in] configuration filename
+ //! @return true success file read
+ //! @return false failure file read
+ bool read_specified_file(const PARAMETER_COMPONENT_TAG, const std::string& filename);
- //! parameter int value getter
- //! @param[in] parametercategory
- //! @param[in] parameter key
- //! @param[out] error code
- //! @return intvalue
- int get_int(const PARAMETER_COMPONENT_TAG, const std::string&, error_code& );
+ //! parameter int value getter
+ //! @param[in] parametercategory
+ //! @param[in] parameter key
+ //! @param[out] error code
+ //! @return intvalue
+ int get_int(const PARAMETER_COMPONENT_TAG, const std::string&, error_code& );
- //! parameter string value getter
- //! @param[in] parametercategory
- //! @param[in] parameter key
- //! @param[out] error code
- //! @return string value
- std::string get_string(const PARAMETER_COMPONENT_TAG, const std::string&, error_code& );
+ //! parameter string value getter
+ //! @param[in] parametercategory
+ //! @param[in] parameter key
+ //! @param[out] error code
+ //! @return string value
+ std::string get_string(const PARAMETER_COMPONENT_TAG, const std::string&, error_code& );
- //! parameter multistring value getter
- //! @param[in] parametercategory
- //! @param[in] parameter key
- //! @param[inout] string map
- //! @param[out] error code
- //! @return string value
- std::string get_multistring(const PARAMETER_COMPONENT_TAG, const std::string&, std::multimap<std::string, std::string>&, error_code& );
+ //! parameter multistring value getter
+ //! @param[in] parametercategory
+ //! @param[in] parameter key
+ //! @param[inout] string map
+ //! @param[out] error code
+ //! @return string value
+ std::string get_multistring(const PARAMETER_COMPONENT_TAG, const std::string&, std::multimap<std::string, std::string>&, error_code& );
- void setIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const int value);
- void setStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const std::string& value);
+ void setIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const int value);
+ void setStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const std::string& value);
void deleteIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key);
void deleteStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key);
- };
+ };
};
-
-#endif //__PARAMETER_H__
+
+#endif //__PARAMETER_H__
namespace l7vs {
enum PARAMETER_COMPONENT_TAG {
- PARAM_COMP_NOCAT = 0, //!< parameter category is none
- PARAM_COMP_ALL, //!< parameter category is all(caution! this category used l7vsadm and command)
- PARAM_COMP_L7VSD, //!< parameter category l7vsd
- PARAM_COMP_COMMAND, //!< parameter category command
- PARAM_COMP_SESSION, //!< parameter category session
- PARAM_COMP_VIRTUALSERVICE, //!< parameter category virtualservice
- PARAM_COMP_MODULE, //!< parameter category module control
- PARAM_COMP_REPLICATION, //!< parameter category replication
- PARAM_COMP_LOGGER, //!< parameter category logger
- PARAM_COMP_L7VSADM, //!< parameter category l7vsadm
- PARAM_COMP_SNMPAGENT, //!< parameter category snmpagent
- PARAM_COMP_SSL //!< parameter category sslproxy
+ PARAM_COMP_NOCAT = 0, //!< parameter category is none
+ PARAM_COMP_ALL, //!< parameter category is all(caution! this category used l7vsadm and command)
+ PARAM_COMP_L7VSD, //!< parameter category l7vsd
+ PARAM_COMP_COMMAND, //!< parameter category command
+ PARAM_COMP_SESSION, //!< parameter category session
+ PARAM_COMP_VIRTUALSERVICE, //!< parameter category virtualservice
+ PARAM_COMP_MODULE, //!< parameter category module control
+ PARAM_COMP_REPLICATION, //!< parameter category replication
+ PARAM_COMP_LOGGER, //!< parameter category logger
+ PARAM_COMP_L7VSADM, //!< parameter category l7vsadm
+ PARAM_COMP_SNMPAGENT, //!< parameter category snmpagent
+ PARAM_COMP_SSL //!< parameter category sslproxy
};
};
-
-#endif //__PARAMETER_ENUM_H__
+
+#endif //__PARAMETER_ENUM_H__
namespace l7vs
{
- struct component{
- std::string section;
- void (*function)();
- component(){ section = ""; function = NULL;}
- component( std::string str, void (*p_func)() ){ section = str; function = p_func;}
- component& operator=(const component& in_comp){ section = in_comp.section; function = in_comp.function;return *this;}
- };
- class ParameterImpl
- {
+ struct component{
+ std::string section;
+ void (*function)();
+ component(){ section = ""; function = NULL;}
+ component( std::string str, void (*p_func)() ){ section = str; function = p_func;}
+ component& operator=(const component& in_comp){ section = in_comp.section; function = in_comp.function;return *this;}
+ };
+ class ParameterImpl
+ {
protected:
- typedef std::map< std::string, int > int_map_type;
- typedef std::map< std::string, std::string > string_map_type;
- typedef std::multimap< std::string, std::string > multistring_map_type;
+ typedef std::map< std::string, int > int_map_type;
+ typedef std::map< std::string, std::string > string_map_type;
+ typedef std::multimap< std::string, std::string > multistring_map_type;
- //! parameter data of string
- string_map_type stringMap;
- //! parameter data of multi string
- multistring_map_type multistringMap;
- //! parameter data of int
- int_map_type intMap;
- //! create mutex
- boost::mutex create_mutex;
- //! read / write mutex
- boost::mutex param_mutex;
- //! componenttag to section name map
- std::map< PARAMETER_COMPONENT_TAG, std::string >
- tag_section_table_map;
- //! constractor
- ParameterImpl(){}
- //! destractor
- ~ParameterImpl(){}
+ //! parameter data of string
+ string_map_type stringMap;
+ //! parameter data of multi string
+ multistring_map_type multistringMap;
+ //! parameter data of int
+ int_map_type intMap;
+ //! create mutex
+ boost::mutex create_mutex;
+ //! read / write mutex
+ boost::mutex param_mutex;
+ //! componenttag to section name map
+ std::map< PARAMETER_COMPONENT_TAG, std::string >
+ tag_section_table_map;
+ //! constractor
+ ParameterImpl(){}
+ //! destractor
+ ~ParameterImpl(){}
public:
- //! instansgetter
- //! @return instance
- static ParameterImpl & get_instance(){
- static ParameterImpl instance;
- return instance;
- }
- //! initialize
- //! @return true success
- //! @return false failer
- bool init();
+ //! instansgetter
+ //! @return instance
+ static ParameterImpl & get_instance(){
+ static ParameterImpl instance;
+ return instance;
+ }
+ //! initialize
+ //! @return true success
+ //! @return false failer
+ bool init();
- //! target component read
- //! @param[in] component tag
- //! @return false failer
- //! @return true success
- bool read_file( const PARAMETER_COMPONENT_TAG );
+ //! target component read
+ //! @param[in] component tag
+ //! @return false failer
+ //! @return true success
+ bool read_file( const PARAMETER_COMPONENT_TAG );
- //! target component read specified filename
- //! @param[in] component tag
- //! @param[in] file name
- //! @return false failer
- //! @return true success
- bool read_specified_file( const PARAMETER_COMPONENT_TAG, const std::string& filenamez );
+ //! target component read specified filename
+ //! @param[in] component tag
+ //! @param[in] file name
+ //! @return false failer
+ //! @return true success
+ bool read_specified_file( const PARAMETER_COMPONENT_TAG, const std::string& filenamez );
- //! int value getter
- //! @param[in] component tag
- //! @param[in] keystring
- //! @param[out] errorcode
- //! @return int value
- int get_int( const PARAMETER_COMPONENT_TAG, const std::string&, error_code& );
+ //! int value getter
+ //! @param[in] component tag
+ //! @param[in] keystring
+ //! @param[out] errorcode
+ //! @return int value
+ int get_int( const PARAMETER_COMPONENT_TAG, const std::string&, error_code& );
- //! string value getter
- //! @param[in] component tag
- //! @param[in] keystring
- //! @param[out] errorcode
- //! @return string value
- std::string get_string( const PARAMETER_COMPONENT_TAG, const std::string&, error_code& );
+ //! string value getter
+ //! @param[in] component tag
+ //! @param[in] keystring
+ //! @param[out] errorcode
+ //! @return string value
+ std::string get_string( const PARAMETER_COMPONENT_TAG, const std::string&, error_code& );
- //! multistring value getter
- //! @param[in] component tag
- //! @param[in] keystring
- //! @param[inout] multistring map
- //! @param[out] errorcode
- //! @return last foundstring value
- std::string get_multistring( const PARAMETER_COMPONENT_TAG, const std::string&, multistring_map_type&, error_code& );
+ //! multistring value getter
+ //! @param[in] component tag
+ //! @param[in] keystring
+ //! @param[inout] multistring map
+ //! @param[out] errorcode
+ //! @return last foundstring value
+ std::string get_multistring( const PARAMETER_COMPONENT_TAG, const std::string&, multistring_map_type&, error_code& );
- void setIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const int value);
+ void setIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const int value);
- void setStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const std::string& value);
+ void setStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const std::string& value);
void deleteIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key);
void deleteStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key);
- };
+ };
};
-#endif //__PARAMETER_IMPL_H__
+#endif //__PARAMETER_IMPL_H__
inline int parameter_is_int_exist(const PARAMETER_COMPONENT_TAG comp, const char* key)
{
- if (l7vs::Parameter::getInstance().isIntExist(comp, key)) {
- return 1;
- }
- return 0;
+ if (l7vs::Parameter::getInstance().isIntExist(comp, key)) {
+ return 1;
+ }
+ return 0;
}
inline int parameter_is_char_exist(const PARAMETER_COMPONENT_TAG comp, const char* key)
{
- if (l7vs::Parameter::getInstance().isStringExist(comp, key)) {
- return 1;
- }
- return 0;
+ if (l7vs::Parameter::getInstance().isStringExist(comp, key)) {
+ return 1;
+ }
+ return 0;
}
inline int parameter_get_int_value(const PARAMETER_COMPONENT_TAG comp, const char* key)
{
- return l7vs::Parameter::getInstance().getIntValue(comp, key);
+ return l7vs::Parameter::getInstance().getIntValue(comp, key);
}
inline const char* parameter_get_char_value(const PARAMETER_COMPONENT_TAG comp, const char* key)
{
- return (l7vs::Parameter::getInstance().getStringValue(comp, key)).c_str();
+ return (l7vs::Parameter::getInstance().getStringValue(comp, key)).c_str();
}
inline void parameter_set_int_value(const PARAMETER_COMPONENT_TAG comp, const char* key, const int value)
{
- l7vs::Parameter::getInstance().setIntValue(comp, key, value);
+ l7vs::Parameter::getInstance().setIntValue(comp, key, value);
}
inline void parameter_set_char_value(const PARAMETER_COMPONENT_TAG comp, const char* key, const char* value)
{
- l7vs::Parameter::getInstance().setStringValue(comp, key, value);
+ l7vs::Parameter::getInstance().setStringValue(comp, key, value);
}
inline void parameter_delete_int_value(const PARAMETER_COMPONENT_TAG comp, const char* key)
{
- l7vs::Parameter::getInstance().deleteIntValue(comp, key);
+ l7vs::Parameter::getInstance().deleteIntValue(comp, key);
}
inline void parameter_delete_char_value(const PARAMETER_COMPONENT_TAG comp, const char* key)
{
- l7vs::Parameter::getInstance().deleteStringValue(comp, key);
+ l7vs::Parameter::getInstance().deleteStringValue(comp, key);
}
inline int parameter_reread_file(const PARAMETER_COMPONENT_TAG comp)
{
- if (l7vs::Parameter::getInstance().rereadFile(comp)) {
- return 0;
- }
- return -1;
+ if (l7vs::Parameter::getInstance().rereadFile(comp)) {
+ return 0;
+ }
+ return -1;
}
inline void parameter_register_function_pointer(const PARAMETER_COMPONENT_TAG comp, void(*p_func)())
{
- l7vs::Parameter::getInstance().registerFunctionPointer(comp, p_func);
+ l7vs::Parameter::getInstance().registerFunctionPointer(comp, p_func);
}
-#endif //PARAMETER_WRAPPER
+#endif //PARAMETER_WRAPPER
extern "C" {
-void triggeringPolicyAddRef_(log4cxx::rolling::TriggeringPolicy* ts) {
- ++triggeringPolicyAddRefCalled;
-}
-
-void triggeringPolicyReleaseRef_(log4cxx::rolling::TriggeringPolicy* ts) {
- ++triggeringPolicyReleaseRefCalled;
-}
-
-void parseFileNamePattern_(log4cxx::rolling::RollingPolicyBase* ts) {
- ++parseFileNamePatternCalled;
-}
-
-struct tm* localtime_r_(const time_t* timep, struct tm* result) {
- ++localtime_rCalled;
- localtime_rArg = *timep;
- if (localtime_rFail) {
- return 0;
- }
- return ((struct tm* (*)(const time_t*, struct tm*)) dlsym(RTLD_NEXT, "localtime_r"))(timep, result);
-}
-
-bool equalsIgnoreCase_(const LogString& s1, const LogString& upper, const LogString& lower) {
- ++equalsIgnoreCaseCalled;
- if ("rotationtimingvalue" == lower) return true;
- if ("rotationtiming" == lower) return true;
- if ("imaxbackupindex" == lower) return true;
-
- return false;
-}
-
-void formatFileName_(log4cxx::rolling::RollingPolicyBase* ts, log4cxx::helpers::ObjectPtr& obj, LogString& buf, log4cxx::helpers::Pool& p) {
- ++formatFileNameCalled;
- formatFileNameArgObj = obj;
- buf = formatFileNameArgBuf;
-}
-
-
-
-time_t time_(time_t* t) {
- ++timeCalled;
- if (timeReturnNow) {
- return ((time_t (*)(time_t*)) dlsym(RTLD_NEXT, "time"))(t);
- }
- *t = timeArg;
- return timeReturns;
-}
-
-size_t strftime_(char* s, size_t max, const char* format, const struct tm* tm) {
- ++strftimeCalled;
- strftimeArgFormat = format;
- if (strftimeFail) {
- return -1;
- }
- return ((size_t (*)(char*, size_t, const char*, const struct tm*)) dlsym(RTLD_NEXT, "strftime"))(s, max, format, tm);
-}
-
-time_t mktime_(struct tm* tm) {
- ++mktimeCalled;
- if (mktimeFail) {
- return -1;
- }
- return ((time_t (*)(struct tm*)) dlsym(RTLD_NEXT, "mktime"))(tm);
-}
-
-std::vector<LogString> fileList_(log4cxx::File* ts, log4cxx::helpers::Pool& p) {
- ++fileListCalled;
- return fileListReturns;
-}
-
-bool fileDeleteFile_(log4cxx::File* ts, log4cxx::helpers::Pool& p) {
- ++fileDeleteFileCalled;
- LogString filename = ts->getName();
- fileDeleteFiles.push_back(filename);
- return true;
-}
-
-void fixedPolicySetOption_(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString&option, const LogString& value) {
- ++fixedPolicySetOptionCalled;
- fixedPolicySetOptionArgOption = option;
- fixedPolicySetOptionArgValue = value;
-}
+ void triggeringPolicyAddRef_(log4cxx::rolling::TriggeringPolicy *ts)
+ {
+ ++triggeringPolicyAddRefCalled;
+ }
+
+ void triggeringPolicyReleaseRef_(log4cxx::rolling::TriggeringPolicy *ts)
+ {
+ ++triggeringPolicyReleaseRefCalled;
+ }
+
+ void parseFileNamePattern_(log4cxx::rolling::RollingPolicyBase *ts)
+ {
+ ++parseFileNamePatternCalled;
+ }
+
+ struct tm *localtime_r_(const time_t *timep, struct tm *result) {
+ ++localtime_rCalled;
+ localtime_rArg = *timep;
+ if (localtime_rFail) {
+ return 0;
+ }
+ return ((struct tm* ( *)(const time_t *, struct tm *)) dlsym(RTLD_NEXT, "localtime_r"))(timep, result);
+ }
+
+ bool equalsIgnoreCase_(const LogString &s1, const LogString &upper, const LogString &lower)
+ {
+ ++equalsIgnoreCaseCalled;
+ if ("rotationtimingvalue" == lower) return true;
+ if ("rotationtiming" == lower) return true;
+ if ("imaxbackupindex" == lower) return true;
+
+ return false;
+ }
+
+ void formatFileName_(log4cxx::rolling::RollingPolicyBase *ts, log4cxx::helpers::ObjectPtr &obj, LogString &buf, log4cxx::helpers::Pool &p)
+ {
+ ++formatFileNameCalled;
+ formatFileNameArgObj = obj;
+ buf = formatFileNameArgBuf;
+ }
+
+
+
+ time_t time_(time_t *t)
+ {
+ ++timeCalled;
+ if (timeReturnNow) {
+ return ((time_t ( *)(time_t *)) dlsym(RTLD_NEXT, "time"))(t);
+ }
+ *t = timeArg;
+ return timeReturns;
+ }
+
+ size_t strftime_(char *s, size_t max, const char *format, const struct tm *tm)
+ {
+ ++strftimeCalled;
+ strftimeArgFormat = format;
+ if (strftimeFail) {
+ return -1;
+ }
+ return ((size_t ( *)(char *, size_t, const char *, const struct tm *)) dlsym(RTLD_NEXT, "strftime"))(s, max, format, tm);
+ }
+
+ time_t mktime_(struct tm *tm)
+ {
+ ++mktimeCalled;
+ if (mktimeFail) {
+ return -1;
+ }
+ return ((time_t ( *)(struct tm *)) dlsym(RTLD_NEXT, "mktime"))(tm);
+ }
+
+ std::vector<LogString> fileList_(log4cxx::File *ts, log4cxx::helpers::Pool &p)
+ {
+ ++fileListCalled;
+ return fileListReturns;
+ }
+
+ bool fileDeleteFile_(log4cxx::File *ts, log4cxx::helpers::Pool &p)
+ {
+ ++fileDeleteFileCalled;
+ LogString filename = ts->getName();
+ fileDeleteFiles.push_back(filename);
+ return true;
+ }
+
+ void fixedPolicySetOption_(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &option, const LogString &value)
+ {
+ ++fixedPolicySetOptionCalled;
+ fixedPolicySetOptionArgOption = option;
+ fixedPolicySetOptionArgValue = value;
+ }
+
+ void fixedPolicyActivateOptions_(log4cxx::rolling::FixedWindowRollingPolicy *ts, log4cxx::helpers::Pool &p)
+ {
+ ++fixedPolicyActivateOptionsCalled;
+ }
+
+ log4cxx::rolling::RolloverDescriptionPtr fixedPolicyInitialize_(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &file, const bool append, log4cxx::helpers::Pool &p)
+ {
+ ++fixedPolicyInitializeCalled;
+ fixedPolicyInitializeArgFile = file;
+ fixedPolicyInitializeArgAppend = append;
+ log4cxx::rolling::RolloverDescriptionPtr desc;
+ return desc;
+ }
+
+ log4cxx::rolling::RolloverDescriptionPtr fixedPolicyRollover_(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &activeFile, log4cxx::helpers::Pool &p)
+ {
+ ++fixedPolicyRolloverCalled;
+ fixedPolicyRolloverArgActiveFile = activeFile;
+ log4cxx::rolling::RolloverDescriptionPtr desc;
+ return desc;
+ }
+
+ void _ZNK7log4cxx7rolling16TriggeringPolicy6addRefEv(log4cxx::rolling::TriggeringPolicy *ts) __attribute__((weak, alias("triggeringPolicyAddRef_")));
+
+ void _ZNK7log4cxx7rolling16TriggeringPolicy10releaseRefEv(log4cxx::rolling::TriggeringPolicy *ts) __attribute__((weak, alias("triggeringPolicyReleaseRef_")));
+
+ void _ZN7log4cxx7rolling17RollingPolicyBase20parseFileNamePatternEv(log4cxx::rolling::RollingPolicyBase *ts) __attribute__((weak, alias("parseFileNamePattern_")));
-void fixedPolicyActivateOptions_(log4cxx::rolling::FixedWindowRollingPolicy* ts, log4cxx::helpers::Pool& p) {
- ++fixedPolicyActivateOptionsCalled;
-}
-
-log4cxx::rolling::RolloverDescriptionPtr fixedPolicyInitialize_(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString& file, const bool append, log4cxx::helpers::Pool& p) {
- ++fixedPolicyInitializeCalled;
- fixedPolicyInitializeArgFile = file;
- fixedPolicyInitializeArgAppend = append;
- log4cxx::rolling::RolloverDescriptionPtr desc;
- return desc;
-}
-
-log4cxx::rolling::RolloverDescriptionPtr fixedPolicyRollover_(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString& activeFile, log4cxx::helpers::Pool& p) {
- ++fixedPolicyRolloverCalled;
- fixedPolicyRolloverArgActiveFile = activeFile;
- log4cxx::rolling::RolloverDescriptionPtr desc;
- return desc;
-}
-
-void _ZNK7log4cxx7rolling16TriggeringPolicy6addRefEv(log4cxx::rolling::TriggeringPolicy* ts) __attribute__((weak,alias("triggeringPolicyAddRef_")));
-
-void _ZNK7log4cxx7rolling16TriggeringPolicy10releaseRefEv(log4cxx::rolling::TriggeringPolicy* ts) __attribute__((weak,alias("triggeringPolicyReleaseRef_")));
+ void _ZNK7log4cxx7rolling17RollingPolicyBase14formatFileNameERNS_7helpers10ObjectPtrTINS2_6ObjectEEERSsRNS2_4PoolE(log4cxx::rolling::RollingPolicyBase *ts, log4cxx::helpers::ObjectPtr &obj, LogString &buf, log4cxx::helpers::Pool &p) __attribute__((weak, alias("formatFileName_")));
-void _ZN7log4cxx7rolling17RollingPolicyBase20parseFileNamePatternEv(log4cxx::rolling::RollingPolicyBase* ts) __attribute__((weak,alias("parseFileNamePattern_")));
+ struct tm *localtime_r(const time_t *timep, struct tm *result) __attribute__((weak, alias("localtime_r_")));
-void _ZNK7log4cxx7rolling17RollingPolicyBase14formatFileNameERNS_7helpers10ObjectPtrTINS2_6ObjectEEERSsRNS2_4PoolE(log4cxx::rolling::RollingPolicyBase* ts, log4cxx::helpers::ObjectPtr& obj,LogString& buf, log4cxx::helpers::Pool& p) __attribute__((weak,alias("formatFileName_")));
+ bool _ZN7log4cxx7helpers12StringHelper16equalsIgnoreCaseERKSsS3_S3_(LogString &s1, LogString &upper, LogString &lower) __attribute__((weak, alias("equalsIgnoreCase_")));
-struct tm* localtime_r(const time_t* timep, struct tm* result) __attribute__((weak,alias("localtime_r_")));
+ time_t time(time_t *t) __attribute__((weak, alias("time_")));
-bool _ZN7log4cxx7helpers12StringHelper16equalsIgnoreCaseERKSsS3_S3_(LogString& s1, LogString& upper, LogString& lower) __attribute__((weak,alias("equalsIgnoreCase_")));
-
-time_t time(time_t* t) __attribute__((weak,alias("time_")));
+ size_t strftime(char *s, size_t max, const char *format, const struct tm *tm) __attribute__((weak, alias("strftime_")));
-size_t strftime(char* s, size_t max, const char* format, const struct tm* tm) __attribute__((weak,alias("strftime_")));
+ time_t mktime(struct tm *tm) __attribute__((weak, alias("mktime_")));
-time_t mktime(struct tm* tm) __attribute__((weak,alias("mktime_")));
+ std::vector<LogString> _ZNK7log4cxx4File4listERNS_7helpers4PoolE(log4cxx::File *ts, log4cxx::helpers::Pool &p) __attribute__((weak, alias("fileList_")));
-std::vector<LogString> _ZNK7log4cxx4File4listERNS_7helpers4PoolE(log4cxx::File* ts, log4cxx::helpers::Pool& p) __attribute__((weak,alias("fileList_")));
+ bool _ZNK7log4cxx4File10deleteFileERNS_7helpers4PoolE(log4cxx::File *ts, log4cxx::helpers::Pool &p) __attribute__((weak, alias("fileDeleteFile_")));
-bool _ZNK7log4cxx4File10deleteFileERNS_7helpers4PoolE(log4cxx::File* ts, log4cxx::helpers::Pool& p) __attribute__((weak,alias("fileDeleteFile_")));
+ void _ZN7log4cxx7rolling24FixedWindowRollingPolicy9setOptionERKSsS3_(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &option, const LogString &value) __attribute__((weak, alias("fixedPolicySetOption_")));
-void _ZN7log4cxx7rolling24FixedWindowRollingPolicy9setOptionERKSsS3_(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString& option, const LogString& value) __attribute__((weak,alias("fixedPolicySetOption_")));
+ void _ZN7log4cxx7rolling24FixedWindowRollingPolicy15activateOptionsERNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy *ts, log4cxx::helpers::Pool &p) __attribute__((weak, alias("fixedPolicyActivateOptions_")));
-void _ZN7log4cxx7rolling24FixedWindowRollingPolicy15activateOptionsERNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy* ts, log4cxx::helpers::Pool& p) __attribute__((weak,alias("fixedPolicyActivateOptions_")));
+ log4cxx::rolling::RolloverDescriptionPtr _ZN7log4cxx7rolling24FixedWindowRollingPolicy10initializeERKSsbRNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &file, const bool append, log4cxx::helpers::Pool &p) __attribute__((weak, alias("fixedPolicyInitialize_")));
-log4cxx::rolling::RolloverDescriptionPtr _ZN7log4cxx7rolling24FixedWindowRollingPolicy10initializeERKSsbRNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString& file, const bool append, log4cxx::helpers::Pool& p) __attribute__((weak,alias("fixedPolicyInitialize_")));
-
-log4cxx::rolling::RolloverDescriptionPtr _ZN7log4cxx7rolling24FixedWindowRollingPolicy8rolloverERKSsRNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString& activeFile, log4cxx::helpers::Pool& p) __attribute__((weak,alias("fixedPolicyRollover_")));
+ log4cxx::rolling::RolloverDescriptionPtr _ZN7log4cxx7rolling24FixedWindowRollingPolicy8rolloverERKSsRNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &activeFile, log4cxx::helpers::Pool &p) __attribute__((weak, alias("fixedPolicyRollover_")));
}
-class TestStrictPolicy : public log4cxx::rolling::StrictTimeBasedRollingPolicy
+class TestStrictPolicy : public log4cxx::rolling::StrictTimeBasedRollingPolicy
{
public:
- time_t getNextCheckProperty() { return log4cxx::rolling::StrictTimeBasedRollingPolicy::nextCheck; }
- void setNextCheckProperty(time_t val) { log4cxx::rolling::StrictTimeBasedRollingPolicy::nextCheck = val; }
- time_t getNextCheck(time_t now_time) { return log4cxx::rolling::StrictTimeBasedRollingPolicy::getNextCheck(now_time); }
+ time_t getNextCheckProperty() {
+ return log4cxx::rolling::StrictTimeBasedRollingPolicy::nextCheck;
+ }
+ void setNextCheckProperty(time_t val) {
+ log4cxx::rolling::StrictTimeBasedRollingPolicy::nextCheck = val;
+ }
+ time_t getNextCheck(time_t now_time) {
+ return log4cxx::rolling::StrictTimeBasedRollingPolicy::getNextCheck(now_time);
+ }
+
+ log4cxx::pattern::PatternMap getFormatSpecifiers() {
+ return log4cxx::rolling::StrictTimeBasedRollingPolicy::getFormatSpecifiers();
+ };
- log4cxx::pattern::PatternMap getFormatSpecifiers() { return log4cxx::rolling::StrictTimeBasedRollingPolicy::getFormatSpecifiers(); };
-
};
void strict_policy_constructor_test()
{
- BOOST_MESSAGE( "----- strict_policy_constructor_test start -----" );
+ BOOST_MESSAGE("----- strict_policy_constructor_test start -----");
- TestStrictPolicy p;
+ TestStrictPolicy p;
- //*nextCheckが初期化されていること
- BOOST_CHECK_EQUAL(p.getNextCheckProperty(), 0);
+ //*nextCheckが初期化されていること
+ BOOST_CHECK_EQUAL(p.getNextCheckProperty(), 0);
- //*rotationTimingが初期化されているkと
- BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_YEAR);
+ //*rotationTimingが初期化されているkと
+ BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_YEAR);
- //*rotationTimingValueが初期化されていること
- BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "");
+ //*rotationTimingValueが初期化されていること
+ BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "");
- BOOST_MESSAGE( "----- strict_policy_constructor_test end -----" );
+ BOOST_MESSAGE("----- strict_policy_constructor_test end -----");
}
void strict_policy_addref_test()
{
- BOOST_MESSAGE( "----- strict_policy_addref_test start -----" );
+ BOOST_MESSAGE("----- strict_policy_addref_test start -----");
+
+ TestStrictPolicy p;
- TestStrictPolicy p;
+ //*triggerinPolicyのaddrefを呼んでいること
+ triggeringPolicyAddRefCalled = 0;
+ p.addRef();
+ BOOST_CHECK_EQUAL(triggeringPolicyAddRefCalled, 1);
- //*triggerinPolicyのaddrefを呼んでいること
- triggeringPolicyAddRefCalled = 0;
- p.addRef();
- BOOST_CHECK_EQUAL(triggeringPolicyAddRefCalled, 1);
-
- BOOST_MESSAGE( "----- strict_policy_addref_test end -----" );
+ BOOST_MESSAGE("----- strict_policy_addref_test end -----");
}
void strict_policy_releaseref_test()
{
- BOOST_MESSAGE( "----- strict_policy_releaseref_test start -----" );
+ BOOST_MESSAGE("----- strict_policy_releaseref_test start -----");
+
+ TestStrictPolicy p;
- TestStrictPolicy p;
+ //*triggeringPolicyのreleaserefを呼んでいること
+ triggeringPolicyReleaseRefCalled = 0;
+ p.releaseRef();
+ BOOST_CHECK_EQUAL(triggeringPolicyReleaseRefCalled, 1);
- //*triggeringPolicyのreleaserefを呼んでいること
- triggeringPolicyReleaseRefCalled = 0;
- p.releaseRef();
- BOOST_CHECK_EQUAL(triggeringPolicyReleaseRefCalled, 1);
-
-
- BOOST_MESSAGE( "----- strict_policy_releaseref_test end -----" );
+
+ BOOST_MESSAGE("----- strict_policy_releaseref_test end -----");
}
void strict_policy_activateoptions_test()
{
- BOOST_MESSAGE( "----- strict_policy_activateoptions_test start -----" );
+ BOOST_MESSAGE("----- strict_policy_activateoptions_test start -----");
- TestStrictPolicy p;
- log4cxx::helpers::Pool pool;
+ TestStrictPolicy p;
+ log4cxx::helpers::Pool pool;
#define DATE_PATTERN "test.log.%d{%Y-%m-%d_%H-%M}"
- //*rotationTimingValueが設定されていなかった時にIlligalStateExceptionを投げること
- p.setRotationTimingValue("");
- BOOST_CHECK_THROW(p.activateOptions(pool), log4cxx::helpers::IllegalStateException);
+ //*rotationTimingValueが設定されていなかった時にIlligalStateExceptionを投げること
+ p.setRotationTimingValue("");
+ BOOST_CHECK_THROW(p.activateOptions(pool), log4cxx::helpers::IllegalStateException);
+
+ //*FixedRollingPolicyのactivateOptionsを呼んでいること
+ fixedPolicyActivateOptionsCalled = 0;
+ p.setRotationTimingValue("02111615");
+ p.activateOptions(pool);
+ BOOST_CHECK_EQUAL(fixedPolicyActivateOptionsCalled, 1);
- //*FixedRollingPolicyのactivateOptionsを呼んでいること
- fixedPolicyActivateOptionsCalled = 0;
- p.setRotationTimingValue("02111615");
- p.activateOptions(pool);
- BOOST_CHECK_EQUAL(fixedPolicyActivateOptionsCalled, 1);
-
- BOOST_MESSAGE( "----- strict_policy_activateoptions_test end -----" );
+ BOOST_MESSAGE("----- strict_policy_activateoptions_test end -----");
}
void strict_policy_get_rotation_timing_value_test()
{
- BOOST_MESSAGE( "----- strict_policy_get_rotation_timing_value_test start -----" );
- TestStrictPolicy p;
-
- //*設定されているrotationTimingValueを取得すること
- p.setRotationTimingValue("2020");
- BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "2020");
-
- BOOST_MESSAGE( "----- strict_policy_get_rotation_timing_value_test end -----" );
+ BOOST_MESSAGE("----- strict_policy_get_rotation_timing_value_test start -----");
+ TestStrictPolicy p;
+
+ //*設定されているrotationTimingValueを取得すること
+ p.setRotationTimingValue("2020");
+ BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "2020");
+
+ BOOST_MESSAGE("----- strict_policy_get_rotation_timing_value_test end -----");
}
void strict_policy_set_rotation_timing_value_test()
{
- BOOST_MESSAGE( "----- strict_policy_set_rotation_timing_value_test start -----" );
- TestStrictPolicy p;
-
- //*rotationTimingValueを設定すること
- p.setRotationTimingValue("12311152");
- BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "12311152");
-
-
- BOOST_MESSAGE( "----- strict_policy_set_rotation_timing_value_test end -----" );
+ BOOST_MESSAGE("----- strict_policy_set_rotation_timing_value_test start -----");
+ TestStrictPolicy p;
+
+ //*rotationTimingValueを設定すること
+ p.setRotationTimingValue("12311152");
+ BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "12311152");
+
+
+ BOOST_MESSAGE("----- strict_policy_set_rotation_timing_value_test end -----");
}
void strict_policy_get_rotation_timing_test()
{
- BOOST_MESSAGE( "----- strict_policy_get_rotation_timing_test start -----" );
- TestStrictPolicy p;
-
- //*設定されているrotationTimingを取得すること
- p.setRotationTiming(LOG_TIM_MONTH);
- BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_MONTH);
-
-
- BOOST_MESSAGE( "----- strict_policy_get_rotation_timing_test end -----" );
+ BOOST_MESSAGE("----- strict_policy_get_rotation_timing_test start -----");
+ TestStrictPolicy p;
+
+ //*設定されているrotationTimingを取得すること
+ p.setRotationTiming(LOG_TIM_MONTH);
+ BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_MONTH);
+
+
+ BOOST_MESSAGE("----- strict_policy_get_rotation_timing_test end -----");
}
void strict_policy_set_rotation_timing_test()
{
- BOOST_MESSAGE( "----- strict_policy_set_rotation_timing_test start -----" );
- TestStrictPolicy p;
-
- //*rotationTimingを設定すること
- p.setRotationTiming(LOG_TIM_HOUR);
- BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_HOUR);
-
-
- BOOST_MESSAGE( "----- strict_policy_set_rotation_timing_test end -----" );
+ BOOST_MESSAGE("----- strict_policy_set_rotation_timing_test start -----");
+ TestStrictPolicy p;
+
+ //*rotationTimingを設定すること
+ p.setRotationTiming(LOG_TIM_HOUR);
+ BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_HOUR);
+
+
+ BOOST_MESSAGE("----- strict_policy_set_rotation_timing_test end -----");
}
void strict_policy_set_option_test()
{
- BOOST_MESSAGE( "----- strict_policy_set_option_test start -----" );
- TestStrictPolicy p;
-
- //*rotationTimingを設定すること
- p.setRotationTimingValue("");
- p.setOption("rotationtimingvalue", "05050101");
- BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "05050101");
-
- //*rotationTimingValueを設定すること
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setOption("rotationtiming", "1");
- BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_MONTH);
-
- //*FixedWindowRollingPolicyのsetOptionを呼んでいること
- p.setMaxIndex(0);
- fixedPolicySetOptionCalled = 0;
- fixedPolicySetOptionArgOption = "";
- fixedPolicySetOptionArgValue = "";
- p.setOption("maxindex", "123");
- BOOST_CHECK_EQUAL(fixedPolicySetOptionCalled, 1);
- BOOST_CHECK_EQUAL(fixedPolicySetOptionArgOption, "maxindex");
- BOOST_CHECK_EQUAL(fixedPolicySetOptionArgValue, "123");
-
- BOOST_MESSAGE( "----- strict_policy_set_oprion_index_test end -----" );
+ BOOST_MESSAGE("----- strict_policy_set_option_test start -----");
+ TestStrictPolicy p;
+
+ //*rotationTimingを設定すること
+ p.setRotationTimingValue("");
+ p.setOption("rotationtimingvalue", "05050101");
+ BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "05050101");
+
+ //*rotationTimingValueを設定すること
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setOption("rotationtiming", "1");
+ BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_MONTH);
+
+ //*FixedWindowRollingPolicyのsetOptionを呼んでいること
+ p.setMaxIndex(0);
+ fixedPolicySetOptionCalled = 0;
+ fixedPolicySetOptionArgOption = "";
+ fixedPolicySetOptionArgValue = "";
+ p.setOption("maxindex", "123");
+ BOOST_CHECK_EQUAL(fixedPolicySetOptionCalled, 1);
+ BOOST_CHECK_EQUAL(fixedPolicySetOptionArgOption, "maxindex");
+ BOOST_CHECK_EQUAL(fixedPolicySetOptionArgValue, "123");
+
+ BOOST_MESSAGE("----- strict_policy_set_oprion_index_test end -----");
}
void strict_policy_initialize_test()
{
- BOOST_MESSAGE( "----- strict_policy_initialize_test start -----" );
- TestStrictPolicy p;
- log4cxx::helpers::Pool pool;
+ BOOST_MESSAGE("----- strict_policy_initialize_test start -----");
+ TestStrictPolicy p;
+ log4cxx::helpers::Pool pool;
- log4cxx::rolling::RolloverDescriptionPtr ret;
+ log4cxx::rolling::RolloverDescriptionPtr ret;
#define CURRENT_ACTIVE_FILE "test_current_active_file"
- //*timeを呼び出していること
- timeCalled = 0;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
-
- //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
- timeCalled = 0;
- timeReturnNow = false;
- timeReturns = -1;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
- timeReturnNow = true;
- timeReturns = 0;
-
- //*getNextCheckを呼び出していること(nextCheckが変更されていること)
- struct tm test_time;
- memset(&test_time, 0, sizeof(struct tm));
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- time_t test_now = mktime(&test_time);
- test_time.tm_year = 109;
- test_time.tm_mon = 0;
- test_time.tm_mday = 15;
- test_time.tm_hour = 12;
- test_time.tm_min = 0;
- time_t test_next = mktime(&test_time);
- timeReturnNow = false;
- timeArg = test_now;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- p.setNextCheckProperty(0);
- ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
- BOOST_CHECK_EQUAL(p.getNextCheckProperty(), test_next);
- timeReturnNow = true;
- timeArg = 0;
-
- //*getNextCheckが失敗した時に空のRolloverDescriptionが帰ってくること
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("AAAAAA");
- ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
-
- //*FixedWindowRollingPolicyのinitializeを呼んでいること
- fixedPolicyInitializeCalled = 0;
- fixedPolicyInitializeArgFile = "";
- fixedPolicyInitializeArgAppend = false;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
- BOOST_CHECK_EQUAL(fixedPolicyInitializeCalled, 1);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
- BOOST_CHECK_EQUAL(fixedPolicyInitializeArgFile, CURRENT_ACTIVE_FILE);
- BOOST_CHECK_EQUAL(fixedPolicyInitializeArgAppend, true);
+ //*timeを呼び出していること
+ timeCalled = 0;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+
+ //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeReturns = -1;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+ timeReturnNow = true;
+ timeReturns = 0;
+
+ //*getNextCheckを呼び出していること(nextCheckが変更されていること)
+ struct tm test_time;
+ memset(&test_time, 0, sizeof(struct tm));
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ time_t test_now = mktime(&test_time);
+ test_time.tm_year = 109;
+ test_time.tm_mon = 0;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 12;
+ test_time.tm_min = 0;
+ time_t test_next = mktime(&test_time);
+ timeReturnNow = false;
+ timeArg = test_now;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ p.setNextCheckProperty(0);
+ ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+ BOOST_CHECK_EQUAL(p.getNextCheckProperty(), test_next);
+ timeReturnNow = true;
+ timeArg = 0;
+
+ //*getNextCheckが失敗した時に空のRolloverDescriptionが帰ってくること
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("AAAAAA");
+ ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+
+ //*FixedWindowRollingPolicyのinitializeを呼んでいること
+ fixedPolicyInitializeCalled = 0;
+ fixedPolicyInitializeArgFile = "";
+ fixedPolicyInitializeArgAppend = false;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
+ BOOST_CHECK_EQUAL(fixedPolicyInitializeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+ BOOST_CHECK_EQUAL(fixedPolicyInitializeArgFile, CURRENT_ACTIVE_FILE);
+ BOOST_CHECK_EQUAL(fixedPolicyInitializeArgAppend, true);
#undef CURRENT_ACTIVE_FILE
-
- BOOST_MESSAGE( "----- strict_policy_initialize_test end -----" );
+
+ BOOST_MESSAGE("----- strict_policy_initialize_test end -----");
}
void strict_policy_get_next_check_test()
{
- BOOST_MESSAGE( "----- strict_policy_get_next_check_test start -----" );
- TestStrictPolicy p;
-
- time_t nc_ret;
- struct tm nc_time;
- struct tm test_time;
- memset(&test_time, 0, sizeof(struct tm));
- time_t test_now = 0;
-
- //*localtime_rを呼び出していること
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- localtime_rCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(localtime_rCalled, 1);
-
- //*localtime_rが失敗した時に-1を返すこと
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- localtime_rFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- localtime_rFail = false;
-
- //*strftimeをLOG_DATE_FORMATを引数に呼び出していること
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- strftimeCalled = 0;
- strftimeArgFormat = "";
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(strftimeCalled, 1);
- BOOST_CHECK_EQUAL(strftimeArgFormat.c_str(), LOG_DATE_FORMAT);
-
- //*strftimeが失敗したときに-1を返すこと
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- strftimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- strftimeFail = false;
-
- //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 年
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("AAAAAA");
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
-
- //*mktimeを呼び出している事 年
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- mktimeCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(mktimeCalled, 1);
-
- //*mktimeが失敗した時 -1を返すこと 年
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- mktimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- mktimeFail = false;
-
- //*nextCheckを取得すること 年 設定日時が未来の場合
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time); //2008/02/12 16:04
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("03100945"); //03/10 09:45
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/03/10 09:45
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 2);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 10);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
-
- //*nextCheckを取得すること 年 設定日時が現在の場合(来年に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time); //2008/02/12 16:04
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02121604"); //02/12 16:04
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2009/02/12 16:04
- BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 12);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 16);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 4);
-
- //*nextCheckを取得すること 年 設定日時が過去の場合(来年に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time); //2008/02/12 16:04
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151500"); //01/15 15:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2009/01/15 15:00
- BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 15);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 15);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
-
-
- //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 月
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("ZZZZZ");
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
-
- //*mktimeを呼び出している事 月
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("151200");
- mktimeCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(mktimeCalled, 1);
-
- //*mktimeが失敗した時 -1を返すこと 月
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("151200");
- mktimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- mktimeFail = false;
-
- //*nextCheckを取得すること 月 設定日時が未来の場合
- test_time.tm_year = 108;
- test_time.tm_mon = 11;
- test_time.tm_mday = 15;
- test_time.tm_hour = 1;
- test_time.tm_min = 5;
- test_now = mktime(&test_time); //2008/12/15 01:05
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("200945"); //20 09:45
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/12/20 09:45
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 11);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 20);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
-
- //*設定日付が存在しない日の場合、存在する日に修正すること
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 15;
- test_time.tm_hour = 14;
- test_time.tm_min = 30;
- test_now = mktime(&test_time); //2008/02/15 14:30
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("310945"); //31 09:45
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/28 09:45
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 28);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
-
- //*nextCheckを取得すること 月 設定日時が現在の場合(来月に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 11;
- test_time.tm_mday = 15;
- test_time.tm_hour = 1;
- test_time.tm_min = 5;
- test_now = mktime(&test_time); //2008/12/15 01:05
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("150105"); //15 01:05
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2009/01/15 01:05
- BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 15);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 5);
-
- //*設定日付が存在しない日の場合、存在する日に修正すること
- test_time.tm_year = 108;
- test_time.tm_mon = 9;
- test_time.tm_mday = 31;
- test_time.tm_hour = 14;
- test_time.tm_min = 30;
- test_now = mktime(&test_time); //2008/10/31 14:30
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("311430"); //31 14:30
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/11/30 14:30
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 10);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 30);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 14);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
-
- //*nextCheckを取得すること 月 設定日時が過去の場合(来月に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 11;
- test_time.tm_mday = 15;
- test_time.tm_hour = 1;
- test_time.tm_min = 5;
- test_now = mktime(&test_time); //2008/12/15 01:05
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("101200"); //10 12:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2009/01/15 01:05
- BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 10);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
- //*設定日付が存在しない日の場合、存在する日に修正すること
- test_time.tm_year = 108;
- test_time.tm_mon = 2;
- test_time.tm_mday = 31;
- test_time.tm_hour = 14;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/03/31 14:00
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("311200"); //31 12:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/04/30 12:00
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 3);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 30);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
-
-
- //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 週
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("ZZZZZ");
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
-
- //*mktimeを呼び出している事 週
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("51200");
- mktimeCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(mktimeCalled, 1);
-
- //*mktimeが失敗した時 -1を返すこと 週
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("51200");
- mktimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- mktimeFail = false;
-
- //*nextCheckを取得すること 週 設定日時が未来の場合
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00(水)
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("41200"); //(木) 12:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/14 12:00(木)
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
- //*nextCheckを取得すること 週 設定日時が現在の場合(翌週に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00(水)
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("30100"); //(水) 1:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/20 01:00(水)
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 20);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
- //*nextCheckを取得すること 月 設定日時が過去の場合(翌週に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00(水)
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("20500"); //(火) 5:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/19 01:00(火)
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 19);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 5);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
-
- //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("NNNN");
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
-
- //*mktimeを呼び出している事 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("1200");
- mktimeCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(mktimeCalled, 1);
-
- //*mktimeが失敗した時 -1を返すこと 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("1200");
- mktimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- mktimeFail = false;
-
- //*nextCheckを取得すること 日 設定日時が未来の場合
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("2359"); //23:59
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/13 23:59
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 23);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 59);
-
- //*nextCheckを取得すること 日 設定日時が現在の場合(翌日に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("0100"); //01:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/14 01:00
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
- //*nextCheckを取得すること 日 設定日時が過去の場合(翌日に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("0000"); //00:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/14 00:00
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 0);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
-
-
- //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("SS");
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
-
- //*mktimeを呼び出している事 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("15");
- mktimeCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(mktimeCalled, 1);
-
- //*mktimeが失敗した時 -1を返すこと 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("15");
- mktimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- mktimeFail = false;
-
- //*nextCheckを取得すること 時間 設定日時が未来の場合
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 15;
- test_now = mktime(&test_time); //2008/02/13 01:15
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("30"); //30
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/13 01:30
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
-
- //*nextCheckを取得すること 時間 設定日時が現在の場合(次の時間に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 15;
- test_now = mktime(&test_time); //2008/02/13 01:15
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("15"); //15
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/13 02:15
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 2);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 15);
-
- //*nextCheckを取得すること 時間 設定日時が過去の場合(次の時間に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 3;
- test_time.tm_mday = 30;
- test_time.tm_hour = 23;
- test_time.tm_min = 45;
- test_now = mktime(&test_time); //2008/04/30 23:45
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("30"); //30
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/05/01 00:30
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 4);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 0);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
-
-
- BOOST_MESSAGE( "----- strict_policy_set_next_check_test end -----" );
+ BOOST_MESSAGE("----- strict_policy_get_next_check_test start -----");
+ TestStrictPolicy p;
+
+ time_t nc_ret;
+ struct tm nc_time;
+ struct tm test_time;
+ memset(&test_time, 0, sizeof(struct tm));
+ time_t test_now = 0;
+
+ //*localtime_rを呼び出していること
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ localtime_rCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(localtime_rCalled, 1);
+
+ //*localtime_rが失敗した時に-1を返すこと
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ localtime_rFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ localtime_rFail = false;
+
+ //*strftimeをLOG_DATE_FORMATを引数に呼び出していること
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ strftimeCalled = 0;
+ strftimeArgFormat = "";
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(strftimeCalled, 1);
+ BOOST_CHECK_EQUAL(strftimeArgFormat.c_str(), LOG_DATE_FORMAT);
+
+ //*strftimeが失敗したときに-1を返すこと
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ strftimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ strftimeFail = false;
+
+ //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 年
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("AAAAAA");
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+
+ //*mktimeを呼び出している事 年
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ mktimeCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(mktimeCalled, 1);
+
+ //*mktimeが失敗した時 -1を返すこと 年
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ mktimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ mktimeFail = false;
+
+ //*nextCheckを取得すること 年 設定日時が未来の場合
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time); //2008/02/12 16:04
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("03100945"); //03/10 09:45
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/03/10 09:45
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 2);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 10);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
+
+ //*nextCheckを取得すること 年 設定日時が現在の場合(来年に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time); //2008/02/12 16:04
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02121604"); //02/12 16:04
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2009/02/12 16:04
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 12);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 16);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 4);
+
+ //*nextCheckを取得すること 年 設定日時が過去の場合(来年に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time); //2008/02/12 16:04
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151500"); //01/15 15:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2009/01/15 15:00
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 15);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 15);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+
+
+ //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 月
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("ZZZZZ");
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+
+ //*mktimeを呼び出している事 月
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("151200");
+ mktimeCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(mktimeCalled, 1);
+
+ //*mktimeが失敗した時 -1を返すこと 月
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("151200");
+ mktimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ mktimeFail = false;
+
+ //*nextCheckを取得すること 月 設定日時が未来の場合
+ test_time.tm_year = 108;
+ test_time.tm_mon = 11;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 5;
+ test_now = mktime(&test_time); //2008/12/15 01:05
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("200945"); //20 09:45
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/12/20 09:45
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 11);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 20);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
+
+ //*設定日付が存在しない日の場合、存在する日に修正すること
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 14;
+ test_time.tm_min = 30;
+ test_now = mktime(&test_time); //2008/02/15 14:30
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("310945"); //31 09:45
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/28 09:45
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 28);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
+
+ //*nextCheckを取得すること 月 設定日時が現在の場合(来月に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 11;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 5;
+ test_now = mktime(&test_time); //2008/12/15 01:05
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("150105"); //15 01:05
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2009/01/15 01:05
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 15);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 5);
+
+ //*設定日付が存在しない日の場合、存在する日に修正すること
+ test_time.tm_year = 108;
+ test_time.tm_mon = 9;
+ test_time.tm_mday = 31;
+ test_time.tm_hour = 14;
+ test_time.tm_min = 30;
+ test_now = mktime(&test_time); //2008/10/31 14:30
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("311430"); //31 14:30
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/11/30 14:30
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 10);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 30);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 14);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
+
+ //*nextCheckを取得すること 月 設定日時が過去の場合(来月に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 11;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 5;
+ test_now = mktime(&test_time); //2008/12/15 01:05
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("101200"); //10 12:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2009/01/15 01:05
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 10);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+ //*設定日付が存在しない日の場合、存在する日に修正すること
+ test_time.tm_year = 108;
+ test_time.tm_mon = 2;
+ test_time.tm_mday = 31;
+ test_time.tm_hour = 14;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/03/31 14:00
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("311200"); //31 12:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/04/30 12:00
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 3);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 30);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+
+
+ //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 週
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("ZZZZZ");
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+
+ //*mktimeを呼び出している事 週
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("51200");
+ mktimeCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(mktimeCalled, 1);
+
+ //*mktimeが失敗した時 -1を返すこと 週
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("51200");
+ mktimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ mktimeFail = false;
+
+ //*nextCheckを取得すること 週 設定日時が未来の場合
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00(水)
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("41200"); //(木) 12:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/14 12:00(木)
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+ //*nextCheckを取得すること 週 設定日時が現在の場合(翌週に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00(水)
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("30100"); //(水) 1:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/20 01:00(水)
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 20);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+ //*nextCheckを取得すること 月 設定日時が過去の場合(翌週に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00(水)
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("20500"); //(火) 5:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/19 01:00(火)
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 19);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 5);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+
+ //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("NNNN");
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+
+ //*mktimeを呼び出している事 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("1200");
+ mktimeCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(mktimeCalled, 1);
+
+ //*mktimeが失敗した時 -1を返すこと 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("1200");
+ mktimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ mktimeFail = false;
+
+ //*nextCheckを取得すること 日 設定日時が未来の場合
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("2359"); //23:59
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/13 23:59
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 23);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 59);
+
+ //*nextCheckを取得すること 日 設定日時が現在の場合(翌日に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("0100"); //01:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/14 01:00
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+ //*nextCheckを取得すること 日 設定日時が過去の場合(翌日に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("0000"); //00:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/14 00:00
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 0);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+
+
+ //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("SS");
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+
+ //*mktimeを呼び出している事 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("15");
+ mktimeCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(mktimeCalled, 1);
+
+ //*mktimeが失敗した時 -1を返すこと 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("15");
+ mktimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ mktimeFail = false;
+
+ //*nextCheckを取得すること 時間 設定日時が未来の場合
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 15;
+ test_now = mktime(&test_time); //2008/02/13 01:15
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("30"); //30
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/13 01:30
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
+
+ //*nextCheckを取得すること 時間 設定日時が現在の場合(次の時間に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 15;
+ test_now = mktime(&test_time); //2008/02/13 01:15
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("15"); //15
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/13 02:15
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 2);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 15);
+
+ //*nextCheckを取得すること 時間 設定日時が過去の場合(次の時間に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 3;
+ test_time.tm_mday = 30;
+ test_time.tm_hour = 23;
+ test_time.tm_min = 45;
+ test_now = mktime(&test_time); //2008/04/30 23:45
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("30"); //30
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/05/01 00:30
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 4);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 0);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
+
+
+ BOOST_MESSAGE("----- strict_policy_set_next_check_test end -----");
}
void strict_policy_rollover_test()
{
- BOOST_MESSAGE( "----- strict_policy_rollover_test start -----" );
- TestStrictPolicy p;
- log4cxx::helpers::Pool pool;
- log4cxx::rolling::RolloverDescriptionPtr ret;
+ BOOST_MESSAGE("----- strict_policy_rollover_test start -----");
+ TestStrictPolicy p;
+ log4cxx::helpers::Pool pool;
+ log4cxx::rolling::RolloverDescriptionPtr ret;
#define TEST_FILE_NAME "test_file_name"
#define CURRENT_ACTIVE_FILE "current_active_file"
- //*timeを呼び出していること
- timeCalled = 0;
- formatFileNameArgBuf = TEST_FILE_NAME;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
-
- //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
- timeCalled = 0;
- timeReturnNow = false;
- timeReturns = -1;
- formatFileNameArgBuf = TEST_FILE_NAME;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
- timeReturnNow = true;
- timeReturns = 0;
-
- //*getNextCheckを呼び出していること(nextCheckが変更されていること)
- struct tm test_time;
- memset(&test_time, 0, sizeof(struct tm));
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- time_t test_now = mktime(&test_time);
- test_time.tm_year = 109;
- test_time.tm_mon = 0;
- test_time.tm_mday = 15;
- test_time.tm_hour = 12;
- test_time.tm_min = 0;
- time_t test_next = mktime(&test_time);
- timeReturnNow = false;
- timeArg = test_now;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- p.setNextCheckProperty(0);
- ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
- BOOST_CHECK_EQUAL(p.getNextCheckProperty(), test_next);
- timeReturnNow = true;
- timeArg = 0;
-
- //*getNextCheckが失敗した時に空のRolloverDescriptionが帰ってくること
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("AAAAAA");
- ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
-
- //*FixedWindowRollingPolicyのrolloverを呼んでいること
- fixedPolicyRolloverCalled = 0;
- fixedPolicyRolloverArgActiveFile = "";
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
- BOOST_CHECK_EQUAL(fixedPolicyRolloverCalled, 1);
- BOOST_CHECK_EQUAL(fixedPolicyRolloverArgActiveFile, CURRENT_ACTIVE_FILE);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
-
+ //*timeを呼び出していること
+ timeCalled = 0;
+ formatFileNameArgBuf = TEST_FILE_NAME;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+
+ //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeReturns = -1;
+ formatFileNameArgBuf = TEST_FILE_NAME;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+ timeReturnNow = true;
+ timeReturns = 0;
+
+ //*getNextCheckを呼び出していること(nextCheckが変更されていること)
+ struct tm test_time;
+ memset(&test_time, 0, sizeof(struct tm));
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ time_t test_now = mktime(&test_time);
+ test_time.tm_year = 109;
+ test_time.tm_mon = 0;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 12;
+ test_time.tm_min = 0;
+ time_t test_next = mktime(&test_time);
+ timeReturnNow = false;
+ timeArg = test_now;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ p.setNextCheckProperty(0);
+ ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+ BOOST_CHECK_EQUAL(p.getNextCheckProperty(), test_next);
+ timeReturnNow = true;
+ timeArg = 0;
+
+ //*getNextCheckが失敗した時に空のRolloverDescriptionが帰ってくること
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("AAAAAA");
+ ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+
+ //*FixedWindowRollingPolicyのrolloverを呼んでいること
+ fixedPolicyRolloverCalled = 0;
+ fixedPolicyRolloverArgActiveFile = "";
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
+ BOOST_CHECK_EQUAL(fixedPolicyRolloverCalled, 1);
+ BOOST_CHECK_EQUAL(fixedPolicyRolloverArgActiveFile, CURRENT_ACTIVE_FILE);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+
#undef CURRENT_ACTIVE_FILE
#undef TEST_FILE_NAME
-
- BOOST_MESSAGE( "----- strict_policy_rollover_test end -----" );
+
+ BOOST_MESSAGE("----- strict_policy_rollover_test end -----");
}
void strict_policy_is_triggering_event_test()
{
- BOOST_MESSAGE( "----- strict_policy_is_triggering_event_test start -----" );
- TestStrictPolicy p;
-
- bool ret;
- log4cxx::AppenderPtr argAppender;
- log4cxx::spi::LoggingEventPtr argEvent;
- LogString filename;
- size_t filelength;
-
- //*timeを呼び出していること
- timeCalled = 0;
- timeReturnNow = false;
- timeArg = 10;
- p.setNextCheckProperty(5);
- ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, true);
- timeArg = 0;
- timeReturnNow = true;
-
- //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
- timeCalled = 0;
- timeReturnNow = false;
- timeReturns = -1;
- p.setNextCheckProperty(5);
- ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, false);
- timeReturnNow = true;
- timeReturns = 0;
-
- //*timeで取得した時間とnextCheckを比較してtimeで取得した時間が大きい時にtrueを返却すること
- timeCalled = 0;
- timeReturnNow = false;
- timeArg = 10;
- p.setNextCheckProperty(5);
- ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, true);
- timeArg = 0;
- timeReturnNow = true;
-
- //*nextCheckが大きい時にfalseを返すこと
- timeCalled = 0;
- timeReturnNow = false;
- timeArg = 5;
- p.setNextCheckProperty(10);
- ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, false);
- timeArg = 0;
- timeReturnNow = true;
-
- BOOST_MESSAGE( "----- strict_policy_is_triggering_event_test end -----" );
+ BOOST_MESSAGE("----- strict_policy_is_triggering_event_test start -----");
+ TestStrictPolicy p;
+
+ bool ret;
+ log4cxx::AppenderPtr argAppender;
+ log4cxx::spi::LoggingEventPtr argEvent;
+ LogString filename;
+ size_t filelength;
+
+ //*timeを呼び出していること
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeArg = 10;
+ p.setNextCheckProperty(5);
+ ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, true);
+ timeArg = 0;
+ timeReturnNow = true;
+
+ //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeReturns = -1;
+ p.setNextCheckProperty(5);
+ ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, false);
+ timeReturnNow = true;
+ timeReturns = 0;
+
+ //*timeで取得した時間とnextCheckを比較してtimeで取得した時間が大きい時にtrueを返却すること
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeArg = 10;
+ p.setNextCheckProperty(5);
+ ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, true);
+ timeArg = 0;
+ timeReturnNow = true;
+
+ //*nextCheckが大きい時にfalseを返すこと
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeArg = 5;
+ p.setNextCheckProperty(10);
+ ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, false);
+ timeArg = 0;
+ timeReturnNow = true;
+
+ BOOST_MESSAGE("----- strict_policy_is_triggering_event_test end -----");
}
test_suite*
-init_unit_test_suite(int argc, char* argv[])
+init_unit_test_suite(int argc, char *argv[])
{
- test_suite* test = BOOST_TEST_SUITE("logger_test");
-
- test->add(BOOST_TEST_CASE(strict_policy_constructor_test));
- test->add(BOOST_TEST_CASE(strict_policy_addref_test));
- test->add(BOOST_TEST_CASE(strict_policy_releaseref_test));
- test->add(BOOST_TEST_CASE(strict_policy_activateoptions_test));
- test->add(BOOST_TEST_CASE(strict_policy_get_rotation_timing_value_test));
- test->add(BOOST_TEST_CASE(strict_policy_set_rotation_timing_value_test));
- test->add(BOOST_TEST_CASE(strict_policy_get_rotation_timing_test));
- test->add(BOOST_TEST_CASE(strict_policy_set_rotation_timing_test));
- test->add(BOOST_TEST_CASE(strict_policy_set_option_test));
- test->add(BOOST_TEST_CASE(strict_policy_initialize_test));
- test->add(BOOST_TEST_CASE(strict_policy_get_next_check_test));
- test->add(BOOST_TEST_CASE(strict_policy_rollover_test));
- test->add(BOOST_TEST_CASE(strict_policy_is_triggering_event_test));
-
- return test;
+ test_suite *test = BOOST_TEST_SUITE("logger_test");
+
+ test->add(BOOST_TEST_CASE(strict_policy_constructor_test));
+ test->add(BOOST_TEST_CASE(strict_policy_addref_test));
+ test->add(BOOST_TEST_CASE(strict_policy_releaseref_test));
+ test->add(BOOST_TEST_CASE(strict_policy_activateoptions_test));
+ test->add(BOOST_TEST_CASE(strict_policy_get_rotation_timing_value_test));
+ test->add(BOOST_TEST_CASE(strict_policy_set_rotation_timing_value_test));
+ test->add(BOOST_TEST_CASE(strict_policy_get_rotation_timing_test));
+ test->add(BOOST_TEST_CASE(strict_policy_set_rotation_timing_test));
+ test->add(BOOST_TEST_CASE(strict_policy_set_option_test));
+ test->add(BOOST_TEST_CASE(strict_policy_initialize_test));
+ test->add(BOOST_TEST_CASE(strict_policy_get_next_check_test));
+ test->add(BOOST_TEST_CASE(strict_policy_rollover_test));
+ test->add(BOOST_TEST_CASE(strict_policy_is_triggering_event_test));
+
+ return test;
};
using namespace l7vs;
extern int strictPolicyCtorCalled;
-extern void* strictPolicyCreated;
+extern void *strictPolicyCreated;
IMPLEMENT_LOG4CXX_OBJECT(StrictTimeBasedRollingPolicy)
StrictTimeBasedRollingPolicy::StrictTimeBasedRollingPolicy() :
- nextCheck(0), rotationTiming(LOG_TIM_YEAR), rotationTimingValue("")
+ nextCheck(0), rotationTiming(LOG_TIM_YEAR), rotationTimingValue("")
{
- ++strictPolicyCtorCalled;
- strictPolicyCreated = this;
+ ++strictPolicyCtorCalled;
+ strictPolicyCreated = this;
}
void StrictTimeBasedRollingPolicy::addRef() const
{
}
-void StrictTimeBasedRollingPolicy::activateOptions(log4cxx::helpers::Pool& pool)
+void StrictTimeBasedRollingPolicy::activateOptions(log4cxx::helpers::Pool &pool)
{
}
std::string StrictTimeBasedRollingPolicy::getRotationTimingValue()
{
- return rotationTimingValue;
+ return rotationTimingValue;
}
-
-void StrictTimeBasedRollingPolicy::setRotationTimingValue(const std::string& val)
+
+void StrictTimeBasedRollingPolicy::setRotationTimingValue(const std::string &val)
{
- rotationTimingValue = val;
+ rotationTimingValue = val;
}
LOG_ROTATION_TIMING_TAG StrictTimeBasedRollingPolicy::getRotationTiming()
{
- return rotationTiming;
+ return rotationTiming;
}
-
+
void StrictTimeBasedRollingPolicy::setRotationTiming(const LOG_ROTATION_TIMING_TAG val)
{
- rotationTiming = val;
+ rotationTiming = val;
}
-void StrictTimeBasedRollingPolicy::setOption(const LogString& option, const LogString& value)
+void StrictTimeBasedRollingPolicy::setOption(const LogString &option, const LogString &value)
{
}
RolloverDescriptionPtr StrictTimeBasedRollingPolicy::initialize(
- const LogString& currentActiveFile,
- const bool append,
- Pool& pool)
+ const LogString ¤tActiveFile,
+ const bool append,
+ Pool &pool)
{
- RolloverDescriptionPtr desc;
- return desc;
+ RolloverDescriptionPtr desc;
+ return desc;
}
time_t StrictTimeBasedRollingPolicy::getNextCheck(time_t timeNow)
{
- return 0;
+ return 0;
}
RolloverDescriptionPtr StrictTimeBasedRollingPolicy::rollover(
- const LogString& currentActiveFile,
- Pool& pool)
+ const LogString ¤tActiveFile,
+ Pool &pool)
{
- RolloverDescriptionPtr desc;
- return desc;
+ RolloverDescriptionPtr desc;
+ return desc;
}
bool StrictTimeBasedRollingPolicy::isTriggeringEvent(
- Appender* /* appender */,
- const log4cxx::spi::LoggingEventPtr& /* event */,
- const LogString& /* filename */,
- size_t /* fileLength */)
+ Appender* /* appender */,
+ const log4cxx::spi::LoggingEventPtr& /* event */,
+ const LogString& /* filename */,
+ size_t /* fileLength */)
{
- return true;
+ return true;
}
using namespace log4cxx::pattern;
extern int timeSizePolicyCtorCalled;
-extern void* timeSizePolicyCreated;
+extern void *timeSizePolicyCreated;
IMPLEMENT_LOG4CXX_OBJECT(TimeAndSizeBasedRollingPolicy)
TimeAndSizeBasedRollingPolicy::TimeAndSizeBasedRollingPolicy() :
- maxFileSize(DEFAULT_MAX_FILE_SIZE)
+ maxFileSize(DEFAULT_MAX_FILE_SIZE)
{
- ++timeSizePolicyCtorCalled;
- timeSizePolicyCreated = this;
+ ++timeSizePolicyCtorCalled;
+ timeSizePolicyCreated = this;
}
size_t TimeAndSizeBasedRollingPolicy::getMaxFileSize()
{
- return maxFileSize;
+ return maxFileSize;
}
-
+
void TimeAndSizeBasedRollingPolicy::setMaxFileSize(size_t size)
{
- maxFileSize = size;
+ maxFileSize = size;
}
-void TimeAndSizeBasedRollingPolicy::setOption(const LogString& option, const LogString& value)
+void TimeAndSizeBasedRollingPolicy::setOption(const LogString &option, const LogString &value)
{
}
bool TimeAndSizeBasedRollingPolicy::isTriggeringEvent(
- Appender* appender,
- const log4cxx::spi::LoggingEventPtr& event,
- const LogString& filename,
- size_t fileLength)
+ Appender *appender,
+ const log4cxx::spi::LoggingEventPtr &event,
+ const LogString &filename,
+ size_t fileLength)
{
- return true;
+ return true;
}
extern "C" {
-void triggeringPolicyAddRef_(log4cxx::rolling::TriggeringPolicy* ts) {
- ++triggeringPolicyAddRefCalled;
-}
-
-void triggeringPolicyReleaseRef_(log4cxx::rolling::TriggeringPolicy* ts) {
- ++triggeringPolicyReleaseRefCalled;
-}
-
-void parseFileNamePattern_(log4cxx::rolling::RollingPolicyBase* ts) {
- ++parseFileNamePatternCalled;
-}
-
-log4cxx::pattern::PatternConverterPtr getDatePatternConverter_(log4cxx::rolling::RollingPolicyBase* ts) {
- ++getDatePatternConverterCalled;
- if (getDatePatternConverterReturnNull) {
- return 0;
- }
-
- std::vector<LogString> altOptions;
- altOptions.push_back(LOG4CXX_STR("yyyy-MM-dd"));
- return log4cxx::pattern::DatePatternConverter::newInstance(altOptions);
-}
-
-struct tm* localtime_r_(const time_t* timep, struct tm* result) {
- ++localtime_rCalled;
- localtime_rArg = *timep;
- if (localtime_rFail) {
- return 0;
- }
- return ((struct tm* (*)(const time_t*, struct tm*)) dlsym(RTLD_NEXT, "localtime_r"))(timep, result);
-}
-
-bool equalsIgnoreCase_(const LogString& s1, const LogString& upper, const LogString& lower) {
- ++equalsIgnoreCaseCalled;
- if ("rotationtimingvalue" == lower) return true;
- if ("rotationtiming" == lower) return true;
- if ("imaxbackupindex" == lower) return true;
-
- return false;
-}
-
-void formatFileName_(log4cxx::rolling::RollingPolicyBase* ts, log4cxx::helpers::ObjectPtr& obj, LogString& buf, log4cxx::helpers::Pool& p) {
- ++formatFileNameCalled;
- formatFileNameArgObj = obj;
- buf = formatFileNameArgBuf;
-}
-
-
-
-time_t time_(time_t* t) {
- ++timeCalled;
- if (timeReturnNow) {
- return ((time_t (*)(time_t*)) dlsym(RTLD_NEXT, "time"))(t);
- }
- *t = timeArg;
- return timeReturns;
-}
-
-size_t strftime_(char* s, size_t max, const char* format, const struct tm* tm) {
- ++strftimeCalled;
- strftimeArgFormat = format;
- if (strftimeFail) {
- return -1;
- }
- return ((size_t (*)(char*, size_t, const char*, const struct tm*)) dlsym(RTLD_NEXT, "strftime"))(s, max, format, tm);
-}
-
-time_t mktime_(struct tm* tm) {
- ++mktimeCalled;
- if (mktimeFail) {
- return -1;
- }
- return ((time_t (*)(struct tm*)) dlsym(RTLD_NEXT, "mktime"))(tm);
-}
-
-std::vector<LogString> fileList_(log4cxx::File* ts, log4cxx::helpers::Pool& p) {
- ++fileListCalled;
- return fileListReturns;
-}
-
-bool fileDeleteFile_(log4cxx::File* ts, log4cxx::helpers::Pool& p) {
- ++fileDeleteFileCalled;
- LogString filename = ts->getName();
- fileDeleteFiles.push_back(filename);
- return true;
-}
-
-void fixedPolicySetOption_(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString&option, const LogString& value) {
- ++fixedPolicySetOptionCalled;
- fixedPolicySetOptionArgOption = option;
- fixedPolicySetOptionArgValue = value;
-}
-
-void fixedPolicyActivateOptions_(log4cxx::rolling::FixedWindowRollingPolicy* ts, log4cxx::helpers::Pool& p) {
- ++fixedPolicyActivateOptionsCalled;
-}
-
-log4cxx::rolling::RolloverDescriptionPtr fixedPolicyInitialize_(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString& file, const bool append, log4cxx::helpers::Pool& p) {
- ++fixedPolicyInitializeCalled;
- fixedPolicyInitializeArgFile = file;
- fixedPolicyInitializeArgAppend = append;
- log4cxx::rolling::RolloverDescriptionPtr desc;
- return desc;
-}
-
-log4cxx::rolling::RolloverDescriptionPtr fixedPolicyRollover_(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString& activeFile, log4cxx::helpers::Pool& p) {
- ++fixedPolicyRolloverCalled;
- fixedPolicyRolloverArgActiveFile = activeFile;
- log4cxx::rolling::RolloverDescriptionPtr desc;
- return desc;
-}
-
-void _ZNK7log4cxx7rolling16TriggeringPolicy6addRefEv(log4cxx::rolling::TriggeringPolicy* ts) __attribute__((weak,alias("triggeringPolicyAddRef_")));
+ void triggeringPolicyAddRef_(log4cxx::rolling::TriggeringPolicy *ts)
+ {
+ ++triggeringPolicyAddRefCalled;
+ }
+
+ void triggeringPolicyReleaseRef_(log4cxx::rolling::TriggeringPolicy *ts)
+ {
+ ++triggeringPolicyReleaseRefCalled;
+ }
+
+ void parseFileNamePattern_(log4cxx::rolling::RollingPolicyBase *ts)
+ {
+ ++parseFileNamePatternCalled;
+ }
+
+ log4cxx::pattern::PatternConverterPtr getDatePatternConverter_(log4cxx::rolling::RollingPolicyBase *ts)
+ {
+ ++getDatePatternConverterCalled;
+ if (getDatePatternConverterReturnNull) {
+ return 0;
+ }
+
+ std::vector<LogString> altOptions;
+ altOptions.push_back(LOG4CXX_STR("yyyy-MM-dd"));
+ return log4cxx::pattern::DatePatternConverter::newInstance(altOptions);
+ }
+
+ struct tm *localtime_r_(const time_t *timep, struct tm *result) {
+ ++localtime_rCalled;
+ localtime_rArg = *timep;
+ if (localtime_rFail) {
+ return 0;
+ }
+ return ((struct tm* ( *)(const time_t *, struct tm *)) dlsym(RTLD_NEXT, "localtime_r"))(timep, result);
+ }
+
+ bool equalsIgnoreCase_(const LogString &s1, const LogString &upper, const LogString &lower)
+ {
+ ++equalsIgnoreCaseCalled;
+ if ("rotationtimingvalue" == lower) return true;
+ if ("rotationtiming" == lower) return true;
+ if ("imaxbackupindex" == lower) return true;
+
+ return false;
+ }
+
+ void formatFileName_(log4cxx::rolling::RollingPolicyBase *ts, log4cxx::helpers::ObjectPtr &obj, LogString &buf, log4cxx::helpers::Pool &p)
+ {
+ ++formatFileNameCalled;
+ formatFileNameArgObj = obj;
+ buf = formatFileNameArgBuf;
+ }
+
+
+
+ time_t time_(time_t *t)
+ {
+ ++timeCalled;
+ if (timeReturnNow) {
+ return ((time_t ( *)(time_t *)) dlsym(RTLD_NEXT, "time"))(t);
+ }
+ *t = timeArg;
+ return timeReturns;
+ }
+
+ size_t strftime_(char *s, size_t max, const char *format, const struct tm *tm)
+ {
+ ++strftimeCalled;
+ strftimeArgFormat = format;
+ if (strftimeFail) {
+ return -1;
+ }
+ return ((size_t ( *)(char *, size_t, const char *, const struct tm *)) dlsym(RTLD_NEXT, "strftime"))(s, max, format, tm);
+ }
+
+ time_t mktime_(struct tm *tm)
+ {
+ ++mktimeCalled;
+ if (mktimeFail) {
+ return -1;
+ }
+ return ((time_t ( *)(struct tm *)) dlsym(RTLD_NEXT, "mktime"))(tm);
+ }
+
+ std::vector<LogString> fileList_(log4cxx::File *ts, log4cxx::helpers::Pool &p)
+ {
+ ++fileListCalled;
+ return fileListReturns;
+ }
+
+ bool fileDeleteFile_(log4cxx::File *ts, log4cxx::helpers::Pool &p)
+ {
+ ++fileDeleteFileCalled;
+ LogString filename = ts->getName();
+ fileDeleteFiles.push_back(filename);
+ return true;
+ }
+
+ void fixedPolicySetOption_(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &option, const LogString &value)
+ {
+ ++fixedPolicySetOptionCalled;
+ fixedPolicySetOptionArgOption = option;
+ fixedPolicySetOptionArgValue = value;
+ }
+
+ void fixedPolicyActivateOptions_(log4cxx::rolling::FixedWindowRollingPolicy *ts, log4cxx::helpers::Pool &p)
+ {
+ ++fixedPolicyActivateOptionsCalled;
+ }
+
+ log4cxx::rolling::RolloverDescriptionPtr fixedPolicyInitialize_(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &file, const bool append, log4cxx::helpers::Pool &p)
+ {
+ ++fixedPolicyInitializeCalled;
+ fixedPolicyInitializeArgFile = file;
+ fixedPolicyInitializeArgAppend = append;
+ log4cxx::rolling::RolloverDescriptionPtr desc;
+ return desc;
+ }
+
+ log4cxx::rolling::RolloverDescriptionPtr fixedPolicyRollover_(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &activeFile, log4cxx::helpers::Pool &p)
+ {
+ ++fixedPolicyRolloverCalled;
+ fixedPolicyRolloverArgActiveFile = activeFile;
+ log4cxx::rolling::RolloverDescriptionPtr desc;
+ return desc;
+ }
+
+ void _ZNK7log4cxx7rolling16TriggeringPolicy6addRefEv(log4cxx::rolling::TriggeringPolicy *ts) __attribute__((weak, alias("triggeringPolicyAddRef_")));
+
+ void _ZNK7log4cxx7rolling16TriggeringPolicy10releaseRefEv(log4cxx::rolling::TriggeringPolicy *ts) __attribute__((weak, alias("triggeringPolicyReleaseRef_")));
+
+ void _ZN7log4cxx7rolling17RollingPolicyBase20parseFileNamePatternEv(log4cxx::rolling::RollingPolicyBase *ts) __attribute__((weak, alias("parseFileNamePattern_")));
-void _ZNK7log4cxx7rolling16TriggeringPolicy10releaseRefEv(log4cxx::rolling::TriggeringPolicy* ts) __attribute__((weak,alias("triggeringPolicyReleaseRef_")));
+ log4cxx::pattern::PatternConverterPtr _ZNK7log4cxx7rolling17RollingPolicyBase23getDatePatternConverterEv(log4cxx::rolling::RollingPolicyBase *ts) __attribute__((weak, alias("getDatePatternConverter_")));
-void _ZN7log4cxx7rolling17RollingPolicyBase20parseFileNamePatternEv(log4cxx::rolling::RollingPolicyBase* ts) __attribute__((weak,alias("parseFileNamePattern_")));
+ void _ZNK7log4cxx7rolling17RollingPolicyBase14formatFileNameERNS_7helpers10ObjectPtrTINS2_6ObjectEEERSsRNS2_4PoolE(log4cxx::rolling::RollingPolicyBase *ts, log4cxx::helpers::ObjectPtr &obj, LogString &buf, log4cxx::helpers::Pool &p) __attribute__((weak, alias("formatFileName_")));
-log4cxx::pattern::PatternConverterPtr _ZNK7log4cxx7rolling17RollingPolicyBase23getDatePatternConverterEv(log4cxx::rolling::RollingPolicyBase* ts) __attribute__((weak,alias("getDatePatternConverter_")));
+ struct tm *localtime_r(const time_t *timep, struct tm *result) __attribute__((weak, alias("localtime_r_")));
-void _ZNK7log4cxx7rolling17RollingPolicyBase14formatFileNameERNS_7helpers10ObjectPtrTINS2_6ObjectEEERSsRNS2_4PoolE(log4cxx::rolling::RollingPolicyBase* ts, log4cxx::helpers::ObjectPtr& obj,LogString& buf, log4cxx::helpers::Pool& p) __attribute__((weak,alias("formatFileName_")));
+ bool _ZN7log4cxx7helpers12StringHelper16equalsIgnoreCaseERKSsS3_S3_(LogString &s1, LogString &upper, LogString &lower) __attribute__((weak, alias("equalsIgnoreCase_")));
-struct tm* localtime_r(const time_t* timep, struct tm* result) __attribute__((weak,alias("localtime_r_")));
+ time_t time(time_t *t) __attribute__((weak, alias("time_")));
-bool _ZN7log4cxx7helpers12StringHelper16equalsIgnoreCaseERKSsS3_S3_(LogString& s1, LogString& upper, LogString& lower) __attribute__((weak,alias("equalsIgnoreCase_")));
-
-time_t time(time_t* t) __attribute__((weak,alias("time_")));
+ size_t strftime(char *s, size_t max, const char *format, const struct tm *tm) __attribute__((weak, alias("strftime_")));
-size_t strftime(char* s, size_t max, const char* format, const struct tm* tm) __attribute__((weak,alias("strftime_")));
+ time_t mktime(struct tm *tm) __attribute__((weak, alias("mktime_")));
-time_t mktime(struct tm* tm) __attribute__((weak,alias("mktime_")));
+ std::vector<LogString> _ZNK7log4cxx4File4listERNS_7helpers4PoolE(log4cxx::File *ts, log4cxx::helpers::Pool &p) __attribute__((weak, alias("fileList_")));
-std::vector<LogString> _ZNK7log4cxx4File4listERNS_7helpers4PoolE(log4cxx::File* ts, log4cxx::helpers::Pool& p) __attribute__((weak,alias("fileList_")));
+ bool _ZNK7log4cxx4File10deleteFileERNS_7helpers4PoolE(log4cxx::File *ts, log4cxx::helpers::Pool &p) __attribute__((weak, alias("fileDeleteFile_")));
-bool _ZNK7log4cxx4File10deleteFileERNS_7helpers4PoolE(log4cxx::File* ts, log4cxx::helpers::Pool& p) __attribute__((weak,alias("fileDeleteFile_")));
+ void _ZN7log4cxx7rolling24FixedWindowRollingPolicy9setOptionERKSsS3_(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &option, const LogString &value) __attribute__((weak, alias("fixedPolicySetOption_")));
-void _ZN7log4cxx7rolling24FixedWindowRollingPolicy9setOptionERKSsS3_(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString& option, const LogString& value) __attribute__((weak,alias("fixedPolicySetOption_")));
+ void _ZN7log4cxx7rolling24FixedWindowRollingPolicy15activateOptionsERNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy *ts, log4cxx::helpers::Pool &p) __attribute__((weak, alias("fixedPolicyActivateOptions_")));
-void _ZN7log4cxx7rolling24FixedWindowRollingPolicy15activateOptionsERNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy* ts, log4cxx::helpers::Pool& p) __attribute__((weak,alias("fixedPolicyActivateOptions_")));
+ log4cxx::rolling::RolloverDescriptionPtr _ZN7log4cxx7rolling24FixedWindowRollingPolicy10initializeERKSsbRNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &file, const bool append, log4cxx::helpers::Pool &p) __attribute__((weak, alias("fixedPolicyInitialize_")));
-log4cxx::rolling::RolloverDescriptionPtr _ZN7log4cxx7rolling24FixedWindowRollingPolicy10initializeERKSsbRNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString& file, const bool append, log4cxx::helpers::Pool& p) __attribute__((weak,alias("fixedPolicyInitialize_")));
-
-log4cxx::rolling::RolloverDescriptionPtr _ZN7log4cxx7rolling24FixedWindowRollingPolicy8rolloverERKSsRNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy* ts, const LogString& activeFile, log4cxx::helpers::Pool& p) __attribute__((weak,alias("fixedPolicyRollover_")));
+ log4cxx::rolling::RolloverDescriptionPtr _ZN7log4cxx7rolling24FixedWindowRollingPolicy8rolloverERKSsRNS_7helpers4PoolE(log4cxx::rolling::FixedWindowRollingPolicy *ts, const LogString &activeFile, log4cxx::helpers::Pool &p) __attribute__((weak, alias("fixedPolicyRollover_")));
}
-class TestTimeSizePolicy : public log4cxx::rolling::TimeAndSizeBasedRollingPolicy
+class TestTimeSizePolicy : public log4cxx::rolling::TimeAndSizeBasedRollingPolicy
{
public:
- time_t getNextCheckProperty() { return log4cxx::rolling::StrictTimeBasedRollingPolicy::nextCheck; }
- void setNextCheckProperty(time_t val) { log4cxx::rolling::StrictTimeBasedRollingPolicy::nextCheck = val; }
- time_t getNextCheck(time_t now_time) { return log4cxx::rolling::StrictTimeBasedRollingPolicy::getNextCheck(now_time); }
+ time_t getNextCheckProperty() {
+ return log4cxx::rolling::StrictTimeBasedRollingPolicy::nextCheck;
+ }
+ void setNextCheckProperty(time_t val) {
+ log4cxx::rolling::StrictTimeBasedRollingPolicy::nextCheck = val;
+ }
+ time_t getNextCheck(time_t now_time) {
+ return log4cxx::rolling::StrictTimeBasedRollingPolicy::getNextCheck(now_time);
+ }
+
+ log4cxx::pattern::PatternMap getFormatSpecifiers() {
+ return log4cxx::rolling::StrictTimeBasedRollingPolicy::getFormatSpecifiers();
+ };
- log4cxx::pattern::PatternMap getFormatSpecifiers() { return log4cxx::rolling::StrictTimeBasedRollingPolicy::getFormatSpecifiers(); };
-
};
void time_size_policy_constructor_test()
{
- BOOST_MESSAGE( "----- time_size_policy_constructor_test start -----" );
+ BOOST_MESSAGE("----- time_size_policy_constructor_test start -----");
- TestTimeSizePolicy p;
+ TestTimeSizePolicy p;
- //*nextCheckが初期化されていること
- BOOST_CHECK_EQUAL(p.getNextCheckProperty(), 0);
+ //*nextCheckが初期化されていること
+ BOOST_CHECK_EQUAL(p.getNextCheckProperty(), 0);
- //*rotationTimingが初期化されているkと
- BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_YEAR);
+ //*rotationTimingが初期化されているkと
+ BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_YEAR);
- //*rotationTimingValueが初期化されていること
- BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "");
+ //*rotationTimingValueが初期化されていること
+ BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "");
- //*maxFileSizeが初期化されていること
- BOOST_CHECK_EQUAL(p.getMaxFileSize(), (unsigned long long)DEFAULT_MAX_FILE_SIZE);
+ //*maxFileSizeが初期化されていること
+ BOOST_CHECK_EQUAL(p.getMaxFileSize(), (unsigned long long)DEFAULT_MAX_FILE_SIZE);
- BOOST_MESSAGE( "----- time_size_policy_constructor_test end -----" );
+ BOOST_MESSAGE("----- time_size_policy_constructor_test end -----");
}
void time_size_policy_addref_test()
{
- BOOST_MESSAGE( "----- time_size_policy_addref_test start -----" );
+ BOOST_MESSAGE("----- time_size_policy_addref_test start -----");
+
+ TestTimeSizePolicy p;
- TestTimeSizePolicy p;
+ //*triggerinPolicyのaddrefを呼んでいること
+ triggeringPolicyAddRefCalled = 0;
+ p.addRef();
+ BOOST_CHECK_EQUAL(triggeringPolicyAddRefCalled, 1);
- //*triggerinPolicyのaddrefを呼んでいること
- triggeringPolicyAddRefCalled = 0;
- p.addRef();
- BOOST_CHECK_EQUAL(triggeringPolicyAddRefCalled, 1);
-
- BOOST_MESSAGE( "----- time_size_policy_addref_test end -----" );
+ BOOST_MESSAGE("----- time_size_policy_addref_test end -----");
}
void time_size_policy_releaseref_test()
{
- BOOST_MESSAGE( "----- time_size_policy_releaseref_test start -----" );
+ BOOST_MESSAGE("----- time_size_policy_releaseref_test start -----");
- TestTimeSizePolicy p;
+ TestTimeSizePolicy p;
- //*triggeringPolicyのreleaserefを呼んでいること
- triggeringPolicyReleaseRefCalled = 0;
- p.releaseRef();
- BOOST_CHECK_EQUAL(triggeringPolicyReleaseRefCalled, 1);
-
-
- BOOST_MESSAGE( "----- time_size_policy_releaseref_test end -----" );
+ //*triggeringPolicyのreleaserefを呼んでいること
+ triggeringPolicyReleaseRefCalled = 0;
+ p.releaseRef();
+ BOOST_CHECK_EQUAL(triggeringPolicyReleaseRefCalled, 1);
+
+
+ BOOST_MESSAGE("----- time_size_policy_releaseref_test end -----");
}
void time_size_policy_activateoptions_test()
{
- BOOST_MESSAGE( "----- time_size_policy_activateoptions_test start -----" );
+ BOOST_MESSAGE("----- time_size_policy_activateoptions_test start -----");
- TestTimeSizePolicy p;
- log4cxx::helpers::Pool pool;
+ TestTimeSizePolicy p;
+ log4cxx::helpers::Pool pool;
#define DATE_PATTERN "test.log.%d{%Y-%m-%d_%H-%M}"
- //*rotationTimingValueが設定されていなかった時にIlligalStateExceptionを投げること
- p.setFileNamePattern(DATE_PATTERN);
- p.setRotationTimingValue("");
- BOOST_CHECK_THROW(p.activateOptions(pool), log4cxx::helpers::IllegalStateException);
+ //*rotationTimingValueが設定されていなかった時にIlligalStateExceptionを投げること
+ p.setFileNamePattern(DATE_PATTERN);
+ p.setRotationTimingValue("");
+ BOOST_CHECK_THROW(p.activateOptions(pool), log4cxx::helpers::IllegalStateException);
- //*FixedRollingPolicyのactivateOptionsを呼んでいること
- fixedPolicyActivateOptionsCalled = 0;
- p.setRotationTimingValue("02111615");
- p.activateOptions(pool);
- BOOST_CHECK_EQUAL(fixedPolicyActivateOptionsCalled, 1);
+ //*FixedRollingPolicyのactivateOptionsを呼んでいること
+ fixedPolicyActivateOptionsCalled = 0;
+ p.setRotationTimingValue("02111615");
+ p.activateOptions(pool);
+ BOOST_CHECK_EQUAL(fixedPolicyActivateOptionsCalled, 1);
-
- BOOST_MESSAGE( "----- time_size_policy_activateoptions_test end -----" );
+
+ BOOST_MESSAGE("----- time_size_policy_activateoptions_test end -----");
}
void time_size_policy_get_rotation_timing_value_test()
{
- BOOST_MESSAGE( "----- time_size_policy_get_rotation_timing_value_test start -----" );
- TestTimeSizePolicy p;
-
- //*設定されているrotationTimingValueを取得すること
- p.setRotationTimingValue("2020");
- BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "2020");
-
- BOOST_MESSAGE( "----- time_size_policy_get_rotation_timing_value_test end -----" );
+ BOOST_MESSAGE("----- time_size_policy_get_rotation_timing_value_test start -----");
+ TestTimeSizePolicy p;
+
+ //*設定されているrotationTimingValueを取得すること
+ p.setRotationTimingValue("2020");
+ BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "2020");
+
+ BOOST_MESSAGE("----- time_size_policy_get_rotation_timing_value_test end -----");
}
void time_size_policy_set_rotation_timing_value_test()
{
- BOOST_MESSAGE( "----- time_size_policy_set_rotation_timing_value_test start -----" );
- TestTimeSizePolicy p;
-
- //*rotationTimingValueを設定すること
- p.setRotationTimingValue("12311152");
- BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "12311152");
-
-
- BOOST_MESSAGE( "----- time_size_policy_set_rotation_timing_value_test end -----" );
+ BOOST_MESSAGE("----- time_size_policy_set_rotation_timing_value_test start -----");
+ TestTimeSizePolicy p;
+
+ //*rotationTimingValueを設定すること
+ p.setRotationTimingValue("12311152");
+ BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "12311152");
+
+
+ BOOST_MESSAGE("----- time_size_policy_set_rotation_timing_value_test end -----");
}
void time_size_policy_get_rotation_timing_test()
{
- BOOST_MESSAGE( "----- time_size_policy_get_rotation_timing_test start -----" );
- TestTimeSizePolicy p;
-
- //*設定されているrotationTimingを取得すること
- p.setRotationTiming(LOG_TIM_MONTH);
- BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_MONTH);
-
-
- BOOST_MESSAGE( "----- time_size_policy_get_rotation_timing_test end -----" );
+ BOOST_MESSAGE("----- time_size_policy_get_rotation_timing_test start -----");
+ TestTimeSizePolicy p;
+
+ //*設定されているrotationTimingを取得すること
+ p.setRotationTiming(LOG_TIM_MONTH);
+ BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_MONTH);
+
+
+ BOOST_MESSAGE("----- time_size_policy_get_rotation_timing_test end -----");
}
void time_size_policy_set_rotation_timing_test()
{
- BOOST_MESSAGE( "----- time_size_policy_set_rotation_timing_test start -----" );
- TestTimeSizePolicy p;
-
- //*rotationTimingを設定すること
- p.setRotationTiming(LOG_TIM_HOUR);
- BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_HOUR);
-
-
- BOOST_MESSAGE( "----- time_size_policy_set_rotation_timing_test end -----" );
+ BOOST_MESSAGE("----- time_size_policy_set_rotation_timing_test start -----");
+ TestTimeSizePolicy p;
+
+ //*rotationTimingを設定すること
+ p.setRotationTiming(LOG_TIM_HOUR);
+ BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_HOUR);
+
+
+ BOOST_MESSAGE("----- time_size_policy_set_rotation_timing_test end -----");
}
void time_size_policy_get_max_file_size_test()
{
- BOOST_MESSAGE( "----- time_size_policy_get_max_file_size_test start -----" );
- TestTimeSizePolicy p;
-
- //*設定されているmaxFileSizeを取得すること
- p.setMaxFileSize(12345);
- BOOST_CHECK_EQUAL(p.getMaxFileSize(), 12345U);
-
-
- BOOST_MESSAGE( "----- time_size_policy_get_max_file_size_test end -----" );
+ BOOST_MESSAGE("----- time_size_policy_get_max_file_size_test start -----");
+ TestTimeSizePolicy p;
+
+ //*設定されているmaxFileSizeを取得すること
+ p.setMaxFileSize(12345);
+ BOOST_CHECK_EQUAL(p.getMaxFileSize(), 12345U);
+
+
+ BOOST_MESSAGE("----- time_size_policy_get_max_file_size_test end -----");
}
void time_size_policy_set_max_file_size_test()
{
- BOOST_MESSAGE( "----- time_size_policy_set_max_file_size_test start -----" );
- TestTimeSizePolicy p;
-
- //*maxFileSizeを設定すること
- p.setMaxFileSize(564565);
- BOOST_CHECK_EQUAL(p.getMaxFileSize(), 564565U);
-
-
- BOOST_MESSAGE( "----- time_size_policy_set_max_file_size_test end -----" );
+ BOOST_MESSAGE("----- time_size_policy_set_max_file_size_test start -----");
+ TestTimeSizePolicy p;
+
+ //*maxFileSizeを設定すること
+ p.setMaxFileSize(564565);
+ BOOST_CHECK_EQUAL(p.getMaxFileSize(), 564565U);
+
+
+ BOOST_MESSAGE("----- time_size_policy_set_max_file_size_test end -----");
}
void time_size_policy_set_option_test()
{
- BOOST_MESSAGE( "----- time_size_policy_set_option_test start -----" );
- TestTimeSizePolicy p;
-
- //*rotationTimingを設定すること
- p.setRotationTimingValue("");
- p.setOption("rotationtimingvalue", "05050101");
- BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "05050101");
-
- //*rotationTimingValueを設定すること
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setOption("rotationtiming", "1");
- BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_MONTH);
-
- //*FixedWindowRollingPolicyのsetOptionを呼んでいること
- p.setMaxIndex(0);
- fixedPolicySetOptionCalled = 0;
- fixedPolicySetOptionArgOption = "";
- fixedPolicySetOptionArgValue = "";
- p.setOption("maxindex", "123");
- BOOST_CHECK_EQUAL(fixedPolicySetOptionCalled, 1);
- BOOST_CHECK_EQUAL(fixedPolicySetOptionArgOption, "maxindex");
- BOOST_CHECK_EQUAL(fixedPolicySetOptionArgValue, "123");
-
- //*maxFileSizeを設定すること
- p.setMaxFileSize(0);
- p.setOption("maxfilesize", "55555");
- BOOST_CHECK_EQUAL(p.getMaxFileSize(), 55555U);
-
- BOOST_MESSAGE( "----- time_size_policy_set_option_index_test end -----" );
+ BOOST_MESSAGE("----- time_size_policy_set_option_test start -----");
+ TestTimeSizePolicy p;
+
+ //*rotationTimingを設定すること
+ p.setRotationTimingValue("");
+ p.setOption("rotationtimingvalue", "05050101");
+ BOOST_CHECK_EQUAL(p.getRotationTimingValue(), "05050101");
+
+ //*rotationTimingValueを設定すること
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setOption("rotationtiming", "1");
+ BOOST_CHECK_EQUAL(p.getRotationTiming(), LOG_TIM_MONTH);
+
+ //*FixedWindowRollingPolicyのsetOptionを呼んでいること
+ p.setMaxIndex(0);
+ fixedPolicySetOptionCalled = 0;
+ fixedPolicySetOptionArgOption = "";
+ fixedPolicySetOptionArgValue = "";
+ p.setOption("maxindex", "123");
+ BOOST_CHECK_EQUAL(fixedPolicySetOptionCalled, 1);
+ BOOST_CHECK_EQUAL(fixedPolicySetOptionArgOption, "maxindex");
+ BOOST_CHECK_EQUAL(fixedPolicySetOptionArgValue, "123");
+
+ //*maxFileSizeを設定すること
+ p.setMaxFileSize(0);
+ p.setOption("maxfilesize", "55555");
+ BOOST_CHECK_EQUAL(p.getMaxFileSize(), 55555U);
+
+ BOOST_MESSAGE("----- time_size_policy_set_option_index_test end -----");
}
void time_size_policy_initialize_test()
{
- BOOST_MESSAGE( "----- time_size_policy_initialize_test start -----" );
- TestTimeSizePolicy p;
- log4cxx::helpers::Pool pool;
+ BOOST_MESSAGE("----- time_size_policy_initialize_test start -----");
+ TestTimeSizePolicy p;
+ log4cxx::helpers::Pool pool;
- log4cxx::rolling::RolloverDescriptionPtr ret;
+ log4cxx::rolling::RolloverDescriptionPtr ret;
#define CURRENT_ACTIVE_FILE "test_current_active_file"
- //*timeを呼び出していること
- timeCalled = 0;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
-
- //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
- timeCalled = 0;
- timeReturnNow = false;
- timeReturns = -1;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
- timeReturnNow = true;
- timeReturns = 0;
-
- //*getNextCheckを呼び出していること(nextCheckが変更されていること)
- struct tm test_time;
- memset(&test_time, 0, sizeof(struct tm));
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- time_t test_now = mktime(&test_time);
- test_time.tm_year = 109;
- test_time.tm_mon = 0;
- test_time.tm_mday = 15;
- test_time.tm_hour = 12;
- test_time.tm_min = 0;
- time_t test_next = mktime(&test_time);
- timeReturnNow = false;
- timeArg = test_now;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- p.setNextCheckProperty(0);
- ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
- BOOST_CHECK_EQUAL(p.getNextCheckProperty(), test_next);
- timeReturnNow = true;
- timeArg = 0;
-
- //*getNextCheckが失敗した時に空のRolloverDescriptionが帰ってくること
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("AAAAAA");
- ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
-
- //*FixedWindowRollingPolicyのinitializeを呼んでいること
- fixedPolicyInitializeCalled = 0;
- fixedPolicyInitializeArgFile = "";
- fixedPolicyInitializeArgAppend = false;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
- BOOST_CHECK_EQUAL(fixedPolicyInitializeCalled, 1);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
- BOOST_CHECK_EQUAL(fixedPolicyInitializeArgFile, CURRENT_ACTIVE_FILE);
- BOOST_CHECK_EQUAL(fixedPolicyInitializeArgAppend, true);
+ //*timeを呼び出していること
+ timeCalled = 0;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+
+ //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeReturns = -1;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+ timeReturnNow = true;
+ timeReturns = 0;
+
+ //*getNextCheckを呼び出していること(nextCheckが変更されていること)
+ struct tm test_time;
+ memset(&test_time, 0, sizeof(struct tm));
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ time_t test_now = mktime(&test_time);
+ test_time.tm_year = 109;
+ test_time.tm_mon = 0;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 12;
+ test_time.tm_min = 0;
+ time_t test_next = mktime(&test_time);
+ timeReturnNow = false;
+ timeArg = test_now;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ p.setNextCheckProperty(0);
+ ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+ BOOST_CHECK_EQUAL(p.getNextCheckProperty(), test_next);
+ timeReturnNow = true;
+ timeArg = 0;
+
+ //*getNextCheckが失敗した時に空のRolloverDescriptionが帰ってくること
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("AAAAAA");
+ ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+
+ //*FixedWindowRollingPolicyのinitializeを呼んでいること
+ fixedPolicyInitializeCalled = 0;
+ fixedPolicyInitializeArgFile = "";
+ fixedPolicyInitializeArgAppend = false;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.initialize(CURRENT_ACTIVE_FILE, true, pool);
+ BOOST_CHECK_EQUAL(fixedPolicyInitializeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+ BOOST_CHECK_EQUAL(fixedPolicyInitializeArgFile, CURRENT_ACTIVE_FILE);
+ BOOST_CHECK_EQUAL(fixedPolicyInitializeArgAppend, true);
#undef CURRENT_ACTIVE_FILE
-
- BOOST_MESSAGE( "----- time_size_policy_initialize_test end -----" );
+
+ BOOST_MESSAGE("----- time_size_policy_initialize_test end -----");
}
void time_size_policy_get_next_check_test()
{
- BOOST_MESSAGE( "----- time_size_policy_get_next_check_test start -----" );
- TestTimeSizePolicy p;
-
- time_t nc_ret;
- struct tm nc_time;
- struct tm test_time;
- memset(&test_time, 0, sizeof(struct tm));
- time_t test_now = 0;
-
- //*localtime_rを呼び出していること
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- localtime_rCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(localtime_rCalled, 1);
-
- //*localtime_rが失敗した時に-1を返すこと
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- localtime_rFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- localtime_rFail = false;
-
- //*strftimeをLOG_DATE_FORMATを引数に呼び出していること
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- strftimeCalled = 0;
- strftimeArgFormat = "";
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(strftimeCalled, 1);
- BOOST_CHECK_EQUAL(strftimeArgFormat.c_str(), LOG_DATE_FORMAT);
-
- //*strftimeが失敗したときに-1を返すこと
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- strftimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- strftimeFail = false;
-
- //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 年
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("AAAAAA");
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
-
- //*mktimeを呼び出している事 年
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- mktimeCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(mktimeCalled, 1);
-
- //*mktimeが失敗した時 -1を返すこと 年
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- mktimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- mktimeFail = false;
-
- //*nextCheckを取得すること 年 設定日時が未来の場合
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time); //2008/02/12 16:04
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("03100945"); //03/10 09:45
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/03/10 09:45
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 2);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 10);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
-
- //*nextCheckを取得すること 年 設定日時が現在の場合(来年に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time); //2008/02/12 16:04
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02121604"); //02/12 16:04
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2009/02/12 16:04
- BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 12);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 16);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 4);
-
- //*nextCheckを取得すること 年 設定日時が過去の場合(来年に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time); //2008/02/12 16:04
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151500"); //01/15 15:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2009/01/15 15:00
- BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 15);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 15);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
-
-
- //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 月
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("ZZZZZ");
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
-
- //*mktimeを呼び出している事 月
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("151200");
- mktimeCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(mktimeCalled, 1);
-
- //*mktimeが失敗した時 -1を返すこと 月
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("151200");
- mktimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- mktimeFail = false;
-
- //*nextCheckを取得すること 月 設定日時が未来の場合
- test_time.tm_year = 108;
- test_time.tm_mon = 11;
- test_time.tm_mday = 15;
- test_time.tm_hour = 1;
- test_time.tm_min = 5;
- test_now = mktime(&test_time); //2008/12/15 01:05
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("200945"); //20 09:45
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/12/20 09:45
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 11);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 20);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
-
- //*設定日付が存在しない日の場合、存在する日に修正すること
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 15;
- test_time.tm_hour = 14;
- test_time.tm_min = 30;
- test_now = mktime(&test_time); //2008/02/15 14:30
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("310945"); //31 09:45
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/28 09:45
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 28);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
-
- //*nextCheckを取得すること 月 設定日時が現在の場合(来月に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 11;
- test_time.tm_mday = 15;
- test_time.tm_hour = 1;
- test_time.tm_min = 5;
- test_now = mktime(&test_time); //2008/12/15 01:05
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("150105"); //15 01:05
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2009/01/15 01:05
- BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 15);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 5);
-
- //*設定日付が存在しない日の場合、存在する日に修正すること
- test_time.tm_year = 108;
- test_time.tm_mon = 9;
- test_time.tm_mday = 31;
- test_time.tm_hour = 14;
- test_time.tm_min = 30;
- test_now = mktime(&test_time); //2008/10/31 14:30
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("311430"); //31 14:30
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/11/30 14:30
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 10);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 30);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 14);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
-
- //*nextCheckを取得すること 月 設定日時が過去の場合(来月に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 11;
- test_time.tm_mday = 15;
- test_time.tm_hour = 1;
- test_time.tm_min = 5;
- test_now = mktime(&test_time); //2008/12/15 01:05
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("101200"); //10 12:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2009/01/15 01:05
- BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 10);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
- //*設定日付が存在しない日の場合、存在する日に修正すること
- test_time.tm_year = 108;
- test_time.tm_mon = 2;
- test_time.tm_mday = 31;
- test_time.tm_hour = 14;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/03/31 14:00
- p.setRotationTiming(LOG_TIM_MONTH);
- p.setRotationTimingValue("311200"); //31 12:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/04/30 12:00
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 3);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 30);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
-
-
- //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 週
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("ZZZZZ");
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
-
- //*mktimeを呼び出している事 週
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("51200");
- mktimeCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(mktimeCalled, 1);
-
- //*mktimeが失敗した時 -1を返すこと 週
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("51200");
- mktimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- mktimeFail = false;
-
- //*nextCheckを取得すること 週 設定日時が未来の場合
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00(水)
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("41200"); //(木) 12:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/14 12:00(木)
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
- //*nextCheckを取得すること 週 設定日時が現在の場合(翌週に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00(水)
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("30100"); //(水) 1:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/20 01:00(水)
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 20);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
- //*nextCheckを取得すること 月 設定日時が過去の場合(翌週に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00(水)
- p.setRotationTiming(LOG_TIM_WEEK);
- p.setRotationTimingValue("20500"); //(火) 5:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/19 01:00(火)
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 19);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 5);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
-
- //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("NNNN");
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
-
- //*mktimeを呼び出している事 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("1200");
- mktimeCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(mktimeCalled, 1);
-
- //*mktimeが失敗した時 -1を返すこと 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("1200");
- mktimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- mktimeFail = false;
-
- //*nextCheckを取得すること 日 設定日時が未来の場合
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("2359"); //23:59
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/13 23:59
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 23);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 59);
-
- //*nextCheckを取得すること 日 設定日時が現在の場合(翌日に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("0100"); //01:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/14 01:00
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
- //*nextCheckを取得すること 日 設定日時が過去の場合(翌日に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 0;
- test_now = mktime(&test_time); //2008/02/13 01:00
- p.setRotationTiming(LOG_TIM_DATE);
- p.setRotationTimingValue("0000"); //00:00
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/14 00:00
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 0);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
-
-
-
- //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("SS");
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
-
- //*mktimeを呼び出している事 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("15");
- mktimeCalled = 0;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- BOOST_CHECK_EQUAL(mktimeCalled, 1);
-
- //*mktimeが失敗した時 -1を返すこと 日
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- test_now = mktime(&test_time);
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("15");
- mktimeFail = true;
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(nc_ret == -1);
- mktimeFail = false;
-
- //*nextCheckを取得すること 時間 設定日時が未来の場合
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 15;
- test_now = mktime(&test_time); //2008/02/13 01:15
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("30"); //30
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/13 01:30
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
-
- //*nextCheckを取得すること 時間 設定日時が現在の場合(次の時間に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 13;
- test_time.tm_hour = 1;
- test_time.tm_min = 15;
- test_now = mktime(&test_time); //2008/02/13 01:15
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("15"); //15
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/02/13 02:15
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 2);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 15);
-
- //*nextCheckを取得すること 時間 設定日時が過去の場合(次の時間に設定)
- test_time.tm_year = 108;
- test_time.tm_mon = 3;
- test_time.tm_mday = 30;
- test_time.tm_hour = 23;
- test_time.tm_min = 45;
- test_now = mktime(&test_time); //2008/04/30 23:45
- p.setRotationTiming(LOG_TIM_HOUR);
- p.setRotationTimingValue("30"); //30
- nc_ret = p.getNextCheck(test_now);
- BOOST_CHECK(!(nc_ret == -1));
- localtime_r(&nc_ret, &nc_time); //2008/05/01 00:30
- BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
- BOOST_CHECK_EQUAL(nc_time.tm_mon, 4);
- BOOST_CHECK_EQUAL(nc_time.tm_mday, 1);
- BOOST_CHECK_EQUAL(nc_time.tm_hour, 0);
- BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
-
-
- BOOST_MESSAGE( "----- time_size_policy_set_next_check_test end -----" );
+ BOOST_MESSAGE("----- time_size_policy_get_next_check_test start -----");
+ TestTimeSizePolicy p;
+
+ time_t nc_ret;
+ struct tm nc_time;
+ struct tm test_time;
+ memset(&test_time, 0, sizeof(struct tm));
+ time_t test_now = 0;
+
+ //*localtime_rを呼び出していること
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ localtime_rCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(localtime_rCalled, 1);
+
+ //*localtime_rが失敗した時に-1を返すこと
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ localtime_rFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ localtime_rFail = false;
+
+ //*strftimeをLOG_DATE_FORMATを引数に呼び出していること
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ strftimeCalled = 0;
+ strftimeArgFormat = "";
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(strftimeCalled, 1);
+ BOOST_CHECK_EQUAL(strftimeArgFormat.c_str(), LOG_DATE_FORMAT);
+
+ //*strftimeが失敗したときに-1を返すこと
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ strftimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ strftimeFail = false;
+
+ //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 年
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("AAAAAA");
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+
+ //*mktimeを呼び出している事 年
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ mktimeCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(mktimeCalled, 1);
+
+ //*mktimeが失敗した時 -1を返すこと 年
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ mktimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ mktimeFail = false;
+
+ //*nextCheckを取得すること 年 設定日時が未来の場合
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time); //2008/02/12 16:04
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("03100945"); //03/10 09:45
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/03/10 09:45
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 2);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 10);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
+
+ //*nextCheckを取得すること 年 設定日時が現在の場合(来年に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time); //2008/02/12 16:04
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02121604"); //02/12 16:04
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2009/02/12 16:04
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 12);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 16);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 4);
+
+ //*nextCheckを取得すること 年 設定日時が過去の場合(来年に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time); //2008/02/12 16:04
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151500"); //01/15 15:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2009/01/15 15:00
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 15);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 15);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+
+
+ //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 月
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("ZZZZZ");
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+
+ //*mktimeを呼び出している事 月
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("151200");
+ mktimeCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(mktimeCalled, 1);
+
+ //*mktimeが失敗した時 -1を返すこと 月
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("151200");
+ mktimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ mktimeFail = false;
+
+ //*nextCheckを取得すること 月 設定日時が未来の場合
+ test_time.tm_year = 108;
+ test_time.tm_mon = 11;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 5;
+ test_now = mktime(&test_time); //2008/12/15 01:05
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("200945"); //20 09:45
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/12/20 09:45
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 11);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 20);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
+
+ //*設定日付が存在しない日の場合、存在する日に修正すること
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 14;
+ test_time.tm_min = 30;
+ test_now = mktime(&test_time); //2008/02/15 14:30
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("310945"); //31 09:45
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/28 09:45
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 28);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 9);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 45);
+
+ //*nextCheckを取得すること 月 設定日時が現在の場合(来月に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 11;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 5;
+ test_now = mktime(&test_time); //2008/12/15 01:05
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("150105"); //15 01:05
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2009/01/15 01:05
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 15);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 5);
+
+ //*設定日付が存在しない日の場合、存在する日に修正すること
+ test_time.tm_year = 108;
+ test_time.tm_mon = 9;
+ test_time.tm_mday = 31;
+ test_time.tm_hour = 14;
+ test_time.tm_min = 30;
+ test_now = mktime(&test_time); //2008/10/31 14:30
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("311430"); //31 14:30
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/11/30 14:30
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 10);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 30);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 14);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
+
+ //*nextCheckを取得すること 月 設定日時が過去の場合(来月に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 11;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 5;
+ test_now = mktime(&test_time); //2008/12/15 01:05
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("101200"); //10 12:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2009/01/15 01:05
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 109);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 0);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 10);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+ //*設定日付が存在しない日の場合、存在する日に修正すること
+ test_time.tm_year = 108;
+ test_time.tm_mon = 2;
+ test_time.tm_mday = 31;
+ test_time.tm_hour = 14;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/03/31 14:00
+ p.setRotationTiming(LOG_TIM_MONTH);
+ p.setRotationTimingValue("311200"); //31 12:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/04/30 12:00
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 3);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 30);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+
+
+ //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 週
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("ZZZZZ");
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+
+ //*mktimeを呼び出している事 週
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("51200");
+ mktimeCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(mktimeCalled, 1);
+
+ //*mktimeが失敗した時 -1を返すこと 週
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("51200");
+ mktimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ mktimeFail = false;
+
+ //*nextCheckを取得すること 週 設定日時が未来の場合
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00(水)
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("41200"); //(木) 12:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/14 12:00(木)
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 12);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+ //*nextCheckを取得すること 週 設定日時が現在の場合(翌週に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00(水)
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("30100"); //(水) 1:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/20 01:00(水)
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 20);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+ //*nextCheckを取得すること 月 設定日時が過去の場合(翌週に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00(水)
+ p.setRotationTiming(LOG_TIM_WEEK);
+ p.setRotationTimingValue("20500"); //(火) 5:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/19 01:00(火)
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 19);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 5);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+
+ //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("NNNN");
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+
+ //*mktimeを呼び出している事 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("1200");
+ mktimeCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(mktimeCalled, 1);
+
+ //*mktimeが失敗した時 -1を返すこと 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("1200");
+ mktimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ mktimeFail = false;
+
+ //*nextCheckを取得すること 日 設定日時が未来の場合
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("2359"); //23:59
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/13 23:59
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 23);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 59);
+
+ //*nextCheckを取得すること 日 設定日時が現在の場合(翌日に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("0100"); //01:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/14 01:00
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+ //*nextCheckを取得すること 日 設定日時が過去の場合(翌日に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 0;
+ test_now = mktime(&test_time); //2008/02/13 01:00
+ p.setRotationTiming(LOG_TIM_DATE);
+ p.setRotationTimingValue("0000"); //00:00
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/14 00:00
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 14);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 0);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 0);
+
+
+
+ //*rotationTimingValueに不正な値が入っていた場合、-1を返すこと 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("SS");
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+
+ //*mktimeを呼び出している事 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("15");
+ mktimeCalled = 0;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ BOOST_CHECK_EQUAL(mktimeCalled, 1);
+
+ //*mktimeが失敗した時 -1を返すこと 日
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ test_now = mktime(&test_time);
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("15");
+ mktimeFail = true;
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(nc_ret == -1);
+ mktimeFail = false;
+
+ //*nextCheckを取得すること 時間 設定日時が未来の場合
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 15;
+ test_now = mktime(&test_time); //2008/02/13 01:15
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("30"); //30
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/13 01:30
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
+
+ //*nextCheckを取得すること 時間 設定日時が現在の場合(次の時間に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 13;
+ test_time.tm_hour = 1;
+ test_time.tm_min = 15;
+ test_now = mktime(&test_time); //2008/02/13 01:15
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("15"); //15
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/02/13 02:15
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 13);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 2);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 15);
+
+ //*nextCheckを取得すること 時間 設定日時が過去の場合(次の時間に設定)
+ test_time.tm_year = 108;
+ test_time.tm_mon = 3;
+ test_time.tm_mday = 30;
+ test_time.tm_hour = 23;
+ test_time.tm_min = 45;
+ test_now = mktime(&test_time); //2008/04/30 23:45
+ p.setRotationTiming(LOG_TIM_HOUR);
+ p.setRotationTimingValue("30"); //30
+ nc_ret = p.getNextCheck(test_now);
+ BOOST_CHECK(!(nc_ret == -1));
+ localtime_r(&nc_ret, &nc_time); //2008/05/01 00:30
+ BOOST_CHECK_EQUAL(nc_time.tm_year, 108);
+ BOOST_CHECK_EQUAL(nc_time.tm_mon, 4);
+ BOOST_CHECK_EQUAL(nc_time.tm_mday, 1);
+ BOOST_CHECK_EQUAL(nc_time.tm_hour, 0);
+ BOOST_CHECK_EQUAL(nc_time.tm_min, 30);
+
+
+ BOOST_MESSAGE("----- time_size_policy_set_next_check_test end -----");
}
void time_size_policy_rollover_test()
{
- BOOST_MESSAGE( "----- time_size_policy_rollover_test start -----" );
- TestTimeSizePolicy p;
- log4cxx::helpers::Pool pool;
- log4cxx::rolling::RolloverDescriptionPtr ret;
+ BOOST_MESSAGE("----- time_size_policy_rollover_test start -----");
+ TestTimeSizePolicy p;
+ log4cxx::helpers::Pool pool;
+ log4cxx::rolling::RolloverDescriptionPtr ret;
#define TEST_FILE_NAME "test_file_name"
#define CURRENT_ACTIVE_FILE "current_active_file"
- //*timeを呼び出していること
- timeCalled = 0;
- formatFileNameArgBuf = TEST_FILE_NAME;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
-
- //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
- timeCalled = 0;
- timeReturnNow = false;
- timeReturns = -1;
- formatFileNameArgBuf = TEST_FILE_NAME;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
- timeReturnNow = true;
- timeReturns = 0;
-
- //*getNextCheckを呼び出していること(nextCheckが変更されていること)
- struct tm test_time;
- memset(&test_time, 0, sizeof(struct tm));
- test_time.tm_year = 108;
- test_time.tm_mon = 1;
- test_time.tm_mday = 12;
- test_time.tm_hour = 16;
- test_time.tm_min = 4;
- time_t test_now = mktime(&test_time);
- test_time.tm_year = 109;
- test_time.tm_mon = 0;
- test_time.tm_mday = 15;
- test_time.tm_hour = 12;
- test_time.tm_min = 0;
- time_t test_next = mktime(&test_time);
- timeReturnNow = false;
- timeArg = test_now;
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("01151200");
- p.setNextCheckProperty(0);
- ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
- BOOST_CHECK_EQUAL(p.getNextCheckProperty(), test_next);
- timeReturnNow = true;
- timeArg = 0;
-
- //*getNextCheckが失敗した時に空のRolloverDescriptionが帰ってくること
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("AAAAAA");
- ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
-
- //*FixedWindowRollingPolicyのrolloverを呼んでいること
- fixedPolicyRolloverCalled = 0;
- fixedPolicyRolloverArgActiveFile = "";
- p.setRotationTiming(LOG_TIM_YEAR);
- p.setRotationTimingValue("02111615");
- ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
- BOOST_CHECK_EQUAL(fixedPolicyRolloverCalled, 1);
- BOOST_CHECK_EQUAL(fixedPolicyRolloverArgActiveFile, CURRENT_ACTIVE_FILE);
- BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+ //*timeを呼び出していること
+ timeCalled = 0;
+ formatFileNameArgBuf = TEST_FILE_NAME;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+
+ //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeReturns = -1;
+ formatFileNameArgBuf = TEST_FILE_NAME;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+ timeReturnNow = true;
+ timeReturns = 0;
+
+ //*getNextCheckを呼び出していること(nextCheckが変更されていること)
+ struct tm test_time;
+ memset(&test_time, 0, sizeof(struct tm));
+ test_time.tm_year = 108;
+ test_time.tm_mon = 1;
+ test_time.tm_mday = 12;
+ test_time.tm_hour = 16;
+ test_time.tm_min = 4;
+ time_t test_now = mktime(&test_time);
+ test_time.tm_year = 109;
+ test_time.tm_mon = 0;
+ test_time.tm_mday = 15;
+ test_time.tm_hour = 12;
+ test_time.tm_min = 0;
+ time_t test_next = mktime(&test_time);
+ timeReturnNow = false;
+ timeArg = test_now;
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("01151200");
+ p.setNextCheckProperty(0);
+ ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+ BOOST_CHECK_EQUAL(p.getNextCheckProperty(), test_next);
+ timeReturnNow = true;
+ timeArg = 0;
+
+ //*getNextCheckが失敗した時に空のRolloverDescriptionが帰ってくること
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("AAAAAA");
+ ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
+
+ //*FixedWindowRollingPolicyのrolloverを呼んでいること
+ fixedPolicyRolloverCalled = 0;
+ fixedPolicyRolloverArgActiveFile = "";
+ p.setRotationTiming(LOG_TIM_YEAR);
+ p.setRotationTimingValue("02111615");
+ ret = p.rollover(CURRENT_ACTIVE_FILE, pool);
+ BOOST_CHECK_EQUAL(fixedPolicyRolloverCalled, 1);
+ BOOST_CHECK_EQUAL(fixedPolicyRolloverArgActiveFile, CURRENT_ACTIVE_FILE);
+ BOOST_CHECK_EQUAL(ret, (log4cxx::rolling::RolloverDescriptionPtr)0);
#undef CURRENT_ACTIVE_FILE
#undef TEST_FILE_NAME
-
- BOOST_MESSAGE( "----- time_size_policy_rollover_test end -----" );
+
+ BOOST_MESSAGE("----- time_size_policy_rollover_test end -----");
}
void time_size_policy_is_triggering_event_test()
{
- BOOST_MESSAGE( "----- time_size_policy_is_triggering_event_test start -----" );
- TestTimeSizePolicy p;
-
- bool ret;
- log4cxx::AppenderPtr argAppender;
- log4cxx::spi::LoggingEventPtr argEvent;
- LogString filename;
- size_t filelength = 50000;
-
- //filelengthがmaxFileSizeに満たない場合
-
- //*timeを呼び出していること
- timeCalled = 0;
- timeReturnNow = false;
- timeArg = 10;
- p.setNextCheckProperty(5);
- p.setMaxFileSize(100000);
- ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, true);
- timeArg = 0;
- timeReturnNow = true;
-
- //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
- timeCalled = 0;
- timeReturnNow = false;
- timeReturns = -1;
- p.setNextCheckProperty(5);
- p.setMaxFileSize(100000);
- ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, false);
- timeReturnNow = true;
- timeReturns = 0;
-
- //*timeで取得した時間とnextCheckを比較してtimeで取得した時間が大きい時にtrueを返却すること
- timeCalled = 0;
- timeReturnNow = false;
- timeArg = 10;
- p.setNextCheckProperty(5);
- p.setMaxFileSize(100000);
- ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, true);
- timeArg = 0;
- timeReturnNow = true;
-
- //*nextCheckが大きい時にfalseを返すこと
- timeCalled = 0;
- timeReturnNow = false;
- timeArg = 5;
- p.setNextCheckProperty(10);
- p.setMaxFileSize(100000);
- ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
- BOOST_CHECK_EQUAL(timeCalled, 1);
- BOOST_CHECK_EQUAL(ret, false);
- timeArg = 0;
- timeReturnNow = true;
-
-
- //filelengthがmaxFileSizeに以上の場合
- filelength = 200000;
-
- //*timeを呼び出していないこと
- timeCalled = 0;
- timeReturnNow = false;
- timeArg = 10;
- p.setNextCheckProperty(5);
- p.setMaxFileSize(100000);
- ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
- BOOST_CHECK_EQUAL(timeCalled, 0);
- BOOST_CHECK_EQUAL(ret, true);
- timeArg = 0;
- timeReturnNow = true;
-
- //*timeで取得した時間とnextCheckを比較してtimeで取得した時間が大きい時かつ、ファイルサイズも超えている時ににtrueを返却すること
- timeCalled = 0;
- timeReturnNow = false;
- timeArg = 10;
- p.setNextCheckProperty(5);
- p.setMaxFileSize(100000);
- ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
- BOOST_CHECK_EQUAL(timeCalled, 0);
- BOOST_CHECK_EQUAL(ret, true);
- timeArg = 0;
- timeReturnNow = true;
-
- //*nextCheckが大きい時でもファイルサイズが超えていたらtrueを返すこと
- timeCalled = 0;
- timeReturnNow = false;
- timeArg = 5;
- p.setNextCheckProperty(10);
- p.setMaxFileSize(100000);
- ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
- BOOST_CHECK_EQUAL(timeCalled, 0);
- BOOST_CHECK_EQUAL(ret, true);
- timeArg = 0;
- timeReturnNow = true;
-
-
-
- BOOST_MESSAGE( "----- time_size_policy_is_triggering_event_test end -----" );
+ BOOST_MESSAGE("----- time_size_policy_is_triggering_event_test start -----");
+ TestTimeSizePolicy p;
+
+ bool ret;
+ log4cxx::AppenderPtr argAppender;
+ log4cxx::spi::LoggingEventPtr argEvent;
+ LogString filename;
+ size_t filelength = 50000;
+
+ //filelengthがmaxFileSizeに満たない場合
+
+ //*timeを呼び出していること
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeArg = 10;
+ p.setNextCheckProperty(5);
+ p.setMaxFileSize(100000);
+ ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, true);
+ timeArg = 0;
+ timeReturnNow = true;
+
+ //*timeが失敗した時に空のRolloverDescriptionが帰ってくること
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeReturns = -1;
+ p.setNextCheckProperty(5);
+ p.setMaxFileSize(100000);
+ ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, false);
+ timeReturnNow = true;
+ timeReturns = 0;
+
+ //*timeで取得した時間とnextCheckを比較してtimeで取得した時間が大きい時にtrueを返却すること
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeArg = 10;
+ p.setNextCheckProperty(5);
+ p.setMaxFileSize(100000);
+ ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, true);
+ timeArg = 0;
+ timeReturnNow = true;
+
+ //*nextCheckが大きい時にfalseを返すこと
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeArg = 5;
+ p.setNextCheckProperty(10);
+ p.setMaxFileSize(100000);
+ ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
+ BOOST_CHECK_EQUAL(timeCalled, 1);
+ BOOST_CHECK_EQUAL(ret, false);
+ timeArg = 0;
+ timeReturnNow = true;
+
+
+ //filelengthがmaxFileSizeに以上の場合
+ filelength = 200000;
+
+ //*timeを呼び出していないこと
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeArg = 10;
+ p.setNextCheckProperty(5);
+ p.setMaxFileSize(100000);
+ ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
+ BOOST_CHECK_EQUAL(timeCalled, 0);
+ BOOST_CHECK_EQUAL(ret, true);
+ timeArg = 0;
+ timeReturnNow = true;
+
+ //*timeで取得した時間とnextCheckを比較してtimeで取得した時間が大きい時かつ、ファイルサイズも超えている時ににtrueを返却すること
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeArg = 10;
+ p.setNextCheckProperty(5);
+ p.setMaxFileSize(100000);
+ ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
+ BOOST_CHECK_EQUAL(timeCalled, 0);
+ BOOST_CHECK_EQUAL(ret, true);
+ timeArg = 0;
+ timeReturnNow = true;
+
+ //*nextCheckが大きい時でもファイルサイズが超えていたらtrueを返すこと
+ timeCalled = 0;
+ timeReturnNow = false;
+ timeArg = 5;
+ p.setNextCheckProperty(10);
+ p.setMaxFileSize(100000);
+ ret = p.isTriggeringEvent(argAppender, argEvent, filename, filelength);
+ BOOST_CHECK_EQUAL(timeCalled, 0);
+ BOOST_CHECK_EQUAL(ret, true);
+ timeArg = 0;
+ timeReturnNow = true;
+
+
+
+ BOOST_MESSAGE("----- time_size_policy_is_triggering_event_test end -----");
}
test_suite*
-init_unit_test_suite(int argc, char* argv[])
+init_unit_test_suite(int argc, char *argv[])
{
- test_suite* test = BOOST_TEST_SUITE("logger_test");
-
- test->add(BOOST_TEST_CASE(time_size_policy_constructor_test));
- test->add(BOOST_TEST_CASE(time_size_policy_addref_test));
- test->add(BOOST_TEST_CASE(time_size_policy_releaseref_test));
- test->add(BOOST_TEST_CASE(time_size_policy_activateoptions_test));
- test->add(BOOST_TEST_CASE(time_size_policy_get_rotation_timing_value_test));
- test->add(BOOST_TEST_CASE(time_size_policy_set_rotation_timing_value_test));
- test->add(BOOST_TEST_CASE(time_size_policy_get_rotation_timing_test));
- test->add(BOOST_TEST_CASE(time_size_policy_set_rotation_timing_test));
- test->add(BOOST_TEST_CASE(time_size_policy_get_max_file_size_test));
- test->add(BOOST_TEST_CASE(time_size_policy_set_max_file_size_test));
- test->add(BOOST_TEST_CASE(time_size_policy_set_option_test));
- test->add(BOOST_TEST_CASE(time_size_policy_initialize_test));
- test->add(BOOST_TEST_CASE(time_size_policy_get_next_check_test));
- test->add(BOOST_TEST_CASE(time_size_policy_rollover_test));
- test->add(BOOST_TEST_CASE(time_size_policy_is_triggering_event_test));
-
- return test;
+ test_suite *test = BOOST_TEST_SUITE("logger_test");
+
+ test->add(BOOST_TEST_CASE(time_size_policy_constructor_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_addref_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_releaseref_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_activateoptions_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_get_rotation_timing_value_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_set_rotation_timing_value_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_get_rotation_timing_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_set_rotation_timing_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_get_max_file_size_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_set_max_file_size_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_set_option_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_initialize_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_get_next_check_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_rollover_test));
+ test->add(BOOST_TEST_CASE(time_size_policy_is_triggering_event_test));
+
+ return test;
};
#include "../../src/l7vsadm.cpp"
#ifndef COMMAND_BUFFER_SIZE
- #define COMMAND_BUFFER_SIZE (65535)
+#define COMMAND_BUFFER_SIZE (65535)
#endif
#ifndef L7VS_CONFIG_SOCKNAME
- #define L7VS_CONFIG_SOCKNAME "./l7vs"
+#define L7VS_CONFIG_SOCKNAME "./l7vs"
#endif
using namespace boost::unit_test_framework;
// test class
-class l7vsadm_test :public l7vs::l7vsadm {
+class l7vsadm_test : public l7vs::l7vsadm
+{
public:
- l7vs::l7vsadm_request& get_request() { return request; }
- l7vs::l7vsd_response& get_response() { return response; }
+ l7vs::l7vsadm_request &get_request() {
+ return request;
+ }
+ l7vs::l7vsd_response &get_response() {
+ return response;
+ }
- l7vs::error_code& get_error() { return l7vsadm_err; }
+ l7vs::error_code &get_error() {
+ return l7vsadm_err;
+ }
- bool& get_numeric() { return numeric_flag; }
+ bool &get_numeric() {
+ return numeric_flag;
+ }
- bool parse_list_func_wp( l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char* argv[] )
- { return parse_list_func( cmd, argc, argv ); }
+ bool parse_list_func_wp(l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char *argv[]) {
+ return parse_list_func(cmd, argc, argv);
+ }
- bool parse_opt_vs_target_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_target_func( pos, argc, argv ); }
+ bool parse_opt_vs_target_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_target_func(pos, argc, argv);
+ }
- bool parse_opt_vs_module_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_module_func( pos, argc, argv ); }
+ bool parse_opt_vs_module_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_module_func(pos, argc, argv);
+ }
- bool parse_opt_vs_scheduler_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_scheduler_func( pos, argc, argv ); }
+ bool parse_opt_vs_scheduler_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_scheduler_func(pos, argc, argv);
+ }
- bool parse_opt_vs_upper_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_upper_func( pos, argc, argv ); }
+ bool parse_opt_vs_upper_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_upper_func(pos, argc, argv);
+ }
- bool parse_opt_vs_bypass_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_bypass_func( pos, argc, argv ); }
+ bool parse_opt_vs_bypass_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_bypass_func(pos, argc, argv);
+ }
- bool parse_opt_vs_flag_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_flag_func( pos, argc, argv ); }
+ bool parse_opt_vs_flag_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_flag_func(pos, argc, argv);
+ }
- bool parse_opt_vs_qosup_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_qosup_func( pos, argc, argv ); }
+ bool parse_opt_vs_qosup_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_qosup_func(pos, argc, argv);
+ }
- bool parse_opt_vs_qosdown_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_qosdown_func( pos, argc, argv ); }
+ bool parse_opt_vs_qosdown_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_qosdown_func(pos, argc, argv);
+ }
- bool parse_opt_vs_udp_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_udp_func( pos, argc, argv ); }
+ bool parse_opt_vs_udp_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_udp_func(pos, argc, argv);
+ }
- bool parse_opt_vs_ssl_file_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_ssl_file_func( pos, argc, argv ); }
+ bool parse_opt_vs_ssl_file_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_ssl_file_func(pos, argc, argv);
+ }
- bool parse_opt_vs_access_log_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_access_log_func( pos, argc, argv ); }
+ bool parse_opt_vs_access_log_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_access_log_func(pos, argc, argv);
+ }
- bool parse_opt_vs_access_log_logrotate_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_access_log_logrotate_func( pos, argc, argv ); }
+ bool parse_opt_vs_access_log_logrotate_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_access_log_logrotate_func(pos, argc, argv);
+ }
- bool parse_opt_vs_socket_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_socket_func( pos, argc, argv ); }
+ bool parse_opt_vs_socket_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_socket_func(pos, argc, argv);
+ }
- bool parse_vs_func_wp( l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char* argv[] )
- { return parse_vs_func( cmd, argc, argv ); }
+ bool parse_vs_func_wp(l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char *argv[]) {
+ return parse_vs_func(cmd, argc, argv);
+ }
- bool parse_opt_rs_weight_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_rs_weight_func( pos, argc, argv ); }
+ bool parse_opt_rs_weight_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_rs_weight_func(pos, argc, argv);
+ }
- bool parse_opt_rs_realserver_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_rs_realserver_func( pos, argc, argv ); }
+ bool parse_opt_rs_realserver_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_rs_realserver_func(pos, argc, argv);
+ }
- bool parse_rs_func_wp( l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char* argv[] )
- { return parse_rs_func( cmd, argc, argv ); }
+ bool parse_rs_func_wp(l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char *argv[]) {
+ return parse_rs_func(cmd, argc, argv);
+ }
- bool parse_opt_replication_switch_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_replication_switch_func( pos, argc, argv ); }
+ bool parse_opt_replication_switch_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_replication_switch_func(pos, argc, argv);
+ }
- bool parse_opt_replication_force_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_replication_force_func( pos, argc, argv ); }
+ bool parse_opt_replication_force_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_replication_force_func(pos, argc, argv);
+ }
- bool parse_opt_replication_dump_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_replication_dump_func( pos, argc, argv ); }
+ bool parse_opt_replication_dump_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_replication_dump_func(pos, argc, argv);
+ }
- bool parse_replication_func_wp( l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char* argv[] )
- { return parse_replication_func( cmd, argc, argv ); }
+ bool parse_replication_func_wp(l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char *argv[]) {
+ return parse_replication_func(cmd, argc, argv);
+ }
- bool parse_opt_log_category_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_log_category_func( pos, argc, argv ); }
+ bool parse_opt_log_category_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_log_category_func(pos, argc, argv);
+ }
- bool parse_opt_log_level_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_log_level_func( pos, argc, argv ); }
+ bool parse_opt_log_level_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_log_level_func(pos, argc, argv);
+ }
- bool parse_log_func_wp( l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char* argv[] )
- { return parse_log_func( cmd, argc, argv ); }
+ bool parse_log_func_wp(l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char *argv[]) {
+ return parse_log_func(cmd, argc, argv);
+ }
- bool parse_opt_snmp_log_category_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_snmp_log_category_func( pos, argc, argv ); }
+ bool parse_opt_snmp_log_category_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_snmp_log_category_func(pos, argc, argv);
+ }
- bool parse_opt_snmp_log_level_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_snmp_log_level_func( pos, argc, argv ); }
+ bool parse_opt_snmp_log_level_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_snmp_log_level_func(pos, argc, argv);
+ }
- bool parse_snmp_func_wp( l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char* argv[] )
- { return parse_snmp_func( cmd, argc, argv ); }
+ bool parse_snmp_func_wp(l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char *argv[]) {
+ return parse_snmp_func(cmd, argc, argv);
+ }
- bool parse_opt_parameter_reload_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_parameter_reload_func( pos, argc, argv ); }
+ bool parse_opt_parameter_reload_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_parameter_reload_func(pos, argc, argv);
+ }
- bool parse_parameter_func_wp( l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char* argv[] )
- { return parse_parameter_func( cmd, argc, argv ); }
+ bool parse_parameter_func_wp(l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd, int argc, char *argv[]) {
+ return parse_parameter_func(cmd, argc, argv);
+ }
- bool execute_wp( int argc, char* argv[] )
- { return execute( argc, argv ); }
+ bool execute_wp(int argc, char *argv[]) {
+ return execute(argc, argv);
+ }
- bool parse_opt_vs_fwdmode_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_vs_fwdmode_func( pos, argc, argv ); }
+ bool parse_opt_vs_fwdmode_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_vs_fwdmode_func(pos, argc, argv);
+ }
- bool parse_opt_rs_fwdmode_func_wp( int& pos, int argc, char* argv[] )
- { return parse_opt_rs_fwdmode_func( pos, argc, argv ); }
+ bool parse_opt_rs_fwdmode_func_wp(int &pos, int argc, char *argv[]) {
+ return parse_opt_rs_fwdmode_func(pos, argc, argv);
+ }
- static void file_lock_class_test();
+ static void file_lock_class_test();
};
l7vs::l7vsd_response test_response;
//functions
-void server_thread(){
- using boost::asio::local::stream_protocol;
-
- boost::array< char,COMMAND_BUFFER_SIZE > buf;
- buf.assign( 0x00 );
-
- // accept
- std::cout << "sock:" << L7VS_CONFIG_SOCKNAME << std::endl;
- boost::asio::io_service server_io;
- stream_protocol::acceptor acc( server_io,
- stream_protocol::endpoint( L7VS_CONFIG_SOCKNAME ) );
- stream_protocol::socket s( server_io );
-
- // ready to accept
- accept_ready = true;
- //accept_condition.notify_all();
- //std::cout << "accept_ready" << std::endl;
-
- acc.accept( s );
- //std::cout << "accepted" << std::endl;
-
- // recv request
- s.read_some( boost::asio::buffer( buf ) );
- //std::cout << "read_done" << std::endl;
-
- std::stringstream recv_stream;
- recv_stream << &(buf[0]);
- boost::archive::text_iarchive ia( recv_stream );
- ia >> test_request;
-
- std::stringstream send_stream;
- boost::archive::text_oarchive oa( send_stream );
- oa << (const l7vs::l7vsd_response&) test_response;
-
- // send response
- boost::asio::write( s, boost::asio::buffer( send_stream.str() ) );
- //std::cout << "write_done" << std::endl;
-
- s.close();
-
- unlink( L7VS_CONFIG_SOCKNAME );
- //std::cout << "unlink" << std::endl;
+void server_thread()
+{
+ using boost::asio::local::stream_protocol;
+
+ boost::array< char, COMMAND_BUFFER_SIZE > buf;
+ buf.assign(0x00);
+
+ // accept
+ std::cout << "sock:" << L7VS_CONFIG_SOCKNAME << std::endl;
+ boost::asio::io_service server_io;
+ stream_protocol::acceptor acc(server_io,
+ stream_protocol::endpoint(L7VS_CONFIG_SOCKNAME));
+ stream_protocol::socket s(server_io);
+
+ // ready to accept
+ accept_ready = true;
+ //accept_condition.notify_all();
+ //std::cout << "accept_ready" << std::endl;
+
+ acc.accept(s);
+ //std::cout << "accepted" << std::endl;
+
+ // recv request
+ s.read_some(boost::asio::buffer(buf));
+ //std::cout << "read_done" << std::endl;
+
+ std::stringstream recv_stream;
+ recv_stream << &(buf[0]);
+ boost::archive::text_iarchive ia(recv_stream);
+ ia >> test_request;
+
+ std::stringstream send_stream;
+ boost::archive::text_oarchive oa(send_stream);
+ oa << (const l7vs::l7vsd_response &) test_response;
+
+ // send response
+ boost::asio::write(s, boost::asio::buffer(send_stream.str()));
+ //std::cout << "write_done" << std::endl;
+
+ s.close();
+
+ unlink(L7VS_CONFIG_SOCKNAME);
+ //std::cout << "unlink" << std::endl;
}
//util
template< typename InternetProtocol >
-boost::asio::ip::basic_endpoint< InternetProtocol > string_to_endpoint( std::string str ){
- std::string::size_type pos = str.rfind( ":" );
- std::string hostname = str.substr( 0, pos );
- std::string portname = str.substr( pos+1, str.length() );
- //remove "[","]"
- boost::algorithm::erase_first( hostname, "[" );
- boost::algorithm::erase_last( hostname, "]" );
-
- boost::asio::io_service io_service;
- typename InternetProtocol::resolver resolver(io_service);
- typename InternetProtocol::resolver::query query( hostname, portname );
- typename InternetProtocol::resolver::iterator end;
- typename InternetProtocol::resolver::iterator itr = resolver.resolve( query );
- if( itr == end ) return typename InternetProtocol::endpoint();
- return *itr;
+boost::asio::ip::basic_endpoint< InternetProtocol > string_to_endpoint(std::string str)
+{
+ std::string::size_type pos = str.rfind(":");
+ std::string hostname = str.substr(0, pos);
+ std::string portname = str.substr(pos + 1, str.length());
+ //remove "[","]"
+ boost::algorithm::erase_first(hostname, "[");
+ boost::algorithm::erase_last(hostname, "]");
+
+ boost::asio::io_service io_service;
+ typename InternetProtocol::resolver resolver(io_service);
+ typename InternetProtocol::resolver::query query(hostname, portname);
+ typename InternetProtocol::resolver::iterator end;
+ typename InternetProtocol::resolver::iterator itr = resolver.resolve(query);
+ if (itr == end) return typename InternetProtocol::endpoint();
+ return *itr;
}
//--tests--
-void parse_list_func_test(){
- BOOST_MESSAGE( "----- parse_list_func_test start -----" );
-
- // parse_list_func normal case 1 (no option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
- int argc = 2;
- char* argv[] = { "l7vsadm_test", "-l" };
-
- bool ret = adm.parse_list_func_wp( cmd, argc, argv );
-
- // unit_test[1] parse_list_func normal case 1 (no option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[2] parse_list_func normal case 1 (no option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_LIST );
- }
-
- // parse_list_func normal case 2 (with num option short)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-l", "-n" };
-
- bool ret = adm.parse_list_func_wp( cmd, argc, argv );
-
- // unit_test[3] parse_list_func normal case 2 (with num option short) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[4] parse_list_func normal case 2 (with num option short) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_LIST );
- // unit_test[5] parse_list_func normal case 2 (with num option short) nummeric flag check
- BOOST_CHECK_EQUAL( adm.get_numeric(), true );
- }
-
- // parse_list_func normal case 3 (with num option long)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-l", "--numeric" };
-
- bool ret = adm.parse_list_func_wp( cmd, argc, argv );
-
- // unit_test[6] parse_list_func normal case 3 (with num option long) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[7] parse_list_func normal case 3 (with num option long) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_LIST );
- // unit_test[8] parse_list_func normal case 3 (with num option long) nummeric flag check
- BOOST_CHECK_EQUAL( adm.get_numeric(), true );
- }
-
- // parse_list_func error case 1 (invarid option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-l", "-z" };
-
- bool ret = adm.parse_list_func_wp( cmd, argc, argv );
-
- // unit_test[9] parse_list_func error case 1 (invarid option) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_list_func_test end -----" );
+void parse_list_func_test()
+{
+ BOOST_MESSAGE("----- parse_list_func_test start -----");
+
+ // parse_list_func normal case 1 (no option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
+ int argc = 2;
+ char *argv[] = { "l7vsadm_test", "-l" };
+
+ bool ret = adm.parse_list_func_wp(cmd, argc, argv);
+
+ // unit_test[1] parse_list_func normal case 1 (no option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[2] parse_list_func normal case 1 (no option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_LIST);
+ }
+
+ // parse_list_func normal case 2 (with num option short)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-l", "-n" };
+
+ bool ret = adm.parse_list_func_wp(cmd, argc, argv);
+
+ // unit_test[3] parse_list_func normal case 2 (with num option short) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[4] parse_list_func normal case 2 (with num option short) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_LIST);
+ // unit_test[5] parse_list_func normal case 2 (with num option short) nummeric flag check
+ BOOST_CHECK_EQUAL(adm.get_numeric(), true);
+ }
+
+ // parse_list_func normal case 3 (with num option long)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-l", "--numeric" };
+
+ bool ret = adm.parse_list_func_wp(cmd, argc, argv);
+
+ // unit_test[6] parse_list_func normal case 3 (with num option long) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[7] parse_list_func normal case 3 (with num option long) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_LIST);
+ // unit_test[8] parse_list_func normal case 3 (with num option long) nummeric flag check
+ BOOST_CHECK_EQUAL(adm.get_numeric(), true);
+ }
+
+ // parse_list_func error case 1 (invarid option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LIST;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-l", "-z" };
+
+ bool ret = adm.parse_list_func_wp(cmd, argc, argv);
+
+ // unit_test[9] parse_list_func error case 1 (invarid option) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_list_func_test end -----");
}
-void parse_opt_vs_target_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_target_func_test start -----" );
-
- // parse_opt_vs_target_func normal case 1 (tcp endpoint)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.87:22100" };
-
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
-
- // unit_test[10] parse_opt_vs_target_func normal case 1 (tcp endpoint) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[11] parse_opt_vs_target_func normal case 1 (tcp endpoint) endpoint check
- boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, ep );
- }
-
- // parse_opt_vs_target_func normal case 2 (udp endpoint)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.87:22100" };
- adm.get_request().vs_element.udpmode = true;
-
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
-
- // unit_test[12] parse_opt_vs_target_func normal case 2 (udp endpoint) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[13] parse_opt_vs_target_func normal case 2 (udp endpoint) endpoint check
- boost::asio::ip::udp::endpoint ep = string_to_endpoint<boost::asio::ip::udp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.udp_recv_endpoint, ep );
- }
-
- // parse_opt_vs_target_func normal case 3 (tcp endpoint specified in name)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", "127.0.0.1:pop3" };
-
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
-
- // unit_test[14] parse_opt_vs_target_func normal case 3 (tcp endpoint specified in name) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[15] parse_opt_vs_target_func normal case 3 (tcp endpoint specified in name) endpoint check
- boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>( "127.0.0.1:110" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, ep );
- }
+void parse_opt_vs_target_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_target_func_test start -----");
+
+ // parse_opt_vs_target_func normal case 1 (tcp endpoint)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.87:22100" };
+
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
+
+ // unit_test[10] parse_opt_vs_target_func normal case 1 (tcp endpoint) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[11] parse_opt_vs_target_func normal case 1 (tcp endpoint) endpoint check
+ boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, ep);
+ }
+
+ // parse_opt_vs_target_func normal case 2 (udp endpoint)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.87:22100" };
+ adm.get_request().vs_element.udpmode = true;
+
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
+
+ // unit_test[12] parse_opt_vs_target_func normal case 2 (udp endpoint) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[13] parse_opt_vs_target_func normal case 2 (udp endpoint) endpoint check
+ boost::asio::ip::udp::endpoint ep = string_to_endpoint<boost::asio::ip::udp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.udp_recv_endpoint, ep);
+ }
+
+ // parse_opt_vs_target_func normal case 3 (tcp endpoint specified in name)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", "127.0.0.1:pop3" };
+
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
+
+ // unit_test[14] parse_opt_vs_target_func normal case 3 (tcp endpoint specified in name) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[15] parse_opt_vs_target_func normal case 3 (tcp endpoint specified in name) endpoint check
+ boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>("127.0.0.1:110");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, ep);
+ }
// ramiel_ipv6 add
- // parse_opt_vs_target_func normal case 4 (any address)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", "0.0.0.0:8080" };
-
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_target_func normal case 4 (any address) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_target_func normal case 4 (any address) endpoint check
- boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>( "0.0.0.0:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, ep );
- }
+ // parse_opt_vs_target_func normal case 4 (any address)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", "0.0.0.0:8080" };
+
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_target_func normal case 4 (any address) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_target_func normal case 4 (any address) endpoint check
+ boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>("0.0.0.0:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, ep);
+ }
// ramiel_ipv6 add
- // parse_opt_vs_target_func normal case 5 (tcp endpoint(ipv6))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", "[2001::11]:8080" };
-
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_target_func normal case 4 (tcp endpoint(ipv6)) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_target_func normal case 4 (tcp endpoint(ipv6)) endpoint check
- boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>( "[2001::11]:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, ep );
- }
+ // parse_opt_vs_target_func normal case 5 (tcp endpoint(ipv6))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", "[2001::11]:8080" };
+
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_target_func normal case 4 (tcp endpoint(ipv6)) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_target_func normal case 4 (tcp endpoint(ipv6)) endpoint check
+ boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>("[2001::11]:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, ep);
+ }
// ramiel_ipv6 add
- // parse_opt_vs_target_func normal case 6 (udp endpoint(ipv6))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", "[2001::11]:8080" };
- adm.get_request().vs_element.udpmode = true;
-
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_target_func normal case 6 (udp endpoint(ipv6)) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_target_func normal case 6 (udp endpoint(ipv6)) endpoint check
- boost::asio::ip::udp::endpoint ep = string_to_endpoint<boost::asio::ip::udp>( "[2001::11]:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.udp_recv_endpoint, ep );
- }
+ // parse_opt_vs_target_func normal case 6 (udp endpoint(ipv6))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", "[2001::11]:8080" };
+ adm.get_request().vs_element.udpmode = true;
+
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_target_func normal case 6 (udp endpoint(ipv6)) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_target_func normal case 6 (udp endpoint(ipv6)) endpoint check
+ boost::asio::ip::udp::endpoint ep = string_to_endpoint<boost::asio::ip::udp>("[2001::11]:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.udp_recv_endpoint, ep);
+ }
// ramiel_ipv6 add
- // parse_opt_vs_target_func normal case 5 (any address(ipv6))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", "[::]:8080" };
-
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_target_func normal case 4 (any address(ipv6)) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_target_func normal case 4 (any address(ipv6)) endpoint check
- boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>( "[::]:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, ep );
- }
-
- // parse_opt_vs_target_func error case 1 (invalid endpoint)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.257:22100" };
-
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
-
- // unit_test[16] parse_opt_vs_target_func error case 1 (invalid endpoint) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_target_func error case 2 (no endpoint)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-t" };
-
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
-
- // unit_test[17] parse_opt_vs_target_func error case 2 (no endpoint) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
+ // parse_opt_vs_target_func normal case 5 (any address(ipv6))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", "[::]:8080" };
+
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_target_func normal case 4 (any address(ipv6)) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_target_func normal case 4 (any address(ipv6)) endpoint check
+ boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>("[::]:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, ep);
+ }
+
+ // parse_opt_vs_target_func error case 1 (invalid endpoint)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.257:22100" };
+
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
+
+ // unit_test[16] parse_opt_vs_target_func error case 1 (invalid endpoint) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_target_func error case 2 (no endpoint)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-t" };
+
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
+
+ // unit_test[17] parse_opt_vs_target_func error case 2 (no endpoint) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
// ramiel_ipv6 delete
// // parse_opt_vs_target_func error case 3 (0.0.0.0 address)
// bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
//
// // unit_test[18] parse_opt_vs_target_func error case 3 (0.0.0.0 address) return value check
-// BOOST_CHECK_EQUAL( ret, false );
+// BOOST_CHECK_EQUAL( ret, false );
// }
- // parse_opt_vs_target_func error case 4 (0 port)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.87:0" };
+ // parse_opt_vs_target_func error case 4 (0 port)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.87:0" };
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
- // unit_test[19] parse_opt_vs_target_func error case 4 (0 port) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
+ // unit_test[19] parse_opt_vs_target_func error case 4 (0 port) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
- // parse_opt_vs_target_func error case 5 (invalid port (99999))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.87:99999" };
+ // parse_opt_vs_target_func error case 5 (invalid port (99999))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.87:99999" };
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
- // unit_test[20] parse_opt_vs_target_func error case 5 (invalid port (99999)) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
+ // unit_test[20] parse_opt_vs_target_func error case 5 (invalid port (99999)) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
- // parse_opt_vs_target_func error case 6 (hostname omitted)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", ":22100" };
+ // parse_opt_vs_target_func error case 6 (hostname omitted)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", ":22100" };
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
- // unit_test[21] parse_opt_vs_target_func error case 6 (hostname omitted) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
+ // unit_test[21] parse_opt_vs_target_func error case 6 (hostname omitted) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
- // parse_opt_vs_target_func error case 7 (port omitted)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.87:" };
+ // parse_opt_vs_target_func error case 7 (port omitted)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-t", "10.144.169.87:" };
- bool ret = adm.parse_opt_vs_target_func_wp( pos, argc, argv );
+ bool ret = adm.parse_opt_vs_target_func_wp(pos, argc, argv);
- // unit_test[22] parse_opt_vs_target_func error case 7 (port omitted) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
+ // unit_test[22] parse_opt_vs_target_func error case 7 (port omitted) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
- BOOST_MESSAGE( "----- parse_opt_vs_target_func_test end -----" );
+ BOOST_MESSAGE("----- parse_opt_vs_target_func_test end -----");
}
-void parse_opt_vs_module_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_module_func_test start -----" );
+void parse_opt_vs_module_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_module_func_test start -----");
- // parse_opt_vs_module_func normal case 1 (end with module option)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 5;
- char* argv[] = { "l7vsadm_test", "-A", "-m", "cinsert", "option" };
- l7vs::protocol_module_control::load_module_fail = false;
- l7vs::protocol_module_stub::check_parameter_called = false;
- l7vs::protocol_module_stub::check_parameter_fail = false;
-
- bool ret = adm.parse_opt_vs_module_func_wp( pos, argc, argv );
-
- // unit_test[23] parse_opt_vs_module_func normal case 1 (end with module option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[24] parse_opt_vs_module_func normal case 1 (end with module option) check_parameter call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_stub::check_parameter_called, true );
- // unit_test[25] parse_opt_vs_module_func normal case 1 (end with module option) module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[26] parse_opt_vs_module_func normal case 1 (end with module option) module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "option" );
- }
-
- // parse_opt_vs_module_func normal case 2 (end with next vs option)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 6;
- char* argv[] = { "l7vsadm_test", "-A", "-m", "cinsert", "option", "-t" };
- l7vs::protocol_module_control::load_module_fail = false;
- l7vs::protocol_module_stub::check_parameter_called = false;
- l7vs::protocol_module_stub::check_parameter_fail = false;
-
- bool ret = adm.parse_opt_vs_module_func_wp( pos, argc, argv );
-
- // unit_test[27] parse_opt_vs_module_func normal case 2 (end with next vs option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[28] parse_opt_vs_module_func normal case 2 (end with next vs option) check_parameter call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_stub::check_parameter_called, true );
- // unit_test[29] parse_opt_vs_module_func normal case 2 (end with next vs option) module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[30] parse_opt_vs_module_func normal case 2 (end with next vs option) module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "option" );
-
- }
-
- // parse_opt_vs_module_func normal case 3 (no protocol module arg)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 5;
- char* argv[] = { "l7vsadm_test", "-A", "-m", "cinsert", "-t" };
- l7vs::protocol_module_control::load_module_fail = false;
- l7vs::protocol_module_stub::check_parameter_called = false;
- l7vs::protocol_module_stub::check_parameter_fail = false;
-
- bool ret = adm.parse_opt_vs_module_func_wp( pos, argc, argv );
-
- // unit_test[31] parse_opt_vs_module_func normal case 3 (no protocol module arg) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[32] parse_opt_vs_module_func normal case 3 (no protocol module arg) check_parameter call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_stub::check_parameter_called, true );
- // unit_test[33] parse_opt_vs_module_func normal case 3 (no protocol module arg) module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[34] parse_opt_vs_module_func normal case 3 (no protocol module arg) module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.size(), 0U );
-
- }
-
- // parse_opt_vs_module_func error case 1 (no protocol module name)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-m" };
- l7vs::protocol_module_control::load_module_fail = false;
- l7vs::protocol_module_stub::check_parameter_called = false;
- l7vs::protocol_module_stub::check_parameter_fail = false;
-
- bool ret = adm.parse_opt_vs_module_func_wp( pos, argc, argv );
+ // parse_opt_vs_module_func normal case 1 (end with module option)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 5;
+ char *argv[] = { "l7vsadm_test", "-A", "-m", "cinsert", "option" };
+ l7vs::protocol_module_control::load_module_fail = false;
+ l7vs::protocol_module_stub::check_parameter_called = false;
+ l7vs::protocol_module_stub::check_parameter_fail = false;
+
+ bool ret = adm.parse_opt_vs_module_func_wp(pos, argc, argv);
+
+ // unit_test[23] parse_opt_vs_module_func normal case 1 (end with module option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[24] parse_opt_vs_module_func normal case 1 (end with module option) check_parameter call check
+ BOOST_CHECK_EQUAL(l7vs::protocol_module_stub::check_parameter_called, true);
+ // unit_test[25] parse_opt_vs_module_func normal case 1 (end with module option) module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[26] parse_opt_vs_module_func normal case 1 (end with module option) module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "option");
+ }
- // unit_test[35] parse_opt_vs_module_func error case 1 (no protocol module name) return value check
- BOOST_CHECK_EQUAL( ret, false );
+ // parse_opt_vs_module_func normal case 2 (end with next vs option)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 6;
+ char *argv[] = { "l7vsadm_test", "-A", "-m", "cinsert", "option", "-t" };
+ l7vs::protocol_module_control::load_module_fail = false;
+ l7vs::protocol_module_stub::check_parameter_called = false;
+ l7vs::protocol_module_stub::check_parameter_fail = false;
+
+ bool ret = adm.parse_opt_vs_module_func_wp(pos, argc, argv);
+
+ // unit_test[27] parse_opt_vs_module_func normal case 2 (end with next vs option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[28] parse_opt_vs_module_func normal case 2 (end with next vs option) check_parameter call check
+ BOOST_CHECK_EQUAL(l7vs::protocol_module_stub::check_parameter_called, true);
+ // unit_test[29] parse_opt_vs_module_func normal case 2 (end with next vs option) module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[30] parse_opt_vs_module_func normal case 2 (end with next vs option) module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "option");
- }
+ }
- // parse_opt_vs_module_func error case 2 (protocol module load failed)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 5;
- char* argv[] = { "l7vsadm_test", "-A", "-m", "cinsert", "-t" };
- l7vs::protocol_module_control::load_module_fail = true;
- l7vs::protocol_module_stub::check_parameter_called = false;
- l7vs::protocol_module_stub::check_parameter_fail = false;
-
- bool ret = adm.parse_opt_vs_module_func_wp( pos, argc, argv );
+ // parse_opt_vs_module_func normal case 3 (no protocol module arg)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 5;
+ char *argv[] = { "l7vsadm_test", "-A", "-m", "cinsert", "-t" };
+ l7vs::protocol_module_control::load_module_fail = false;
+ l7vs::protocol_module_stub::check_parameter_called = false;
+ l7vs::protocol_module_stub::check_parameter_fail = false;
+
+ bool ret = adm.parse_opt_vs_module_func_wp(pos, argc, argv);
+
+ // unit_test[31] parse_opt_vs_module_func normal case 3 (no protocol module arg) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[32] parse_opt_vs_module_func normal case 3 (no protocol module arg) check_parameter call check
+ BOOST_CHECK_EQUAL(l7vs::protocol_module_stub::check_parameter_called, true);
+ // unit_test[33] parse_opt_vs_module_func normal case 3 (no protocol module arg) module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[34] parse_opt_vs_module_func normal case 3 (no protocol module arg) module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.size(), 0U);
+
+ }
- // unit_test[36] parse_opt_vs_module_func error case 2 (protocol module load failed) return value check
- BOOST_CHECK_EQUAL( ret, false );
+ // parse_opt_vs_module_func error case 1 (no protocol module name)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-m" };
+ l7vs::protocol_module_control::load_module_fail = false;
+ l7vs::protocol_module_stub::check_parameter_called = false;
+ l7vs::protocol_module_stub::check_parameter_fail = false;
- }
+ bool ret = adm.parse_opt_vs_module_func_wp(pos, argc, argv);
+
+ // unit_test[35] parse_opt_vs_module_func error case 1 (no protocol module name) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+
+ }
+
+ // parse_opt_vs_module_func error case 2 (protocol module load failed)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 5;
+ char *argv[] = { "l7vsadm_test", "-A", "-m", "cinsert", "-t" };
+ l7vs::protocol_module_control::load_module_fail = true;
+ l7vs::protocol_module_stub::check_parameter_called = false;
+ l7vs::protocol_module_stub::check_parameter_fail = false;
+
+ bool ret = adm.parse_opt_vs_module_func_wp(pos, argc, argv);
+
+ // unit_test[36] parse_opt_vs_module_func error case 2 (protocol module load failed) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+
+ }
+
+ // parse_opt_vs_module_func error case 3 (check parameter failed)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 5;
+ char *argv[] = { "l7vsadm_test", "-A", "-m", "cinsert", "-t" };
+ l7vs::protocol_module_control::load_module_fail = false;
+ l7vs::protocol_module_stub::check_parameter_called = false;
+ l7vs::protocol_module_stub::check_parameter_fail = true;
+
+ bool ret = adm.parse_opt_vs_module_func_wp(pos, argc, argv);
+
+ // unit_test[37] parse_opt_vs_module_func error case 3 (check parameter failed) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ // unit_test[38] parse_opt_vs_module_func error case 3 (check parameter failed) check_parameter call check
+ BOOST_CHECK_EQUAL(l7vs::protocol_module_stub::check_parameter_called, true);
+
+ }
+
+ // parse_opt_vs_module_func error case 4 (protomod name too long)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 5;
+ char *argv[] = { "l7vsadm_test", "-A", "-m", "protomodnameistoolong", "-t" };
+ l7vs::protocol_module_control::load_module_fail = false;
+ l7vs::protocol_module_stub::check_parameter_called = false;
+ l7vs::protocol_module_stub::check_parameter_fail = false;
+
+ bool ret = adm.parse_opt_vs_module_func_wp(pos, argc, argv);
+
+ // unit_test[39] parse_opt_vs_module_func error case 4 (protomod name too long) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
- // parse_opt_vs_module_func error case 3 (check parameter failed)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 5;
- char* argv[] = { "l7vsadm_test", "-A", "-m", "cinsert", "-t" };
- l7vs::protocol_module_control::load_module_fail = false;
- l7vs::protocol_module_stub::check_parameter_called = false;
- l7vs::protocol_module_stub::check_parameter_fail = true;
-
- bool ret = adm.parse_opt_vs_module_func_wp( pos, argc, argv );
-
- // unit_test[37] parse_opt_vs_module_func error case 3 (check parameter failed) return value check
- BOOST_CHECK_EQUAL( ret, false );
- // unit_test[38] parse_opt_vs_module_func error case 3 (check parameter failed) check_parameter call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_stub::check_parameter_called, true );
-
- }
-
- // parse_opt_vs_module_func error case 4 (protomod name too long)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 5;
- char* argv[] = { "l7vsadm_test", "-A", "-m", "protomodnameistoolong", "-t" };
l7vs::protocol_module_control::load_module_fail = false;
l7vs::protocol_module_stub::check_parameter_called = false;
l7vs::protocol_module_stub::check_parameter_fail = false;
-
- bool ret = adm.parse_opt_vs_module_func_wp( pos, argc, argv );
-
- // unit_test[39] parse_opt_vs_module_func error case 4 (protomod name too long) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
- l7vs::protocol_module_control::load_module_fail = false;
- l7vs::protocol_module_stub::check_parameter_called = false;
- l7vs::protocol_module_stub::check_parameter_fail = false;
-
- BOOST_MESSAGE( "----- parse_opt_vs_module_func_test end -----" );
+ BOOST_MESSAGE("----- parse_opt_vs_module_func_test end -----");
}
-void parse_opt_vs_scheduler_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_scheduler_func_test start -----" );
+void parse_opt_vs_scheduler_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_scheduler_func_test start -----");
- // parse_opt_vs_scheduler_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-s", "rr" };
- l7vs::schedule_module_control::load_module_fail = false;
-
- bool ret = adm.parse_opt_vs_scheduler_func_wp( pos, argc, argv );
-
- // unit_test[40] parse_opt_vs_scheduler_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[41] parse_opt_vs_scheduler_func normal case 1 module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.schedule_module_name, "rr" );
- }
-
- // parse_opt_vs_scheduler_func error case 1 (no schedule module name)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-s" };
- l7vs::schedule_module_control::load_module_fail = false;
-
- bool ret = adm.parse_opt_vs_scheduler_func_wp( pos, argc, argv );
-
- // unit_test[42] parse_opt_vs_scheduler_func error case 1 (no schedule module name) return value check
- BOOST_CHECK_EQUAL( ret, false );
-
- }
-
- // parse_opt_vs_scheduler_func error case 2 (schedule module load failed)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-s", "rr" };
- l7vs::schedule_module_control::load_module_fail = true;
-
- bool ret = adm.parse_opt_vs_scheduler_func_wp( pos, argc, argv );
-
- // unit_test[43] parse_opt_vs_scheduler_func error case 2 (schedule module load failed) return value check
- BOOST_CHECK_EQUAL( ret, false );
-
- }
-
- // parse_opt_vs_scheduler_func error case 3 (schedule module name too long)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-s", "schedulernameistoolong" };
- l7vs::schedule_module_control::load_module_fail = false;
-
- bool ret = adm.parse_opt_vs_scheduler_func_wp( pos, argc, argv );
+ // parse_opt_vs_scheduler_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-s", "rr" };
+ l7vs::schedule_module_control::load_module_fail = false;
+
+ bool ret = adm.parse_opt_vs_scheduler_func_wp(pos, argc, argv);
+
+ // unit_test[40] parse_opt_vs_scheduler_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[41] parse_opt_vs_scheduler_func normal case 1 module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.schedule_module_name, "rr");
+ }
- // unit_test[44] parse_opt_vs_scheduler_func error case 3 (schedule module name too long) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
+ // parse_opt_vs_scheduler_func error case 1 (no schedule module name)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-s" };
+ l7vs::schedule_module_control::load_module_fail = false;
- l7vs::schedule_module_control::load_module_fail = false;
+ bool ret = adm.parse_opt_vs_scheduler_func_wp(pos, argc, argv);
- BOOST_MESSAGE( "----- parse_opt_vs_scheduler_func_test end -----" );
+ // unit_test[42] parse_opt_vs_scheduler_func error case 1 (no schedule module name) return value check
+ BOOST_CHECK_EQUAL(ret, false);
-}
+ }
+
+ // parse_opt_vs_scheduler_func error case 2 (schedule module load failed)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-s", "rr" };
+ l7vs::schedule_module_control::load_module_fail = true;
-void parse_opt_vs_upper_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_upper_func_test start -----" );
-
- // parse_opt_vs_upper_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-u", "128" };
-
- bool ret = adm.parse_opt_vs_upper_func_wp( pos, argc, argv );
-
- // unit_test[45] parse_opt_vs_upper_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[46] parse_opt_vs_upper_func normal case 1 sorry_maxconnection check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_maxconnection, 128 );
- }
-
- // parse_opt_vs_upper_func normal case 2(0 clear)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-u", "0" };
-
- bool ret = adm.parse_opt_vs_upper_func_wp( pos, argc, argv );
-
- // unit_test[47] parse_opt_vs_upper_func normal case 2(0 clear) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[48] parse_opt_vs_upper_func normal case 2(0 clear) sorry_maxconnection check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_maxconnection, LLONG_MAX );
- }
-
- // parse_opt_vs_upper_func error case 1 (invalid maxconnection value (charactor))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-u", "a" };
-
- bool ret = adm.parse_opt_vs_upper_func_wp( pos, argc, argv );
-
- // unit_test[49] parse_opt_vs_upper_func error case 1 (invalid maxconnection value (charactor)) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_upper_func error case 2 (invalid maxconnection value(long long over))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- std::stringstream ss;
- ss << (1ULL) + LLONG_MAX;
- char* argv[] = { "l7vsadm_test", "-A", "-u", const_cast<char*>( ss.str().c_str() ) };
-
- bool ret = adm.parse_opt_vs_upper_func_wp( pos, argc, argv );
-
- // unit_test[50] parse_opt_vs_upper_func error case 2 (invalid maxconnection value(long long over)) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_upper_func error case 3 (no maxconnection value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-u" };
-
- bool ret = adm.parse_opt_vs_upper_func_wp( pos, argc, argv );
-
- // unit_test[51] parse_opt_vs_upper_func error case 3 (no maxconnection value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_upper_func error case 4 (under 0)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-u", "-1" };
-
- bool ret = adm.parse_opt_vs_upper_func_wp( pos, argc, argv );
-
- // unit_test[52] parse_opt_vs_upper_func error case 4 (under 0) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_upper_func error case 5 (over 100000)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-u", "100001" };
-
- bool ret = adm.parse_opt_vs_upper_func_wp( pos, argc, argv );
-
- // unit_test[53] parse_opt_vs_upper_func error case 5 (over 100000) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_vs_upper_func_test end -----" );
+ bool ret = adm.parse_opt_vs_scheduler_func_wp(pos, argc, argv);
-}
+ // unit_test[43] parse_opt_vs_scheduler_func error case 2 (schedule module load failed) return value check
+ BOOST_CHECK_EQUAL(ret, false);
-void parse_opt_vs_bypass_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_bypass_func_test start -----" );
-
- // parse_opt_vs_bypass_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-b", "10.144.169.87:8080" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[54] parse_opt_vs_bypass_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[55] parse_opt_vs_bypass_func normal case 1 sorry_endpoint check
- boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_endpoint, ep );
- }
-
- // parse_opt_vs_bypass_func normal case 2 (sorryserver_clear)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-b", "0.0.0.0:0" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[56] parse_opt_vs_bypass_func normal case 2 (sorryserver_clear) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[57] parse_opt_vs_bypass_func normal case 2 (sorryserver_clear) sorry_endpoint check
- boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>( "255.255.255.255:0" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_endpoint, ep );
- }
-
- // parse_opt_vs_bypass_func normal case 3 (sorryserver specified in name)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-b", "127.0.0.1:http" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[58] parse_opt_vs_bypass_func normal case 3 (sorryserver specified in name) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[59] parse_opt_vs_bypass_func normal case 3 (sorryserver specified in name) endpoint check
- boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>( "127.0.0.1:80" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_endpoint, ep );
- }
+ }
-//ramiel_ipv6 add
- // parse_opt_vs_bypass_func normal case 4 (ipv6)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-b", "[2001::10]:8080" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_bypass_func normal case 4 (ipv6) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_bypass_func normal case 4 (ipv6) sorry_endpoint check
- boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>( "[2001::10]:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_endpoint, ep );
- }
-
- // parse_opt_vs_bypass_func error case 1 (invalid endpoint)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-b", "10.144.169.257:8080" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[60] parse_opt_vs_bypass_func error case 1 (invalid endpoint) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_bypass_func error case 2 (no endpoint)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-b" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[61] parse_opt_vs_bypass_func error case 2 (no endpoint) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_bypass_func error case 3 (0.0.0.0 address)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-b", "0.0.0.0:8080" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[62] parse_opt_vs_bypass_func error case 3 (0.0.0.0 address) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_bypass_func error case 4 (0 port)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-b", "10.144.169.87:0" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[63] parse_opt_vs_bypass_func error case 4 (0 port) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_bypass_func error case 5 (invalid port (99999))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-b", "10.144.169.87:99999" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[64] parse_opt_vs_bypass_func error case 5 (invalid port (99999)) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_bypass_func error case 6 (hostname omitted)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-b", ":22100" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[65] parse_opt_vs_bypass_func error case 6 (hostname omitted) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_bypass_func error case 7 (port omitted)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-b", "10.144.169.87:" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[66] parse_opt_vs_bypass_func error case 7 (port omitted) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
+ // parse_opt_vs_scheduler_func error case 3 (schedule module name too long)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-s", "schedulernameistoolong" };
+ l7vs::schedule_module_control::load_module_fail = false;
-//ramiel_ipv6 add
- // parse_opt_vs_bypass_func error case 8 (ipv6 any address)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-b", "[::]:8080" };
+ bool ret = adm.parse_opt_vs_scheduler_func_wp(pos, argc, argv);
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
+ // unit_test[44] parse_opt_vs_scheduler_func error case 3 (schedule module name too long) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
- // unit_test[xx] parse_opt_vs_bypass_func error case 8 (ipv6 any address) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
+ l7vs::schedule_module_control::load_module_fail = false;
- BOOST_MESSAGE( "----- parse_opt_vs_bypass_func_test end -----" );
+ BOOST_MESSAGE("----- parse_opt_vs_scheduler_func_test end -----");
}
-void parse_opt_vs_flag_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_flag_func_test start -----" );
-
- // parse_opt_vs_flag_func normal case 1 (flag on)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-f", "1" };
-
- bool ret = adm.parse_opt_vs_flag_func_wp( pos, argc, argv );
-
- // unit_test[67] parse_opt_vs_flag_func normal case 1 (flag on) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[68] parse_opt_vs_flag_func normal case 1 (flag on) sorry_flag check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_flag, 1 );
- }
-
- // parse_opt_vs_flag_func normal case 2 (flag off)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-f", "0" };
-
- bool ret = adm.parse_opt_vs_flag_func_wp( pos, argc, argv );
-
- // unit_test[69] parse_opt_vs_flag_func normal case 2 (flag off) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[70] parse_opt_vs_flag_func normal case 2 (flag off) sorry_flag check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_flag, INT_MAX );
- }
-
- // parse_opt_vs_flag_func error case 1 (no flag)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-f" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[71] parse_opt_vs_flag_func error case 1 (no flag) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_flag_func error case 2 (1 nor 0)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-f", "2" };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[72] parse_opt_vs_flag_func error case 2 (1 nor 0) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_flag_func error case 3 (int over)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- std::stringstream ss;
- ss << (1ULL) + INT_MAX;
- char* argv[] = { "l7vsadm_test", "-A", "-f", const_cast<char*>( ss.str().c_str() ) };
-
- bool ret = adm.parse_opt_vs_bypass_func_wp( pos, argc, argv );
-
- // unit_test[73] parse_opt_vs_flag_func error case 3 (int over) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_vs_flag_func_test end -----" );
+void parse_opt_vs_upper_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_upper_func_test start -----");
-}
+ // parse_opt_vs_upper_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-u", "128" };
-void parse_opt_vs_qosup_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_qosup_func_test start -----" );
-
- // parse_opt_vs_qosup_func normal case 1 (no unit postfix)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128" };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[74] parse_opt_vs_qosup_func normal case 1 (no unit postfix) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[75] parse_opt_vs_qosup_func normal case 1 (no unit postfix) qos_upstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_upstream, ( 128ULL / 8 ) );
- }
-
- // parse_opt_vs_qosup_func normal case 2 (unit postfix 'G')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128G" };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[76] parse_opt_vs_qosup_func normal case 2 (unit postfix 'G') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[77] parse_opt_vs_qosup_func normal case 2 (unit postfix 'G') qos_upstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_upstream, ( 128000000000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosup_func normal case 3 (unit postfix 'g')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128g" };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[78] parse_opt_vs_qosup_func normal case 3 (unit postfix 'g') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[79] parse_opt_vs_qosup_func normal case 3 (unit postfix 'g') qos_upstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_upstream, ( 128000000000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosup_func normal case 4 (unit postfix 'M')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128M" };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[80] parse_opt_vs_qosup_func normal case 4 (unit postfix 'M') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[81] parse_opt_vs_qosup_func normal case 4 (unit postfix 'M') qos_upstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_upstream, ( 128000000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosup_func normal case 5 (unit postfix 'm')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128m" };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[82] parse_opt_vs_qosup_func normal case 5 (unit postfix 'm') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[83] parse_opt_vs_qosup_func normal case 5 (unit postfix 'm') qos_upstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_upstream, ( 128000000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosup_func normal case 6 (unit postfix 'K')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128K" };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[84] parse_opt_vs_qosup_func normal case 6 (unit postfix 'K') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[85] parse_opt_vs_qosup_func normal case 6 (unit postfix 'K') qos_upstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_upstream, ( 128000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosup_func normal case 7 (unit postfix 'k')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128k" };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[86] parse_opt_vs_qosup_func normal case 7 (unit postfix 'k') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[87] parse_opt_vs_qosup_func normal case 7 (unit postfix 'k') qos_upstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_upstream, ( 128000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosup_func error case 1 (invalid qos_upstream value (charactor))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "a" };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[88] parse_opt_vs_qosup_func error case 1 (invalid qos_upstream value (charactor)) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_qosup_func error case 2 (invalid qos_upstream value(unsigned long long over))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- std::stringstream ss;
- ss << "18446744073709551616"; // ULLONG_MAX is 18446744073709551615
- char* argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char*>( ss.str().c_str() ) };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[89] parse_opt_vs_qosup_func error case 2 (invalid qos_upstream value(unsigned long long over)) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_qosup_func error case 3 (invalid qos_upstream value(unsigned long long over in postfix 'G'))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- std::stringstream ss;
- ss << "17179869184G"; // ULLONG_MAX / 1024 / 1024 / 1024
- char* argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char*>( ss.str().c_str() ) };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[90] parse_opt_vs_qosup_func error case 3 (invalid qos_upstream value(unsigned long long over in postfix 'G')) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_qosup_func error case 4 (invalid qos_upstream value(unsigned long long over in postfix 'M'))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- std::stringstream ss;
- ss << "17592186044416M"; // ULLONG_MAX / 1024 / 1024
- char* argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char*>( ss.str().c_str() ) };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[91] parse_opt_vs_qosup_func error case 4 (invalid qos_upstream value(unsigned long long over in postfix 'M')) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_qosup_func error case 5 (invalid qos_upstream value(unsigned long long over in postfix 'K'))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- std::stringstream ss;
- ss << "18014398509481984K"; // ULLONG_MAX / 1024
- char* argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char*>( ss.str().c_str() ) };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[92] parse_opt_vs_qosup_func error case 5 (invalid qos_upstream value(unsigned long long over in postfix 'K')) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_qosup_func error case 6 (no qos_upstream value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-Q" };
-
- bool ret = adm.parse_opt_vs_qosup_func_wp( pos, argc, argv );
-
- // unit_test[93] parse_opt_vs_qosup_func error case 6 (no qos_upstream value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_vs_qosup_func_test end -----" );
+ bool ret = adm.parse_opt_vs_upper_func_wp(pos, argc, argv);
-}
+ // unit_test[45] parse_opt_vs_upper_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[46] parse_opt_vs_upper_func normal case 1 sorry_maxconnection check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_maxconnection, 128);
+ }
-void parse_opt_vs_qosdown_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_qosdown_func_test start -----" );
-
- // parse_opt_vs_qosdown_func normal case 1 (no unit postfix)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128" };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[94] parse_opt_vs_qosdown_func normal case 1 (no unit postfix) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[95] parse_opt_vs_qosdown_func normal case 1 (no unit postfix) qos_downstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_downstream, ( 128ULL / 8 ) );
- }
-
- // parse_opt_vs_qosdown_func normal case 2 (unit postfix 'G')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128G" };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[96] parse_opt_vs_qosdown_func normal case 2 (unit postfix 'G') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[97] parse_opt_vs_qosdown_func normal case 2 (unit postfix 'G') qos_downstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_downstream, ( 128000000000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosdown_func normal case 3 (unit postfix 'g')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128g" };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[98] parse_opt_vs_qosdown_func normal case 3 (unit postfix 'g') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[99] parse_opt_vs_qosdown_func normal case 3 (unit postfix 'g') qos_downstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_downstream, ( 128000000000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosdown_func normal case 4 (unit postfix 'M')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128M" };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[100] parse_opt_vs_qosdown_func normal case 4 (unit postfix 'M') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[101] parse_opt_vs_qosdown_func normal case 4 (unit postfix 'M') qos_downstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_downstream, ( 128000000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosdown_func normal case 5 (unit postfix 'm')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128m" };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[102] parse_opt_vs_qosdown_func normal case 5 (unit postfix 'm') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[103] parse_opt_vs_qosdown_func normal case 5 (unit postfix 'm') qos_downstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_downstream, ( 128000000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosdown_func normal case 6 (unit postfix 'K')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128K" };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[104] parse_opt_vs_qosdown_func normal case 6 (unit postfix 'K') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[105] parse_opt_vs_qosdown_func normal case 6 (unit postfix 'K') qos_downstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_downstream, ( 128000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosdown_func normal case 7 (unit postfix 'k')
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "128k" };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[106] parse_opt_vs_qosdown_func normal case 7 (unit postfix 'k') return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[107] parse_opt_vs_qosdown_func normal case 7 (unit postfix 'k') qos_downstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_downstream, ( 128000ULL / 8 ) );
- }
-
- // parse_opt_vs_qosdown_func error case 1 (invalid qos_downstream value (charactor))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-Q", "a" };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[108] parse_opt_vs_qosdown_func error case 1 (invalid qos_upstream value (charactor)) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_qosdown_func error case 2 (invalid qos_downstream value(unsigned long long over))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- std::stringstream ss;
- ss << "18446744073709551616"; // ULLONG_MAX is 18446744073709551615
- char* argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char*>( ss.str().c_str() ) };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[109] parse_opt_vs_qosdown_func error case 2 (invalid qos_downstream value(unsigned long long over)) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_qosdown_func error case 3 (invalid qos_downstream value(unsigned long long over in postfix 'G'))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- std::stringstream ss;
- ss << "17179869184G"; // ULLONG_MAX / 1024 / 1024 / 1024
- char* argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char*>( ss.str().c_str() ) };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[110] parse_opt_vs_qosdown_func error case 3 (invalid qos_downstream value(unsigned long long over in postfix 'G')) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_qosdown_func error case 4 (invalid qos_downstream value(unsigned long long over in postfix 'M'))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- std::stringstream ss;
- ss << "17592186044416M"; // ULLONG_MAX / 1024 / 1024
- char* argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char*>( ss.str().c_str() ) };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[111] parse_opt_vs_qosdown_func error case 4 (invalid qos_downstream value(unsigned long long over in postfix 'M')) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_qosdown_func error case 5 (invalid qos_downstream value(unsigned long long over in postfix 'K'))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- std::stringstream ss;
- ss << "18014398509481984K"; // ULLONG_MAX / 1024
- char* argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char*>( ss.str().c_str() ) };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[112] parse_opt_vs_qosdown_func error case 5 (invalid qos_downstream value(unsigned long long over in postfix 'K')) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_vs_qosdown_func error case 6 (no qos_upstream value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-Q" };
-
- bool ret = adm.parse_opt_vs_qosdown_func_wp( pos, argc, argv );
-
- // unit_test[113] parse_opt_vs_qosdown_func error case 6 (no qos_downstream value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_vs_qosdown_func_test end -----" );
+ // parse_opt_vs_upper_func normal case 2(0 clear)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-u", "0" };
-}
+ bool ret = adm.parse_opt_vs_upper_func_wp(pos, argc, argv);
-void parse_opt_vs_udp_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_udp_func_test start -----" );
-
- // parse_opt_vs_udp_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-p" };
-
- bool ret = adm.parse_opt_vs_udp_func_wp( pos, argc, argv );
-
- // unit_test[114] parse_opt_vs_udp_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[115] parse_opt_vs_udp_func normal case 1 udp_mode check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.udpmode, true );
- }
-
- // parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-p" };
-
- adm.get_request().vs_element.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
- adm.get_request().vs_element.realserver_vector.front().tcp_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:80" );
-
- bool ret = adm.parse_opt_vs_udp_func_wp( pos, argc, argv );
-
- // unit_test[116] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[117] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) udp_mode check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.udpmode, true );
-
- // unit_test[118] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint zeropoint;
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, zeropoint );
-
- // unit_test[119] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) udp_recv_endpoint check
- boost::asio::ip::udp::endpoint udp_recv_ep = string_to_endpoint<boost::asio::ip::udp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.udp_recv_endpoint, udp_recv_ep );
-
- // unit_test[120] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) realserver tcp_endpoint check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, zeropoint );
-
- // unit_test[121] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) realserver udp_endpoint check
- boost::asio::ip::udp::endpoint rs_udp_ep = string_to_endpoint<boost::asio::ip::udp>( "10.144.169.86:80" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().udp_endpoint, rs_udp_ep );
-
- }
-
- BOOST_MESSAGE( "----- parse_opt_vs_udp_func_test end -----" );
+ // unit_test[47] parse_opt_vs_upper_func normal case 2(0 clear) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[48] parse_opt_vs_upper_func normal case 2(0 clear) sorry_maxconnection check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_maxconnection, LLONG_MAX);
+ }
-}
+ // parse_opt_vs_upper_func error case 1 (invalid maxconnection value (charactor))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-u", "a" };
-void parse_opt_vs_ssl_file_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_ssl_file_func_test start -----" );
-
- // parse_opt_vs_ssl_file_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-z", "./sslfile.cf" };
-
- bool ret = adm.parse_opt_vs_ssl_file_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_ssl_file_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_ssl_file_func normal case 1 filename check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.ssl_file_name, "./sslfile.cf" );
- }
-
- // pser_opt_vs_ssl_file_func error case 1 (filename not specified)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-z"};
-
- bool ret = adm.parse_opt_vs_ssl_file_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_ssl_file_func error case 1 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // pser_opt_vs_ssl_file_func error case 2 (filename too long)
- {
- std::string filename;
- filename.resize( L7VS_FILENAME_LEN + 1, 'a' );
-
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-z", const_cast< char* >( filename.c_str() ) };
-
- bool ret = adm.parse_opt_vs_ssl_file_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_ssl_file_func error case 2 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // pser_opt_vs_ssl_file_func error case 3 (file cannnot open)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-z", "./test.dat"};
-
- bool ret = adm.parse_opt_vs_ssl_file_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_ssl_file_func error case 3 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_vs_ssl_file_func_test end -----" );
+ bool ret = adm.parse_opt_vs_upper_func_wp(pos, argc, argv);
-}
+ // unit_test[49] parse_opt_vs_upper_func error case 1 (invalid maxconnection value (charactor)) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
-void parse_opt_vs_access_log_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_access_log_func_test start -----" );
-
- // parse_opt_vs_access_log_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-L", "1" };
-
- bool ret = adm.parse_opt_vs_access_log_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_access_log_func normal case 1 filename check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.access_log_flag, 1 );
- }
-
- // pser_opt_vs_access_log_func error case 1 (access_log_flag not specified)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-L"};
-
- bool ret = adm.parse_opt_vs_access_log_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_func error case 1 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // pser_opt_vs_access_log_func error case 2 (invalid range access log flag value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-z", "2"};
-
- bool ret = adm.parse_opt_vs_access_log_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_func error case 2 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // pser_opt_vs_access_log_func error case 3 (invalied charactor access log flag value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-z", "a"};
-
- bool ret = adm.parse_opt_vs_access_log_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_func error case 3 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_vs_access_log_func_test end -----" );
+ // parse_opt_vs_upper_func error case 2 (invalid maxconnection value(long long over))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ std::stringstream ss;
+ ss << (1ULL) + LLONG_MAX;
+ char *argv[] = { "l7vsadm_test", "-A", "-u", const_cast<char *>(ss.str().c_str()) };
-}
+ bool ret = adm.parse_opt_vs_upper_func_wp(pos, argc, argv);
-void parse_opt_vs_access_log_logrotate_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_access_log_logrotate_func_test start -----" );
-
- // parse_opt_vs_access_log_logrotate_func normal case 1 (end with access log rotate option)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 6;
- char* argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "--option", "zzz" };
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
-
- bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 1 check_parameter call check
- BOOST_CHECK_EQUAL( l7vs::logger_access_manager::access_log_logrotate_parameter_check_called, true );
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 1 access log file name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.access_log_file_name, "/var/log/l7vs/access.log" );
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 1 rotate argument check
- std::map< std::string, std::string >::iterator it = adm.get_request().vs_element.access_log_rotate_arguments.find("--option");
- BOOST_CHECK( it != adm.get_request().vs_element.access_log_rotate_arguments.end() );
- BOOST_CHECK( it->second == "zzz" );
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 1 rotate argument atring check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.access_log_rotate_key_info, "--option zzz" );
- }
-
-
- // parse_opt_vs_access_log_logrotate_func normal case 2 (end with next vs option)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 7;
- char* argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "--option", "zzz", "-t" };
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
-
- bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 2 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 2 check_parameter call check
- BOOST_CHECK_EQUAL( l7vs::logger_access_manager::access_log_logrotate_parameter_check_called, true );
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 2 access log file name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.access_log_file_name, "/var/log/l7vs/access.log" );
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 2 rotate argument check
- std::map< std::string, std::string >::iterator it = adm.get_request().vs_element.access_log_rotate_arguments.find("--option");
- BOOST_CHECK( it != adm.get_request().vs_element.access_log_rotate_arguments.end() );
- BOOST_CHECK( it->second == "zzz" );
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 2 rotate argument atring check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.access_log_rotate_key_info, "--option zzz" );
- }
-
- // parse_opt_vs_access_log_logrotate_func normal case 3 (no rotate arg)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 5;
- char* argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "-t" };
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
-
- bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 3 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 3 check_parameter call check
- BOOST_CHECK_EQUAL( l7vs::logger_access_manager::access_log_logrotate_parameter_check_called, false );
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 3 access log file name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.access_log_file_name, "/var/log/l7vs/access.log" );
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 3 rotate argument atring check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.access_log_rotate_key_info, "" );
- }
-
- // parse_opt_access_log_logrotate_func error case 1 (no access_log_file name)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-a" };
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
-
- bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 1 return value check
- BOOST_CHECK_EQUAL( ret, false );
-
- }
-
- // parse_opt_access_log_logrotate_func error case 2 (access_log_file name too long)
- {
- std::string filename;
- filename.resize( L7VS_FILENAME_LEN, 'a');
- filename = "/" + filename;
-
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-a", const_cast< char* >( filename.c_str() ) };
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
-
- bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 2 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_access_log_logrotate_func error case 3 (access_log_file name not fullpath)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-a", "access.log" };
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
-
- bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 3 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_access_log_logrotate_func error case 4 (rotate argument check error)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 6;
- char* argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "--option", "zzz" };
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = true;
-
- bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 4 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_access_log_logrotate_func error case 5 (rotate argument is not pair)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 5;
- char* argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "--option" };
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
-
- bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 5 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_access_log_logrotate_func error case 6 (rotate argument is duplicated)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 8;
- char* argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "--option", "zzz", "--option", "xxx" };
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
- l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
-
- bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 6 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_vs_access_log_logrotate_func_test end -----" );
+ // unit_test[50] parse_opt_vs_upper_func error case 2 (invalid maxconnection value(long long over)) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
-}
+ // parse_opt_vs_upper_func error case 3 (no maxconnection value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-u" };
-void parse_opt_vs_socket_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_socket_func_test start -----" );
-
- // parse_opt_vs_socket_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff" };
-
- bool ret = adm.parse_opt_vs_socket_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_socket_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_socket_func normal case 1 option check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_defer_accept, 1 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_nodelay, 1 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_cork, 1 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_quickack, 2 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_string, "deferaccept,nodelay,cork,quickackoff" );
- }
-
- // parse_opt_vs_socket_func normal case 2
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-O", "nodelay" };
-
- bool ret = adm.parse_opt_vs_socket_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_socket_func normal case 3 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_socket_func normal case 3 option check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_defer_accept, 0 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_nodelay, 1 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_cork, 0 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_quickack, 0 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_string, "nodelay" );
- }
-
- // parse_opt_vs_socket_func normal case 3
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,quickackon" };
-
- bool ret = adm.parse_opt_vs_socket_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_socket_func normal case 3 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_opt_vs_socket_func normal case 3 option check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_defer_accept, 1 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_nodelay, 0 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_cork, 0 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_tcp_quickack, 1 );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.socket_option_string, "deferaccept,quickackon" );
- }
-
- // pser_opt_vs_socket_func error case 1 (socket option not specified)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-A", "-O"};
-
- bool ret = adm.parse_opt_vs_socket_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_socket_func error case 1 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // pser_opt_vs_socket_func error case 2 (unknown socket option)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,zzz" };
-
- bool ret = adm.parse_opt_vs_socket_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_socket_func error case 2 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // pser_opt_vs_socket_func error case 3 (deferaccept duplicated)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,deferaccept" };
-
- bool ret = adm.parse_opt_vs_socket_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_socket_func error case 3 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // pser_opt_vs_socket_func error case 4 (nodelay duplicated)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,nodelay" };
-
- bool ret = adm.parse_opt_vs_socket_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_socket_func error case 4 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // pser_opt_vs_socket_func error case 5 (cork duplicated)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,cork" };
-
- bool ret = adm.parse_opt_vs_socket_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_socket_func error case 5 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // pser_opt_vs_socket_func error case 6 (quickack duplicated 1)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,quickackoff" };
-
- bool ret = adm.parse_opt_vs_socket_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_socket_func error case 6 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // pser_opt_vs_socket_func error case 7 (quickack duplicated 2)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,quickackon" };
-
- bool ret = adm.parse_opt_vs_socket_func_wp( pos, argc, argv );
-
- // unit_test[xx] parse_opt_vs_socket_func error case 7 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_vs_socket_func_test end -----" );
+ bool ret = adm.parse_opt_vs_upper_func_wp(pos, argc, argv);
-}
+ // unit_test[51] parse_opt_vs_upper_func error case 3 (no maxconnection value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
-void parse_vs_func_test(){
- BOOST_MESSAGE( "----- parse_vs_func_test start -----" );
-
- // parse_vs_func normal case 1 (CMD_ADD_VS short_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
- int argc = 17;
- char* argv[] = { "l7vsadm_test",
- "-A",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-s",
- "lc",
- "-u",
- "50",
- "-b",
- "10.144.169.86:8080",
- "-Q",
- "100M",
- "-q",
- "200M"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[122] parse_vs_func normal case 1 (CMD_ADD_VS short_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[123] parse_vs_func normal case 1 (CMD_ADD_VS short_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_VS );
- // unit_test[124] parse_vs_func normal case 1 (CMD_ADD_VS short_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[125] parse_vs_func normal case 1 (CMD_ADD_VS short_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[126] parse_vs_func normal case 1 (CMD_ADD_VS short_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[127] parse_vs_func normal case 1 (CMD_ADD_VS short_option) schedule module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.schedule_module_name, "lc" );
- // unit_test[128] parse_vs_func normal case 1 (CMD_ADD_VS short_option) sorry_maxconnection check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_maxconnection, 50 );
- // unit_test[129] parse_vs_func normal case 1 (CMD_ADD_VS short_option) sorry_endpoint check
- boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_endpoint, sorry_ep );
- // unit_test[130] parse_vs_func normal case 1 (CMD_ADD_VS short_option) qos_upstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_upstream, ( 100000000ULL / 8 ) );
- // unit_test[131] parse_vs_func normal case 1 (CMD_ADD_VS short_option) qos_downstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_downstream, ( 200000000ULL / 8 ) );
- }
-
- // parse_vs_func normal case 2 (CMD_ADD_VS long_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
- int argc = 17;
- char* argv[] = { "l7vsadm_test",
- "--add-service",
- "--tcp-service",
- "10.144.169.86:11500",
- "--proto-module",
- "cinsert",
- "mod_arg",
- "--scheduler",
- "wrr",
- "--upper",
- "96",
- "--bypass",
- "10.144.169.87:80",
- "--qos-up",
- "100M",
- "--qos-down",
- "200M"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[132] parse_vs_func normal case 2 (CMD_ADD_VS long_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[133] parse_vs_func normal case 2 (CMD_ADD_VS long_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_VS );
- // unit_test[134] parse_vs_func normal case 2 (CMD_ADD_VS long_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:11500" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[135] parse_vs_func normal case 2 (CMD_ADD_VS long_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[136] parse_vs_func normal case 2 (CMD_ADD_VS long_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[137] parse_vs_func normal case 2 (CMD_ADD_VS long_option) schedule module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.schedule_module_name, "wrr" );
- // unit_test[138] parse_vs_func normal case 2 (CMD_ADD_VS long_option) sorry_maxconnection check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_maxconnection, 96 );
- // unit_test[139] parse_vs_func normal case 2 (CMD_ADD_VS long_option) sorry_endpoint check
- boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:80" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_endpoint, sorry_ep );
- // unit_test[140] parse_vs_func normal case 2 (CMD_ADD_VS long_option) qos_upstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_upstream, ( 100000000ULL / 8 ) );
- // unit_test[141] parse_vs_func normal case 2 (CMD_ADD_VS long_option) qos_downstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_downstream, ( 200000000ULL / 8 ) );
- }
-
- // parse_vs_func normal case 3 (CMD_EDIT_VS short_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_VS;
- int argc = 19;
- char* argv[] = { "l7vsadm_test",
- "-E",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-s",
- "rr",
- "-u",
- "50",
- "-b",
- "10.144.169.86:8080",
- "-f",
- "1",
- "-Q",
- "100M",
- "-q",
- "200M"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[142] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[143] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_EDIT_VS );
- // unit_test[144] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[145] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[146] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[147] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) schedule module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.schedule_module_name, "rr" );
- // unit_test[148] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) sorry_maxconnection check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_maxconnection, 50 );
- // unit_test[149] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) sorry_endpoint check
- boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_endpoint, sorry_ep );
- // unit_test[150] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) sorry_flag check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_flag, true );
- // unit_test[151] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) qos_upstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_upstream, ( 100000000ULL / 8 ) );
- // unit_test[152] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) qos_downstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_downstream, ( 200000000ULL / 8 ) );
- }
-
- // parse_vs_func normal case 4 (CMD_EDIT_VS long_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_VS;
- int argc = 19;
- char* argv[] = { "l7vsadm_test",
- "--edit-service",
- "--tcp-service",
- "10.144.169.86:11500",
- "--proto-module",
- "cinsert",
- "mod_arg",
- "--scheduler",
- "lc",
- "--upper",
- "96",
- "--bypass",
- "10.144.169.87:80",
- "--flag",
- "1",
- "--qos-up",
- "100M",
- "--qos-down",
- "200M"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[153] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[154] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_EDIT_VS );
- // unit_test[155] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:11500" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[156] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[157] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[158] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) schedule module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.schedule_module_name, "lc" );
- // unit_test[159] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) sorry_maxconnection check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_maxconnection, 96 );
- // unit_test[160] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) sorry_endpoint check
- boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:80" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_endpoint, sorry_ep );
- // unit_test[161] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) sorry_flag check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_flag, true );
- // unit_test[162] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) qos_upstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_upstream, ( 100000000ULL / 8 ) );
- // unit_test[163] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) qos_downstream check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.qos_downstream, ( 200000000ULL / 8 ) );
- }
-
- // parse_vs_func normal case 5 (CMD_DEL_VS short_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_VS;
- int argc = 7;
- char* argv[] = { "l7vsadm_test",
- "-D",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[164] parse_vs_func normal case 5 (CMD_DEL_VS short_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[165] parse_vs_func normal case 5 (CMD_DEL_VS short_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_DEL_VS );
- // unit_test[166] parse_vs_func normal case 5 (CMD_DEL_VS short_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[167] parse_vs_func normal case 5 (CMD_DEL_VS short_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[168] parse_vs_func normal case 5 (CMD_DEL_VS short_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- }
-
- // parse_vs_func normal case 6 (CMD_DEL_VS long_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_VS;
- int argc = 7;
- char* argv[] = { "l7vsadm_test",
- "--delete-service",
- "--tcp-service",
- "10.144.169.86:11500",
- "--proto-module",
- "curl",
- "specified_url"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[169] parse_vs_func normal case 6 (CMD_DEL_VS long_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[170] parse_vs_func normal case 6 (CMD_DEL_VS long_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_DEL_VS );
- // unit_test[171] parse_vs_func normal case 6 (CMD_DEL_VS long_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:11500" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[172] parse_vs_func normal case 6 (CMD_DEL_VS long_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "curl" );
- // unit_test[173] parse_vs_func normal case 6 (CMD_DEL_VS long_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "specified_url" );
- }
-
- // parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
- int argc = 7;
- char* argv[] = { "l7vsadm_test",
- "-A",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[174] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[175] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_VS );
- // unit_test[176] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[177] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[178] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[179] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) schedule module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.schedule_module_name, "rr" );
- }
-
- // parse_vs_func normal case 8 (CMD_FLUSH_VS)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_FLUSH_VS;
- int argc = 2;
- char* argv[] = { "l7vsadm_test",
- "-C"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[180] parse_vs_func normal case 8 (CMD_FLUSH_VS) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[181] parse_vs_func normal case 8 (CMD_FLUSH_VS) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_FLUSH_VS );
- }
-
- // parse_vs_func normal case 9 (CMD_EDIT_VS minimum option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_VS;
- int argc = 9;
- char* argv[] = { "l7vsadm_test",
- "-E",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-s",
- "lc"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[182] parse_vs_func normal case 9 (CMD_EDIT_VS minimum option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[183] parse_vs_func normal case 9 (CMD_EDIT_VS minimum option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_EDIT_VS );
- // unit_test[184] parse_vs_func normal case 9 (CMD_EDIT_VS minimum option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[185] parse_vs_func normal case 9 (CMD_EDIT_VS minimum option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- }
-
- // parse_vs_func normal case 10 (CMD_DEL_VS minimum option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_VS;
- int argc = 6;
- char* argv[] = { "l7vsadm_test",
- "-D",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[186] parse_vs_func normal case 10 (CMD_DEL_VS minimum option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[187] parse_vs_func normal case 10 (CMD_DEL_VS minimum option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_DEL_VS );
- // unit_test[188] parse_vs_func normal case 10 (CMD_DEL_VS minimum option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[189] parse_vs_func normal case 10 (CMD_DEL_VS minimum option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- }
-
- // parse_vs_func error case 1 (CMD_ADD_VS protocol module not specified)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
- int argc = 4;
- char* argv[] = { "l7vsadm_test",
- "-A",
- "-t",
- "10.144.169.87:22100"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[190] parse_vs_func error case 1 (CMD_ADD_VS protocol module not specified) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_vs_func error case 2 (CMD_ADD_VS target address not specified)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
- int argc = 5;
- char* argv[] = { "l7vsadm_test",
- "-A",
- "-m",
- "cinsert",
- "mod_arg"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[191] parse_vs_func error case 2 (CMD_ADD_VS target address not specified) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_vs_func error case 3 (upper option value under 0)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
- int argc = 9;
- char* argv[] = { "l7vsadm_test",
- "-A",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-u",
- "-1"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[192] parse_vs_func error case 3 (upper option value under 0) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_vs_func error case 4 (access log on but not specified access log fil name)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
- int argc = 9;
- char* argv[] = { "l7vsadm_test",
- "-A",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-L",
- "1"
- };
-
- bool ret = adm.parse_vs_func_wp( cmd, argc, argv );
-
- // unit_test[xx] parse_vs_func error case 4 return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_vs_func_test end -----" );
+ // parse_opt_vs_upper_func error case 4 (under 0)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-u", "-1" };
-}
+ bool ret = adm.parse_opt_vs_upper_func_wp(pos, argc, argv);
-void parse_opt_rs_weight_func_test(){
- BOOST_MESSAGE( "----- parse_opt_rs_weight_func_test start -----" );
-
- // parse_opt_rs_weight_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-w", "64" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_weight_func_wp( pos, argc, argv );
-
- // unit_test[193] parse_opt_rs_weight_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[194] parse_opt_rs_weight_func normal case 1 weight check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().weight, 64 );
- }
-
- // parse_opt_rs_weight_func error case 1 (invalid weight value (charactor))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-w", "a" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_weight_func_wp( pos, argc, argv );
-
- // unit_test[195] parse_opt_rs_weight_func error case 1 (invalid weight value (charactor)) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_rs_weight_func error case 2 (invalid weight value(int over))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- std::stringstream ss;
- ss << (1ULL) + INT_MAX;
- char* argv[] = { "l7vsadm_test", "-a", "-w", const_cast<char*>( ss.str().c_str() ) };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_weight_func_wp( pos, argc, argv );
-
- // unit_test[196] parse_opt_rs_weight_func error case 2 (invalid weight value(int over)) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_rs_weight_func error case 3 (no weight value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-a", "-w" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_weight_func_wp( pos, argc, argv );
-
- // unit_test[197] parse_opt_rs_weight_func error case 3 (no weight value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_rs_weight_func error case 4 (under 0)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-w", "-1" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_weight_func_wp( pos, argc, argv );
-
- // unit_test[198] parse_opt_rs_weight_func error case 4 (under 0) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_rs_weight_func error case 5 (over 100)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-w", "101" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_weight_func_wp( pos, argc, argv );
-
- // unit_test[199] parse_opt_rs_weight_func error case 5 (over 100) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_rs_weight_func_test end -----" );
+ // unit_test[52] parse_opt_vs_upper_func error case 4 (under 0) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
-}
+ // parse_opt_vs_upper_func error case 5 (over 100000)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-u", "100001" };
+
+ bool ret = adm.parse_opt_vs_upper_func_wp(pos, argc, argv);
-void parse_opt_rs_realserver_func_test(){
- BOOST_MESSAGE( "----- parse_opt_rs_realserver_func_test start -----" );
-
- // parse_opt_rs_realserver_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-r", "10.144.169.87:8080" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_realserver_func_wp( pos, argc, argv );
-
- // unit_test[200] parse_opt_rs_realserver_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[201] parse_opt_rs_realserver_func normal case 1 endpoint check
- boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, ep );
- }
-
- // parse_opt_rs_realserver_func normal case 2 (realserver specified in name)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-r", "localhost:http" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_realserver_func_wp( pos, argc, argv );
-
- // unit_test[202] parse_opt_rs_realserver_func normal case 2 (realserver specified in name) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[203] parse_opt_rs_realserver_func normal case 2 (realserver specified in name) endpoint check
- boost::asio::ip::tcp::endpoint ep1 = string_to_endpoint<boost::asio::ip::tcp>("127.0.0.1:80");
- boost::asio::ip::tcp::endpoint ep2 = string_to_endpoint<boost::asio::ip::tcp>("[::1]:80");
- BOOST_CHECK( adm.get_request().vs_element.realserver_vector.front().tcp_endpoint == ep1 ||
- adm.get_request().vs_element.realserver_vector.front().tcp_endpoint == ep2);
- }
-
- // parse_opt_rs_realserver_func error case 1 (invalid endpoint)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-r", "10.144.169.257:8080" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_realserver_func_wp( pos, argc, argv );
-
- // unit_test[204] parse_opt_rs_realserver_func error case 1 (invalid endpoint) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_rs_realserver_func error case 2 (no endpoint)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-a", "-r" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_realserver_func_wp( pos, argc, argv );
-
- // unit_test[205] parse_opt_rs_realserver_func error case 2 (no endpoint) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_rs_realserver_func error case 3 (0.0.0.0 address)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-r", "0.0.0.0:8080" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_realserver_func_wp( pos, argc, argv );
-
- // unit_test[206] parse_opt_rs_realserver_func error case 3 (0.0.0.0 address) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_rs_realserver_func error case 4 (0 port)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-r", "10.144.169.87:0" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_realserver_func_wp( pos, argc, argv );
-
- // unit_test[207] parse_opt_rs_realserver_func error case 4 (0 port) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_rs_realserver_func error case 5 (invalid port (99999))
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-r", "10.144.169.87:99999" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_realserver_func_wp( pos, argc, argv );
-
- // unit_test[208] parse_opt_rs_realserver_func error case 5 (invalid port (99999)) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_rs_realserver_func error case 6 (hostname omitted)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-r", ":22100" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_realserver_func_wp( pos, argc, argv );
-
- // unit_test[209] parse_opt_rs_realserver_func error case 6 (hostname omitted) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_rs_realserver_func error case 7 (port omitted)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-a", "-r", "10.144.169.87:" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- bool ret = adm.parse_opt_rs_realserver_func_wp( pos, argc, argv );
-
- // unit_test[210] parse_opt_rs_realserver_func error case 7 (port omitted) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_rs_realserver_func_test end -----" );
+ // unit_test[53] parse_opt_vs_upper_func error case 5 (over 100000) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_vs_upper_func_test end -----");
}
-void parse_rs_func_test(){
- BOOST_MESSAGE( "----- parse_rs_func_test start -----" );
-
- // parse_rs_func normal case 1 (CMD_ADD_RS short_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
- int argc = 11;
- char* argv[] = { "l7vsadm_test",
- "-a",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-r",
- "10.144.169.86:8080",
- "-w",
- "10"
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[211] parse_rs_func normal case 1 (CMD_ADD_RS short_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[212] parse_rs_func normal case 1 (CMD_ADD_RS short_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_RS );
- // unit_test[213] parse_rs_func normal case 1 (CMD_ADD_RS short_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[214] parse_rs_func normal case 1 (CMD_ADD_RS short_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[215] parse_rs_func normal case 1 (CMD_ADD_RS short_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[216] parse_rs_func normal case 1 (CMD_ADD_RS short_option) realserver endpoint check
- boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep );
- // unit_test[217] parse_rs_func normal case 1 (CMD_ADD_RS short_option) weight check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().weight, 10 );
- }
-
- // parse_rs_func normal case 2 (CMD_ADD_RS long_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
- int argc = 11;
- char* argv[] = { "l7vsadm_test",
- "--add-server",
- "--tcp-service",
- "10.144.169.86:11500",
- "--proto-module",
- "cinsert",
- "mod_arg",
- "--real-server",
- "10.144.169.87:8888",
- "--weight",
- "20"
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[218] parse_rs_func normal case 2 (CMD_ADD_RS long_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[219] parse_rs_func normal case 2 (CMD_ADD_RS long_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_RS );
- // unit_test[220] parse_rs_func normal case 2 (CMD_ADD_RS long_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:11500" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[221] parse_rs_func normal case 2 (CMD_ADD_RS long_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[222] parse_rs_func normal case 2 (CMD_ADD_RS long_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[223] parse_rs_func normal case 2 (CMD_ADD_RS long_option) realserver endpoint check
- boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:8888" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep );
- // unit_test[224] parse_rs_func normal case 2 (CMD_ADD_RS long_option) weight check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().weight, 20 );
- }
-
- // parse_rs_func normal case 3 (CMD_EDIT_RS short_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_RS;
- int argc = 11;
- char* argv[] = { "l7vsadm_test",
- "-e",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-r",
- "10.144.169.86:8080",
- "-w",
- "20"
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[225] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[226] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_EDIT_RS );
- // unit_test[227] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[228] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[229] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[230] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) realserver endpoint check
- boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep );
- // unit_test[231] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) weight check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().weight, 20 );
- }
-
- // parse_rs_func normal case 4 (CMD_EDIT_RS long_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_RS;
- int argc = 11;
- char* argv[] = { "l7vsadm_test",
- "--edit-server",
- "--tcp-service",
- "10.144.169.86:11500",
- "--proto-module",
- "cinsert",
- "mod_arg",
- "--real-server",
- "10.144.169.87:8888",
- "--weight",
- "30"
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[232] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[233] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_EDIT_RS );
- // unit_test[234] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:11500" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[235] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[236] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[237] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) realserver endpoint check
- boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:8888" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep );
- // unit_test[238] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) weight check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().weight, 30 );
- }
-
- // parse_rs_func normal case 5 (CMD_DEL_RS short_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_RS;
- int argc = 9;
- char* argv[] = { "l7vsadm_test",
- "-d",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-r",
- "10.144.169.86:8080"
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[239] parse_rs_func normal case 5 (CMD_DEL_RS short_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[240] parse_rs_func normal case 5 (CMD_DEL_RS short_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_DEL_RS );
- // unit_test[241] parse_rs_func normal case 5 (CMD_DEL_RS short_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[242] parse_rs_func normal case 5 (CMD_DEL_RS short_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[243] parse_rs_func normal case 5 (CMD_DEL_RS short_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[244] parse_rs_func normal case 5 (CMD_DEL_RS short_option) realserver endpoint check
- boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep );
- }
-
- // parse_rs_func normal case 6 (CMD_DEL_RS long_option)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_RS;
- int argc = 9;
- char* argv[] = { "l7vsadm_test",
- "--delete-server",
- "--tcp-service",
- "10.144.169.86:11500",
- "--proto-module",
- "cinsert",
- "mod_arg",
- "--real-server",
- "10.144.169.87:8888"
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[245] parse_rs_func normal case 6 (CMD_DEL_RS long_option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[246] parse_rs_func normal case 6 (CMD_DEL_RS long_option) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_DEL_RS );
- // unit_test[247] parse_rs_func normal case 6 (CMD_DEL_RS long_option) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:11500" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[248] parse_rs_func normal case 6 (CMD_DEL_RS long_option) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[249] parse_rs_func normal case 6 (CMD_DEL_RS long_option) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[250] parse_rs_func normal case 6 (CMD_DEL_RS long_option) realserver endpoint check
- boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:8888" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep );
- }
+void parse_opt_vs_bypass_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_bypass_func_test start -----");
-//ramiel_ipv6 add
- // parse_rs_func normal case 7 (CMD_ADD_RS ipv6 )
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
- int argc = 11;
- char* argv[] = { "l7vsadm_test",
- "-a",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-r",
- "[2001::10]:8080",
- "-w",
- "10"
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) request check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_RS );
- // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) realserver endpoint check
- boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>( "[2001::10]:8080" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep );
- // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) weight check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().weight, 10 );
- }
-
- // parse_rs_func error case 1 (CMD_ADD_RS protocol module not specified)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
- int argc = 6;
- char* argv[] = { "l7vsadm_test",
- "-a",
- "-t",
- "10.144.169.87:22100",
- "-r",
- "10.144.169.86:8080"
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[251] parse_rs_func error case 1 (CMD_ADD_RS protocol module not specified) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_rs_func error case 2 (CMD_ADD_RS target address not specified)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
- int argc = 7;
- char* argv[] = { "l7vsadm_test",
- "-a",
- "-m",
- "cinsert",
- "mod_arg",
- "-r",
- "10.144.169.86:8080"
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[252] parse_rs_func error case 2 (CMD_ADD_RS target address not specified) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_rs_func error case 3 (CMD_ADD_RS realserver address not specified)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
- int argc = 7;
- char* argv[] = { "l7vsadm_test",
- "-a",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[253] parse_rs_func error case 3 (CMD_ADD_RS realserver address not specified) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
+ // parse_opt_vs_bypass_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-b", "10.144.169.87:8080" };
+
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
+
+ // unit_test[54] parse_opt_vs_bypass_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[55] parse_opt_vs_bypass_func normal case 1 sorry_endpoint check
+ boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_endpoint, ep);
+ }
-//ramiel_ipv6 add
- // parse_rs_func error case 4 (CMD_ADD_RS realserver any address ipv4 )
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
- int argc = 11;
- char* argv[] = { "l7vsadm_test",
- "-a",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-r",
- "0.0.0.0:8080",
- "-w",
- "10"
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[xx] parse_rs_func error case 4 (CMD_ADD_RS realserver any address ipv4) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
+ // parse_opt_vs_bypass_func normal case 2 (sorryserver_clear)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-b", "0.0.0.0:0" };
+
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
+
+ // unit_test[56] parse_opt_vs_bypass_func normal case 2 (sorryserver_clear) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[57] parse_opt_vs_bypass_func normal case 2 (sorryserver_clear) sorry_endpoint check
+ boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>("255.255.255.255:0");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_endpoint, ep);
+ }
+
+ // parse_opt_vs_bypass_func normal case 3 (sorryserver specified in name)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-b", "127.0.0.1:http" };
+
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
+
+ // unit_test[58] parse_opt_vs_bypass_func normal case 3 (sorryserver specified in name) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[59] parse_opt_vs_bypass_func normal case 3 (sorryserver specified in name) endpoint check
+ boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>("127.0.0.1:80");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_endpoint, ep);
+ }
//ramiel_ipv6 add
- // parse_rs_func error case 5 (CMD_ADD_RS realserver any address ipv6 )
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
- int argc = 11;
- char* argv[] = { "l7vsadm_test",
- "-a",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-r",
- "[::]:8080",
- "-w",
- "10"
- };
-
- bool ret = adm.parse_rs_func_wp( cmd, argc, argv );
-
- // unit_test[xx] parse_rs_func error case 5 (CMD_ADD_RS realserver any address ipv6) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_rs_func_test end -----" );
+ // parse_opt_vs_bypass_func normal case 4 (ipv6)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-b", "[2001::10]:8080" };
+
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_bypass_func normal case 4 (ipv6) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_bypass_func normal case 4 (ipv6) sorry_endpoint check
+ boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>("[2001::10]:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_endpoint, ep);
+ }
-}
+ // parse_opt_vs_bypass_func error case 1 (invalid endpoint)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-b", "10.144.169.257:8080" };
-void parse_opt_replication_switch_func_test(){
- BOOST_MESSAGE( "----- parse_opt_replication_switch_func_test start -----" );
-
- // parse_opt_replication_switch_func normal case 1 (replication start)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-R", "-s", "start" };
-
- bool ret = adm.parse_opt_replication_switch_func_wp( pos, argc, argv );
-
- // unit_test[254] parse_opt_replication_switch_func normal case 1 (replication start) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[255] parse_opt_replication_switch_func normal case 1 (replication start) replication command check
- BOOST_CHECK_EQUAL( adm.get_request().replication_command, l7vs::l7vsadm_request::REP_START );
- }
-
- // parse_opt_replication_switch_func normal case 2 (replication stop)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-R", "-s", "stop" };
-
- bool ret = adm.parse_opt_replication_switch_func_wp( pos, argc, argv );
-
- // unit_test[256] parse_opt_replication_switch_func normal case 2 (replication stop) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[257] parse_opt_replication_switch_func normal case 2 (replication stop) replication command check
- BOOST_CHECK_EQUAL( adm.get_request().replication_command, l7vs::l7vsadm_request::REP_STOP );
- }
-
- // parse_opt_replication_switch_func error case 1 (invalid switch option)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-R", "-s", "end" };
-
- bool ret = adm.parse_opt_replication_switch_func_wp( pos, argc, argv );
-
- // unit_test[258] parse_opt_replication_switch_func error case 1 (invalid switch option) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_replication_switch_func error case 2 (no switch option)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-R", "-s" };
-
- bool ret = adm.parse_opt_replication_switch_func_wp( pos, argc, argv );
-
- // unit_test[259] parse_opt_replication_switch_func error case 2 (no switch option) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_replication_switch_func_test end -----" );
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
-}
+ // unit_test[60] parse_opt_vs_bypass_func error case 1 (invalid endpoint) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_bypass_func error case 2 (no endpoint)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-b" };
-void parse_opt_replication_force_func_test(){
- BOOST_MESSAGE( "----- parse_opt_replication_force_func_test start -----" );
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
- // parse_opt_replication_force_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-R", "-f" };
+ // unit_test[61] parse_opt_vs_bypass_func error case 2 (no endpoint) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
- bool ret = adm.parse_opt_replication_force_func_wp( pos, argc, argv );
-
- // unit_test[260] parse_opt_replication_force_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[261] parse_opt_replication_force_func normal case 1 replication command check
- BOOST_CHECK_EQUAL( adm.get_request().replication_command, l7vs::l7vsadm_request::REP_FORCE );
- }
+ // parse_opt_vs_bypass_func error case 3 (0.0.0.0 address)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-b", "0.0.0.0:8080" };
- BOOST_MESSAGE( "----- parse_opt_replication_force_func_test end -----" );
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
-}
+ // unit_test[62] parse_opt_vs_bypass_func error case 3 (0.0.0.0 address) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
-void parse_opt_replication_dump_func_test(){
- BOOST_MESSAGE( "----- parse_opt_replication_dump_func_test start -----" );
+ // parse_opt_vs_bypass_func error case 4 (0 port)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-b", "10.144.169.87:0" };
- // parse_opt_replication_dump_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-R", "-d" };
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
- bool ret = adm.parse_opt_replication_dump_func_wp( pos, argc, argv );
-
- // unit_test[262] parse_opt_replication_dump_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[263] parse_opt_replication_dump_func normal case 1 replication command check
- BOOST_CHECK_EQUAL( adm.get_request().replication_command, l7vs::l7vsadm_request::REP_DUMP );
- }
+ // unit_test[63] parse_opt_vs_bypass_func error case 4 (0 port) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
- BOOST_MESSAGE( "----- parse_opt_replication_dump_func_test end -----" );
+ // parse_opt_vs_bypass_func error case 5 (invalid port (99999))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-b", "10.144.169.87:99999" };
-}
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
-void parse_replication_func_test(){
- BOOST_MESSAGE( "----- parse_replication_func_test start -----" );
-
- // parse_replication_func normal case 1 (replication start)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-R", "-s", "start" };
-
- bool ret = adm.parse_replication_func_wp( cmd, argc, argv );
-
- // unit_test[264] parse_replication_func normal case 1 (replication start) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[265] parse_replication_func normal case 1 (replication start) request command check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_REPLICATION );
- // unit_test[266] parse_replication_func normal case 1 (replication start) replication command check
- BOOST_CHECK_EQUAL( adm.get_request().replication_command, l7vs::l7vsadm_request::REP_START );
- }
-
- // parse_replication_func normal case 2 (replication stop)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-R", "-s", "stop" };
-
- bool ret = adm.parse_replication_func_wp( cmd, argc, argv );
-
- // unit_test[267] parse_replication_func normal case 2 (replication stop) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[268] parse_replication_func normal case 2 (replication stop) request command check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_REPLICATION );
- // unit_test[269] parse_replication_func normal case 2 (replication stop) replication command check
- BOOST_CHECK_EQUAL( adm.get_request().replication_command, l7vs::l7vsadm_request::REP_STOP );
- }
-
- // parse_replication_func normal case 3 (replication force)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-R", "-f" };
-
- bool ret = adm.parse_replication_func_wp( cmd, argc, argv );
-
- // unit_test[270] parse_replication_func normal case 3 (replication force) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[271] parse_replication_func normal case 3 (replication force) request command check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_REPLICATION );
- // unit_test[272] parse_replication_func normal case 3 (replication force) replication command check
- BOOST_CHECK_EQUAL( adm.get_request().replication_command, l7vs::l7vsadm_request::REP_FORCE );
- }
-
- // parse_replication_func normal case 4 (replication dump)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-R", "-d" };
-
- bool ret = adm.parse_replication_func_wp( cmd, argc, argv );
-
- // unit_test[273] parse_replication_func normal case 4 (replication dump) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[274] parse_replication_func normal case 4 (replication dump) request command check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_REPLICATION );
- // unit_test[275] parse_replication_func normal case 4 (replication dump) replication command check
- BOOST_CHECK_EQUAL( adm.get_request().replication_command, l7vs::l7vsadm_request::REP_DUMP );
- }
-
- // parse_replication_func error case 1 (replication command duplicate)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-R", "-f", "-d" };
-
- bool ret = adm.parse_replication_func_wp( cmd, argc, argv );
-
- // unit_test[276] parse_replication_func error case 1 (command duplicate) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_replication_func error case 2 (no replication command)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
- int argc = 2;
- char* argv[] = { "l7vsadm_test", "-R" };
-
- bool ret = adm.parse_replication_func_wp( cmd, argc, argv );
-
- // unit_test[277] parse_replication_func error case 2 (no replication command) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_replication_func_test end -----" );
+ // unit_test[64] parse_opt_vs_bypass_func error case 5 (invalid port (99999)) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
-}
+ // parse_opt_vs_bypass_func error case 6 (hostname omitted)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-b", ":22100" };
-void parse_opt_log_category_func_test(){
- BOOST_MESSAGE( "----- parse_opt_log_category_func_test start -----" );
-
- // parse_opt_log_category_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-L", "-c", "l7vsd_network" };
-
- bool ret = adm.parse_opt_log_category_func_wp( pos, argc, argv );
-
- // unit_test[278] parse_opt_log_category_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[279] parse_opt_log_category_func normal case 1 logcategory check
- BOOST_CHECK_EQUAL( adm.get_request().log_category, l7vs::LOG_CAT_L7VSD_NETWORK );
- }
-
- // parse_opt_log_category_func error case 1 (invalid logcategory value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-L", "-c", "l7vsd" };
-
- bool ret = adm.parse_opt_log_category_func_wp( pos, argc, argv );
-
- // unit_test[280] parse_opt_log_category_func error case 1 (invalid logcategory value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_log_category_func error case 2 (no logcategory value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-L", "-c" };
-
- bool ret = adm.parse_opt_log_category_func_wp( pos, argc, argv );
-
- // unit_test[281] parse_opt_log_category_func error case 2 (no logcategory value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_log_category_func_test end -----" );
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
-}
+ // unit_test[65] parse_opt_vs_bypass_func error case 6 (hostname omitted) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
-void parse_opt_log_level_func_test(){
- BOOST_MESSAGE( "----- parse_opt_log_level_func_test start -----" );
-
- // parse_opt_log_level_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-L", "-l", "error" };
-
- bool ret = adm.parse_opt_log_level_func_wp( pos, argc, argv );
-
- // unit_test[282] parse_opt_log_level_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[283] parse_opt_log_level_func normal case 1 loglevel check
- BOOST_CHECK_EQUAL( adm.get_request().log_level, l7vs::LOG_LV_ERROR );
- }
-
- // parse_opt_log_level_func error case 1 (invalid loglevel value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-L", "-l", "l7vsd" };
-
- bool ret = adm.parse_opt_log_level_func_wp( pos, argc, argv );
-
- // unit_test[284] parse_opt_log_level_func error case 1 (invalid loglevel value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_log_level_func error case 2 (no loglevel value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-L", "-l" };
-
- bool ret = adm.parse_opt_log_level_func_wp( pos, argc, argv );
-
- // unit_test[285] parse_opt_log_level_func error case 2 (no loglevel value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_log_level_func_test end -----" );
+ // parse_opt_vs_bypass_func error case 7 (port omitted)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-b", "10.144.169.87:" };
-}
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
-void parse_log_func_test(){
- BOOST_MESSAGE( "----- parse_log_func_test start -----" );
-
- // parse_log_func normal case 1
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LOG;
- int argc = 6;
- char* argv[] = { "l7vsadm_test",
- "-L",
- "-c",
- "l7vsd_network",
- "-l",
- "debug"
- };
-
- bool ret = adm.parse_log_func_wp( cmd, argc, argv );
-
- // unit_test[286] parse_log_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[287] parse_log_func normal case 1 request command check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_LOG );
- // unit_test[288] parse_log_func normal case 1 logcategory check
- BOOST_CHECK_EQUAL( adm.get_request().log_category, l7vs::LOG_CAT_L7VSD_NETWORK );
- // unit_test[289] parse_log_func normal case 1 logcategory check
- BOOST_CHECK_EQUAL( adm.get_request().log_level, l7vs::LOG_LV_DEBUG );
- }
-
- // parse_log_func error case 1 (no logcategory)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LOG;
- int argc = 4;
- char* argv[] = { "l7vsadm_test",
- "-L",
- "-l",
- "debug"
- };
-
- bool ret = adm.parse_log_func_wp( cmd, argc, argv );
-
- // unit_test[290] parse_log_func error case 1 (no logcategory) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_log_func error case 2 (no loglevel)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LOG;
- int argc = 4;
- char* argv[] = { "l7vsadm_test",
- "-L",
- "-c",
- "l7vsd_network"
- };
-
- bool ret = adm.parse_log_func_wp( cmd, argc, argv );
-
- // unit_test[291] parse_log_func error case 2 (no loglevel) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_log_func_test end -----" );
+ // unit_test[66] parse_opt_vs_bypass_func error case 7 (port omitted) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
-}
+//ramiel_ipv6 add
+ // parse_opt_vs_bypass_func error case 8 (ipv6 any address)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-b", "[::]:8080" };
-void parse_opt_snmp_log_category_func_test(){
- BOOST_MESSAGE( "----- parse_opt_snmp_log_category_func_test start -----" );
-
- // parse_opt_snmp_log_category_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-S", "-c", "snmpagent_start_stop" };
-
- bool ret = adm.parse_opt_snmp_log_category_func_wp( pos, argc, argv );
-
- // unit_test[292] parse_opt_snmp_log_category_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[293] parse_opt_snmp_log_category_func normal case 1 logcategory check
- BOOST_CHECK_EQUAL( adm.get_request().snmp_log_category, l7vs::LOG_CAT_SNMPAGENT_START_STOP );
- }
-
- // parse_opt_snmp_log_category_func error case 1 (invalid logcategory value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-S", "-c", "snmpagent" };
-
- bool ret = adm.parse_opt_snmp_log_category_func_wp( pos, argc, argv );
-
- // unit_test[294] parse_opt_snmp_log_category_func error case 1 (invalid logcategory value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_snmp_log_category_func error case 2 (no logcategory value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-S", "-c" };
-
- bool ret = adm.parse_opt_snmp_log_category_func_wp( pos, argc, argv );
-
- // unit_test[295] parse_opt_snmp_log_category_func error case 2 (no logcategory value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_snmp_log_category_func_test end -----" );
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
-}
+ // unit_test[xx] parse_opt_vs_bypass_func error case 8 (ipv6 any address) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
-void parse_opt_snmp_log_level_func_test(){
- BOOST_MESSAGE( "----- parse_opt_snmp_log_level_func_test start -----" );
-
- // parse_opt_snmp_log_level_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-S", "-l", "info" };
-
- bool ret = adm.parse_opt_snmp_log_level_func_wp( pos, argc, argv );
-
- // unit_test[296] parse_opt_snmp_log_level_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[297] parse_opt_snmp_log_level_func normal case 1 loglevel check
- BOOST_CHECK_EQUAL( adm.get_request().snmp_log_level, l7vs::LOG_LV_INFO );
- }
-
- // parse_opt_snmp_log_level_func error case 1 (invalid loglevel value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-S", "-l", "snmpagent" };
-
- bool ret = adm.parse_opt_snmp_log_level_func_wp( pos, argc, argv );
-
- // unit_test[298] parse_opt_snmp_log_level_func error case 1 (invalid loglevel value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_snmp_log_level_func error case 2 (no loglevel value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-S", "-l" };
-
- bool ret = adm.parse_opt_snmp_log_level_func_wp( pos, argc, argv );
-
- // unit_test[299] parse_opt_snmp_log_level_func error case 2 (no loglevel value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_snmp_log_level_func_test end -----" );
+ BOOST_MESSAGE("----- parse_opt_vs_bypass_func_test end -----");
}
-void parse_snmp_func_test(){
- BOOST_MESSAGE( "----- parse_snmp_func_test start -----" );
-
- // parse_snmp_func normal case 1
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_SNMP;
- int argc = 6;
- char* argv[] = { "l7vsadm_test",
- "-S",
- "-c",
- "snmpagent_start_stop",
- "-l",
- "warn"
- };
-
- bool ret = adm.parse_snmp_func_wp( cmd, argc, argv );
-
- // unit_test[300] parse_snmp_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[301] parse_snmp_func normal case 1 request command check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_SNMP );
- // unit_test[302] parse_snmp_func normal case 1 logcategory check
- BOOST_CHECK_EQUAL( adm.get_request().snmp_log_category, l7vs::LOG_CAT_SNMPAGENT_START_STOP );
- // unit_test[303] parse_snmp_func normal case 1 logcategory check
- BOOST_CHECK_EQUAL( adm.get_request().snmp_log_level, l7vs::LOG_LV_WARN );
- }
-
- // parse_snmp_func error case 1 (no logcategory)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_SNMP;
- int argc = 4;
- char* argv[] = { "l7vsadm_test",
- "-S",
- "-l",
- "debug"
- };
-
- bool ret = adm.parse_snmp_func_wp( cmd, argc, argv );
-
- // unit_test[304] parse_snmp_func error case 1 (no logcategory) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_snmp_func error case 2 (no loglevel)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_SNMP;
- int argc = 4;
- char* argv[] = { "l7vsadm_test",
- "-S",
- "-c",
- "snmpagent_start_stop"
- };
-
- bool ret = adm.parse_snmp_func_wp( cmd, argc, argv );
-
- // unit_test[305] parse_snmp_func error case 2 (no loglevel) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_snmp_func_test end -----" );
+void parse_opt_vs_flag_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_flag_func_test start -----");
-}
+ // parse_opt_vs_flag_func normal case 1 (flag on)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-f", "1" };
-void parse_opt_parameter_reload_func_test(){
- BOOST_MESSAGE( "----- parse_opt_parameter_reload_func_test start -----" );
-
- // parse_opt_parameter_reload_func normal case 1
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-P", "-r", "replication" };
-
- bool ret = adm.parse_opt_parameter_reload_func_wp( pos, argc, argv );
-
- // unit_test[306] parse_opt_parameter_reload_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[307] parse_opt_parameter_reload_func normal case 1 reload_component check
- BOOST_CHECK_EQUAL( adm.get_request().reload_param, l7vs::PARAM_COMP_REPLICATION );
- }
-
- // parse_opt_parameter_reload_func error case 1 (invalid reload_component value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 4;
- char* argv[] = { "l7vsadm_test", "-P", "-r", "lsock" };
-
- bool ret = adm.parse_opt_parameter_reload_func_wp( pos, argc, argv );
-
- // unit_test[308] parse_opt_parameter_reload_func error case 1 (invalid reload_component value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- // parse_opt_parameter_reload_func error case 2 (no reload_component value)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv[] = { "l7vsadm_test", "-P", "-r" };
-
- bool ret = adm.parse_opt_parameter_reload_func_wp( pos, argc, argv );
-
- // unit_test[309] parse_opt_parameter_reload_func error case 2 (no reload_component value) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_opt_parameter_reload_func_test end -----" );
+ bool ret = adm.parse_opt_vs_flag_func_wp(pos, argc, argv);
-}
+ // unit_test[67] parse_opt_vs_flag_func normal case 1 (flag on) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[68] parse_opt_vs_flag_func normal case 1 (flag on) sorry_flag check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_flag, 1);
+ }
-void parse_parameter_func_test(){
- BOOST_MESSAGE( "----- parse_parameter_func_test start -----" );
-
- // parse_parameter_func normal case 1
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_PARAMETER;
- int argc = 4;
- char* argv[] = { "l7vsadm_test",
- "-P",
- "-r",
- "logger"
- };
-
- bool ret = adm.parse_parameter_func_wp( cmd, argc, argv );
-
- // unit_test[310] parse_parameter_func normal case 1 return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[311] parse_parameter_func normal case 1 request command check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_PARAMETER );
- // unit_test[312] parse_parameter_func normal case 1 reload_component check
- BOOST_CHECK_EQUAL( adm.get_request().reload_param, l7vs::PARAM_COMP_LOGGER );
- }
-
- // parse_parameter_func error case 1 (no reload_component)
- {
- l7vsadm_test adm;
- l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_PARAMETER;
- int argc = 2;
- char* argv[] = { "l7vsadm_test",
- "-P"
- };
-
- bool ret = adm.parse_parameter_func_wp( cmd, argc, argv );
-
- // unit_test[313] parse_parameter_func error case 1 (no reload_component) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- parse_parameter_func_test end -----" );
+ // parse_opt_vs_flag_func normal case 2 (flag off)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-f", "0" };
-}
+ bool ret = adm.parse_opt_vs_flag_func_wp(pos, argc, argv);
+
+ // unit_test[69] parse_opt_vs_flag_func normal case 2 (flag off) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[70] parse_opt_vs_flag_func normal case 2 (flag off) sorry_flag check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_flag, INT_MAX);
+ }
+
+ // parse_opt_vs_flag_func error case 1 (no flag)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-f" };
+
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
+
+ // unit_test[71] parse_opt_vs_flag_func error case 1 (no flag) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_flag_func error case 2 (1 nor 0)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-f", "2" };
+
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
-void parse_opt_vs_fwdmode_func_test(){
- BOOST_MESSAGE( "----- parse_opt_vs_fwdmode_func_test start -----" );
-
- // parse_opt_vs_fwdmode_func normal case 1 (masq)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv1[] = { "l7vsadm_test", "-A", "-M" };
- char* argv2[] = { "l7vsadm_test", "-A", "--masq" };
- bool ret;
-
- ret = adm.parse_opt_vs_fwdmode_func_wp( pos, argc, argv1 );
- BOOST_CHECK_EQUAL( ret, true );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_fwdmode, 1 );
-
- ret = adm.parse_opt_vs_fwdmode_func_wp( pos, argc, argv2 );
- BOOST_CHECK_EQUAL( ret, true );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_fwdmode, 1 );
- }
-
- // parse_opt_vs_fwdmode_func normal case 2 (tproxy)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv1[] = { "l7vsadm_test", "-A", "-T" };
- char* argv2[] = { "l7vsadm_test", "-A", "--tproxy" };
- bool ret;
-
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
-
- ret = adm.parse_opt_vs_fwdmode_func_wp( pos, argc, argv1 );
- BOOST_CHECK_EQUAL( ret, true );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_fwdmode, 2 );
-
- ret = adm.parse_opt_vs_fwdmode_func_wp( pos, argc, argv2 );
- BOOST_CHECK_EQUAL( ret, true );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_fwdmode, 2 );
- }
-
- BOOST_MESSAGE( "----- parse_opt_vs_fwdmode_func_test end -----" );
+ // unit_test[72] parse_opt_vs_flag_func error case 2 (1 nor 0) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_flag_func error case 3 (int over)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ std::stringstream ss;
+ ss << (1ULL) + INT_MAX;
+ char *argv[] = { "l7vsadm_test", "-A", "-f", const_cast<char *>(ss.str().c_str()) };
+
+ bool ret = adm.parse_opt_vs_bypass_func_wp(pos, argc, argv);
+
+ // unit_test[73] parse_opt_vs_flag_func error case 3 (int over) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_vs_flag_func_test end -----");
}
-void parse_opt_rs_fwdmode_func_test(){
- BOOST_MESSAGE( "----- parse_opt_rs_fwdmode_func_test start -----" );
+void parse_opt_vs_qosup_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_qosup_func_test start -----");
- // parse_opt_rs_fwdmode_func normal case 1 (masq)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv1[] = { "l7vsadm_test", "-a", "-M" };
- char* argv2[] = { "l7vsadm_test", "-a", "--masq" };
- bool ret;
+ // parse_opt_vs_qosup_func normal case 1 (no unit postfix)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128" };
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
- ret = adm.parse_opt_rs_fwdmode_func_wp( pos, argc, argv1 );
- BOOST_CHECK_EQUAL( ret, true );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().fwdmode, 1 );
+ // unit_test[74] parse_opt_vs_qosup_func normal case 1 (no unit postfix) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[75] parse_opt_vs_qosup_func normal case 1 (no unit postfix) qos_upstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_upstream, (128ULL / 8));
+ }
- ret = adm.parse_opt_rs_fwdmode_func_wp( pos, argc, argv2 );
- BOOST_CHECK_EQUAL( ret, true );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().fwdmode, 1 );
- }
+ // parse_opt_vs_qosup_func normal case 2 (unit postfix 'G')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128G" };
- // parse_opt_rs_fwdmode_func normal case 2 (tproxy)
- {
- l7vsadm_test adm;
- int pos = 2;
- int argc = 3;
- char* argv1[] = { "l7vsadm_test", "-a", "-T" };
- char* argv2[] = { "l7vsadm_test", "-a", "--tproxy" };
- bool ret;
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
- adm.get_request().vs_element.realserver_vector.push_back( l7vs::realserver_element() );
+ // unit_test[76] parse_opt_vs_qosup_func normal case 2 (unit postfix 'G') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[77] parse_opt_vs_qosup_func normal case 2 (unit postfix 'G') qos_upstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_upstream, (128000000000ULL / 8));
+ }
- ret = adm.parse_opt_rs_fwdmode_func_wp( pos, argc, argv1 );
- BOOST_CHECK_EQUAL( ret, true );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().fwdmode, 2 );
+ // parse_opt_vs_qosup_func normal case 3 (unit postfix 'g')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128g" };
- ret = adm.parse_opt_rs_fwdmode_func_wp( pos, argc, argv2 );
- BOOST_CHECK_EQUAL( ret, true );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.realserver_vector.front().fwdmode, 2 );
- }
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
- BOOST_MESSAGE( "----- parse_opt_rs_fwdmode_func_test end -----" );
+ // unit_test[78] parse_opt_vs_qosup_func normal case 3 (unit postfix 'g') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[79] parse_opt_vs_qosup_func normal case 3 (unit postfix 'g') qos_upstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_upstream, (128000000000ULL / 8));
+ }
-}
+ // parse_opt_vs_qosup_func normal case 4 (unit postfix 'M')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128M" };
-void execute_test(){
- BOOST_MESSAGE( "----- execute_test start -----" );
-
- // execute normal case 1 (no option)
- {
- l7vsadm_test adm;
- int argc = 1;
- char* argv[] = { "l7vsadm_test" };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
- test_response.virtualservice_status_list.push_back( l7vs::virtualservice_element() );
- test_response.virtualservice_status_list.push_back( l7vs::virtualservice_element() );
- typedef std::list< l7vs::virtualservice_element > vse_list_type;
- for( vse_list_type::iterator itr = test_response.virtualservice_status_list.begin();
- itr != test_response.virtualservice_status_list.end();
- ++itr ){
- itr->protocol_module_name = "protomod";
- itr->schedule_module_name = "sched";
- itr->realserver_vector.push_back( l7vs::realserver_element() );
- itr->realserver_vector.push_back( l7vs::realserver_element() );
- }
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- // accept ready wait
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[314] execute normal case 1 (no option) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[315] execute normal case 1 (no option) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_LIST );
- // unit_test[316] execute normal case 1 (no option) response value check
- BOOST_CHECK_EQUAL( adm.get_response().virtualservice_status_list.size(), 2U );
- }
-
-
- // execute normal case 2 (list operation)
- {
- l7vsadm_test adm;
- int argc = 2;
- char* argv[] = { "l7vsadm_test",
- "-l"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
- test_response.virtualservice_status_list.push_back( l7vs::virtualservice_element() );
- test_response.virtualservice_status_list.push_back( l7vs::virtualservice_element() );
- typedef std::list< l7vs::virtualservice_element > vse_list_type;
- for( vse_list_type::iterator itr = test_response.virtualservice_status_list.begin();
- itr != test_response.virtualservice_status_list.end();
- ++itr ){
- itr->protocol_module_name = "protomod";
- itr->schedule_module_name = "sched";
- itr->realserver_vector.push_back( l7vs::realserver_element() );
- itr->realserver_vector.push_back( l7vs::realserver_element() );
- }
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[317] execute normal case 2 (list operation) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[318] execute normal case 2 (list operation) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_LIST );
- // unit_test[319] execute normal case 2 (list operation) response value check
- BOOST_CHECK_EQUAL( adm.get_response().virtualservice_status_list.size(), 2U );
- }
-
- // execute normal case 3 (list operation numeric)
- {
- l7vsadm_test adm;
- int argc = 3;
- char* argv[] = { "l7vsadm_test",
- "-l",
- "-n"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
- test_response.virtualservice_status_list.push_back( l7vs::virtualservice_element() );
- test_response.virtualservice_status_list.push_back( l7vs::virtualservice_element() );
- typedef std::list< l7vs::virtualservice_element > vse_list_type;
- for( vse_list_type::iterator itr = test_response.virtualservice_status_list.begin();
- itr != test_response.virtualservice_status_list.end();
- ++itr ){
- itr->protocol_module_name = "protomod";
- itr->schedule_module_name = "sched";
- itr->realserver_vector.push_back( l7vs::realserver_element() );
- itr->realserver_vector.push_back( l7vs::realserver_element() );
- }
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[320] execute normal case 3 (list operation numeric) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[321] execute normal case 3 (list operation numeric) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_LIST );
- // unit_test[322] execute normal case 3 (list operation numeric) response value check
- BOOST_CHECK_EQUAL( adm.get_response().virtualservice_status_list.size(), 2U );
-
- }
-
- // execute normal case 4 (list operation key)
- {
- l7vsadm_test adm;
- int argc = 2;
- char* argv[] = { "l7vsadm_test",
- "-K"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
- test_response.virtualservice_status_list.push_back( l7vs::virtualservice_element() );
- test_response.virtualservice_status_list.push_back( l7vs::virtualservice_element() );
- typedef std::list< l7vs::virtualservice_element > vse_list_type;
- for( vse_list_type::iterator itr = test_response.virtualservice_status_list.begin();
- itr != test_response.virtualservice_status_list.end();
- ++itr ){
- itr->protocol_module_name = "protomod";
- itr->schedule_module_name = "sched";
- itr->realserver_vector.push_back( l7vs::realserver_element() );
- itr->realserver_vector.push_back( l7vs::realserver_element() );
- }
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[323] execute normal case 4 (list operation key) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[324] execute normal case 4 (list operation key) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_LIST_KEY );
- // unit_test[325] execute normal case 4 (list operation key) response value check
- BOOST_CHECK_EQUAL( adm.get_response().virtualservice_status_list.size(), 2U );
- }
-
- // execute normal case 5 (list operation verbose)
- {
- l7vsadm_test adm;
- int argc = 2;
- char* argv[] = { "l7vsadm_test",
- "-V"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
- test_response.virtualservice_status_list.push_back( l7vs::virtualservice_element() );
- test_response.virtualservice_status_list.push_back( l7vs::virtualservice_element() );
- typedef std::list< l7vs::virtualservice_element > vse_list_type;
- for( vse_list_type::iterator itr = test_response.virtualservice_status_list.begin();
- itr != test_response.virtualservice_status_list.end();
- ++itr ){
- itr->protocol_module_name = "protomod";
- itr->schedule_module_name = "sched";
- itr->realserver_vector.push_back( l7vs::realserver_element() );
- itr->realserver_vector.push_back( l7vs::realserver_element() );
- }
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[326] execute normal case 5 (list operation verbose) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[327] execute normal case 5 (list operation verbose) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_LIST_VERBOSE );
- // unit_test[328] execute normal case 5 (list operation verbose) response value check
- BOOST_CHECK_EQUAL( adm.get_response().virtualservice_status_list.size(), 2U );
- }
-
- // execute normal case 6 (vs operation add-vs)
- {
- l7vsadm_test adm;
- int argc = 17;
- char* argv[] = { "l7vsadm_test",
- "-A",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-s",
- "lc",
- "-u",
- "50",
- "-b",
- "10.144.169.86:8080",
- "-Q",
- "100M",
- "-q",
- "200M"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[329] execute normal case 6 (vs operation add-vs) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[330] execute normal case 6 (vs operation add-vs) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_ADD_VS );
- // unit_test[331] execute normal case 6 (vs operation add-vs) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( test_request.vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[332] execute normal case 6 (vs operation add-vs) protocol module name check
- BOOST_CHECK_EQUAL( test_request.vs_element.protocol_module_name, "cinsert" );
- // unit_test[333] execute normal case 6 (vs operation add-vs) protocol module arg check
- BOOST_CHECK_EQUAL( test_request.vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[334] execute normal case 6 (vs operation add-vs) schedule module name check
- BOOST_CHECK_EQUAL( test_request.vs_element.schedule_module_name, "lc" );
- // unit_test[335] execute normal case 6 (vs operation add-vs) sorry_maxconnection check
- BOOST_CHECK_EQUAL( test_request.vs_element.sorry_maxconnection, 50 );
- // unit_test[336] execute normal case 6 (vs operation add-vs) sorry_endpoint check
- boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:8080" );
- BOOST_CHECK_EQUAL( test_request.vs_element.sorry_endpoint, sorry_ep );
- // unit_test[337] execute normal case 6 (vs operation add-vs) qos_upstream check
- BOOST_CHECK_EQUAL( test_request.vs_element.qos_upstream, ( 100000000ULL / 8 ) );
- // unit_test[338] execute normal case 6 (vs operation add-vs) qos_downstream check
- BOOST_CHECK_EQUAL( test_request.vs_element.qos_downstream, ( 200000000ULL / 8 ) );
- }
-
- // execute normal case 7 (vs operation edit-vs)
- {
- l7vsadm_test adm;
- int argc = 19;
- char* argv[] = { "l7vsadm_test",
- "-E",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-s",
- "rr",
- "-u",
- "50",
- "-b",
- "10.144.169.86:8080",
- "-f",
- "1",
- "-Q",
- "100M",
- "-q",
- "200M"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[339] execute normal case 7 (vs operation edit-vs) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[340] execute normal case 7 (vs operation edit-vs) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_EDIT_VS );
- // unit_test[341] execute normal case 7 (vs operation edit-vs) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( test_request.vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[342] execute normal case 7 (vs operation edit-vs) protocol module name check
- BOOST_CHECK_EQUAL( test_request.vs_element.protocol_module_name, "cinsert" );
- // unit_test[343] execute normal case 7 (vs operation edit-vs) protocol module arg check
- BOOST_CHECK_EQUAL( test_request.vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[344] execute normal case 7 (vs operation edit-vs) schedule module name check
- BOOST_CHECK_EQUAL( test_request.vs_element.schedule_module_name, "rr" );
- // unit_test[345] execute normal case 7 (vs operation edit-vs) sorry_maxconnection check
- BOOST_CHECK_EQUAL( test_request.vs_element.sorry_maxconnection, 50 );
- // unit_test[346] execute normal case 7 (vs operation edit-vs) sorry_endpoint check
- boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:8080" );
- BOOST_CHECK_EQUAL( test_request.vs_element.sorry_endpoint, sorry_ep );
- // unit_test[347] execute normal case 7 (vs operation edit-vs) sorry_flag check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.sorry_flag, true );
- // unit_test[348] execute normal case 7 (vs operation edit-vs) qos_upstream check
- BOOST_CHECK_EQUAL( test_request.vs_element.qos_upstream, ( 100000000ULL / 8 ) );
- // unit_test[349] execute normal case 7 (vs operation edit-vs) qos_downstream check
- BOOST_CHECK_EQUAL( test_request.vs_element.qos_downstream, ( 200000000ULL / 8 ) );
- }
-
- // execute normal case 8 (vs operation del-vs)
- {
- l7vsadm_test adm;
- int argc = 7;
- char* argv[] = { "l7vsadm_test",
- "-D",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[350] execute normal case 8 (vs operation del-vs) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[351] execute normal case 8 (vs operation del-vs) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_DEL_VS );
- // unit_test[352] execute normal case 8 (vs operation del-vs) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[353] execute normal case 8 (vs operation del-vs) protocol module name check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_module_name, "cinsert" );
- // unit_test[354] execute normal case 8 (vs operation del-vs) protocol module arg check
- BOOST_CHECK_EQUAL( adm.get_request().vs_element.protocol_args.front(), "mod_arg" );
- }
-
- // execute normal case 9 (vs operation flush-vs)
- {
- l7vsadm_test adm;
- int argc = 2;
- char* argv[] = { "l7vsadm_test",
- "-C"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[355] execute normal case 9 (vs operation flush-vs) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[356] execute normal case 9 (vs operation flush-vs) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_FLUSH_VS );
- }
-
- // execute normal case 10 (rs operation add-rs)
- {
- l7vsadm_test adm;
- int argc = 11;
- char* argv[] = { "l7vsadm_test",
- "-a",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-r",
- "10.144.169.86:8080",
- "-w",
- "10"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[357] execute normal case 10 (rs operation add-rs) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[358] execute normal case 10 (rs operation add-rs) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_ADD_RS );
- // unit_test[359] execute normal case 10 (rs operation add-rs) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( test_request.vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[360] execute normal case 10 (rs operation add-rs) protocol module name check
- BOOST_CHECK_EQUAL( test_request.vs_element.protocol_module_name, "cinsert" );
- // unit_test[361] execute normal case 10 (rs operation add-rs) protocol module arg check
- BOOST_CHECK_EQUAL( test_request.vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[362] execute normal case 10 (rs operation add-rs) realserver endpoint check
- boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:8080" );
- BOOST_CHECK_EQUAL( test_request.vs_element.realserver_vector.front().tcp_endpoint, rs_ep );
- // unit_test[363] execute normal case 10 (rs operation add-rs) weight check
- BOOST_CHECK_EQUAL( test_request.vs_element.realserver_vector.front().weight, 10 );
- }
-
- // execute normal case 11 (rs operation edit-rs)
- {
- l7vsadm_test adm;
- int argc = 11;
- char* argv[] = { "l7vsadm_test",
- "-e",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-r",
- "10.144.169.86:8080",
- "-w",
- "20"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[364] execute normal case 11 (rs operation edit-rs) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[365] execute normal case 11 (rs operation edit-rs) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_EDIT_RS );
- // unit_test[366] execute normal case 11 (rs operation edit-rs) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( test_request.vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[367] execute normal case 11 (rs operation edit-rs) protocol module name check
- BOOST_CHECK_EQUAL( test_request.vs_element.protocol_module_name, "cinsert" );
- // unit_test[368] execute normal case 11 (rs operation edit-rs) protocol module arg check
- BOOST_CHECK_EQUAL( test_request.vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[369] execute normal case 11 (rs operation edit-rs) realserver endpoint check
- boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:8080" );
- BOOST_CHECK_EQUAL( test_request.vs_element.realserver_vector.front().tcp_endpoint, rs_ep );
- // unit_test[370] execute normal case 11 (rs operation edit-rs) weight check
- BOOST_CHECK_EQUAL( test_request.vs_element.realserver_vector.front().weight, 20 );
- }
-
- // execute normal case 12 (rs operation del-rs)
- {
- l7vsadm_test adm;
- int argc = 9;
- char* argv[] = { "l7vsadm_test",
- "-d",
- "-t",
- "10.144.169.87:22100",
- "-m",
- "cinsert",
- "mod_arg",
- "-r",
- "10.144.169.86:8080"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[371] execute normal case 12 (rs operation del-rs) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[372] execute normal case 12 (rs operation del-rs) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_DEL_RS );
- // unit_test[373] execute normal case 12 (rs operation del-rs) tcp_accept_endpoint check
- boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.87:22100" );
- BOOST_CHECK_EQUAL( test_request.vs_element.tcp_accept_endpoint, tcp_acc_ep );
- // unit_test[374] execute normal case 12 (rs operation del-rs) protocol module name check
- BOOST_CHECK_EQUAL( test_request.vs_element.protocol_module_name, "cinsert" );
- // unit_test[375] execute normal case 12 (rs operation del-rs) protocol module arg check
- BOOST_CHECK_EQUAL( test_request.vs_element.protocol_args.front(), "mod_arg" );
- // unit_test[376] execute normal case 12 (rs operation del-rs) realserver endpoint check
- boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>( "10.144.169.86:8080" );
- BOOST_CHECK_EQUAL( test_request.vs_element.realserver_vector.front().tcp_endpoint, rs_ep );
- }
-
- // execute normal case 13 (replication operation)
- {
- l7vsadm_test adm;
- int argc = 4;
- char* argv[] = { "l7vsadm_test",
- "-R",
- "-s",
- "start"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[377] execute normal case 13 (replication operation) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[378] execute normal case 13 (replication operation) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_REPLICATION );
- // unit_test[379] execute normal case 13 (replication operation) replication command check
- BOOST_CHECK_EQUAL( test_request.replication_command, l7vs::l7vsadm_request::REP_START );
- }
-
- // execute normal case 14 (log operation)
- {
- l7vsadm_test adm;
- int argc = 6;
- char* argv[] = { "l7vsadm_test",
- "-L",
- "-c",
- "l7vsd_network",
- "-l",
- "debug"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[380] execute normal case 14 (log operation) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[381] execute normal case 14 (log operation) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_LOG );
- // unit_test[382] execute normal case 14 (log operation) logcategory check
- BOOST_CHECK_EQUAL( test_request.log_category, l7vs::LOG_CAT_L7VSD_NETWORK );
- // unit_test[383] execute normal case 14 (log operation) logcategory check
- BOOST_CHECK_EQUAL( test_request.log_level, l7vs::LOG_LV_DEBUG );
- }
-
- // execute normal case 15 (snmp log operation)
- {
- l7vsadm_test adm;
- int argc = 6;
- char* argv[] = { "l7vsadm_test",
- "-S",
- "-c",
- "snmpagent_start_stop",
- "-l",
- "warn"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[384] execute normal case 15 (snmp log operation) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[385] execute normal case 15 (snmp log operation) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_SNMP );
- // unit_test[386] execute normal case 15 (snmp log operation) logcategory check
- BOOST_CHECK_EQUAL( test_request.snmp_log_category, l7vs::LOG_CAT_SNMPAGENT_START_STOP );
- // unit_test[387] execute normal case 15 (snmp log operation) logcategory check
- BOOST_CHECK_EQUAL( test_request.snmp_log_level, l7vs::LOG_LV_WARN );
- }
-
- // execute normal case 16 (parameter operation)
- {
- l7vsadm_test adm;
- int argc = 4;
- char* argv[] = { "l7vsadm_test",
- "-P",
- "-r",
- "logger"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
- test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
-
- accept_ready = false;
- boost::thread thd1( &server_thread );
- {
- //boost::mutex::scoped_lock lock( accept_mutex );
- //accept_condition.wait( lock );
- for(;;) { if(accept_ready) break; }
- }
- bool ret = adm.execute_wp( argc, argv );
- thd1.join();
-
- // unit_test[388] execute normal case 16 (parameter operation) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[389] execute normal case 16 (parameter operation) request command check
- BOOST_CHECK_EQUAL( test_request.command, l7vs::l7vsadm_request::CMD_PARAMETER );
- // unit_test[390] execute normal case 16 (parameter operation) reload_component check
- BOOST_CHECK_EQUAL( test_request.reload_param, l7vs::PARAM_COMP_LOGGER );
- }
-
- // execute normal case 17 (help operation)
- {
- l7vsadm_test adm;
- int argc = 2;
- char* argv[] = { "l7vsadm_test",
- "-h"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
-
- bool ret = adm.execute_wp( argc, argv );
-
- // unit_test[391] execute normal case 17 (help operation) return value check
- BOOST_CHECK_EQUAL( ret, true );
- // unit_test[392] execute normal case 17 (help operation) request command check
- BOOST_CHECK_EQUAL( adm.get_request().command, l7vs::l7vsadm_request::CMD_HELP );
- }
-
- // execute error case 1 (invalid operation)
- {
- l7vsadm_test adm;
- int argc = 2;
- char* argv[] = { "l7vsadm_test",
- "-Z"
- };
-
- test_request = l7vs::l7vsadm_request();
- test_response = l7vs::l7vsd_response();
-
- bool ret = adm.execute_wp( argc, argv );
-
- // unit_test[393] execute 1 (invalid operation) return value check
- BOOST_CHECK_EQUAL( ret, false );
- }
-
- BOOST_MESSAGE( "----- execute_test end -----" );
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
-}
+ // unit_test[80] parse_opt_vs_qosup_func normal case 4 (unit postfix 'M') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[81] parse_opt_vs_qosup_func normal case 4 (unit postfix 'M') qos_upstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_upstream, (128000000ULL / 8));
+ }
+
+ // parse_opt_vs_qosup_func normal case 5 (unit postfix 'm')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128m" };
+
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
+
+ // unit_test[82] parse_opt_vs_qosup_func normal case 5 (unit postfix 'm') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[83] parse_opt_vs_qosup_func normal case 5 (unit postfix 'm') qos_upstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_upstream, (128000000ULL / 8));
+ }
+
+ // parse_opt_vs_qosup_func normal case 6 (unit postfix 'K')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128K" };
+
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
+
+ // unit_test[84] parse_opt_vs_qosup_func normal case 6 (unit postfix 'K') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[85] parse_opt_vs_qosup_func normal case 6 (unit postfix 'K') qos_upstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_upstream, (128000ULL / 8));
+ }
+
+ // parse_opt_vs_qosup_func normal case 7 (unit postfix 'k')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128k" };
+
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
+
+ // unit_test[86] parse_opt_vs_qosup_func normal case 7 (unit postfix 'k') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[87] parse_opt_vs_qosup_func normal case 7 (unit postfix 'k') qos_upstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_upstream, (128000ULL / 8));
+ }
+
+ // parse_opt_vs_qosup_func error case 1 (invalid qos_upstream value (charactor))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "a" };
+
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
+
+ // unit_test[88] parse_opt_vs_qosup_func error case 1 (invalid qos_upstream value (charactor)) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_qosup_func error case 2 (invalid qos_upstream value(unsigned long long over))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ std::stringstream ss;
+ ss << "18446744073709551616"; // ULLONG_MAX is 18446744073709551615
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char *>(ss.str().c_str()) };
+
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
+
+ // unit_test[89] parse_opt_vs_qosup_func error case 2 (invalid qos_upstream value(unsigned long long over)) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_qosup_func error case 3 (invalid qos_upstream value(unsigned long long over in postfix 'G'))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ std::stringstream ss;
+ ss << "17179869184G"; // ULLONG_MAX / 1024 / 1024 / 1024
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char *>(ss.str().c_str()) };
+
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
+
+ // unit_test[90] parse_opt_vs_qosup_func error case 3 (invalid qos_upstream value(unsigned long long over in postfix 'G')) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_qosup_func error case 4 (invalid qos_upstream value(unsigned long long over in postfix 'M'))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ std::stringstream ss;
+ ss << "17592186044416M"; // ULLONG_MAX / 1024 / 1024
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char *>(ss.str().c_str()) };
+
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
+
+ // unit_test[91] parse_opt_vs_qosup_func error case 4 (invalid qos_upstream value(unsigned long long over in postfix 'M')) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_qosup_func error case 5 (invalid qos_upstream value(unsigned long long over in postfix 'K'))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ std::stringstream ss;
+ ss << "18014398509481984K"; // ULLONG_MAX / 1024
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char *>(ss.str().c_str()) };
+
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
+
+ // unit_test[92] parse_opt_vs_qosup_func error case 5 (invalid qos_upstream value(unsigned long long over in postfix 'K')) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_qosup_func error case 6 (no qos_upstream value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q" };
+
+ bool ret = adm.parse_opt_vs_qosup_func_wp(pos, argc, argv);
+
+ // unit_test[93] parse_opt_vs_qosup_func error case 6 (no qos_upstream value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_vs_qosup_func_test end -----");
+
+}
+
+void parse_opt_vs_qosdown_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_qosdown_func_test start -----");
+
+ // parse_opt_vs_qosdown_func normal case 1 (no unit postfix)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128" };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[94] parse_opt_vs_qosdown_func normal case 1 (no unit postfix) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[95] parse_opt_vs_qosdown_func normal case 1 (no unit postfix) qos_downstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_downstream, (128ULL / 8));
+ }
+
+ // parse_opt_vs_qosdown_func normal case 2 (unit postfix 'G')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128G" };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[96] parse_opt_vs_qosdown_func normal case 2 (unit postfix 'G') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[97] parse_opt_vs_qosdown_func normal case 2 (unit postfix 'G') qos_downstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_downstream, (128000000000ULL / 8));
+ }
+
+ // parse_opt_vs_qosdown_func normal case 3 (unit postfix 'g')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128g" };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[98] parse_opt_vs_qosdown_func normal case 3 (unit postfix 'g') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[99] parse_opt_vs_qosdown_func normal case 3 (unit postfix 'g') qos_downstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_downstream, (128000000000ULL / 8));
+ }
+
+ // parse_opt_vs_qosdown_func normal case 4 (unit postfix 'M')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128M" };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[100] parse_opt_vs_qosdown_func normal case 4 (unit postfix 'M') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[101] parse_opt_vs_qosdown_func normal case 4 (unit postfix 'M') qos_downstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_downstream, (128000000ULL / 8));
+ }
+
+ // parse_opt_vs_qosdown_func normal case 5 (unit postfix 'm')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128m" };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[102] parse_opt_vs_qosdown_func normal case 5 (unit postfix 'm') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[103] parse_opt_vs_qosdown_func normal case 5 (unit postfix 'm') qos_downstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_downstream, (128000000ULL / 8));
+ }
+
+ // parse_opt_vs_qosdown_func normal case 6 (unit postfix 'K')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128K" };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[104] parse_opt_vs_qosdown_func normal case 6 (unit postfix 'K') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[105] parse_opt_vs_qosdown_func normal case 6 (unit postfix 'K') qos_downstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_downstream, (128000ULL / 8));
+ }
+
+ // parse_opt_vs_qosdown_func normal case 7 (unit postfix 'k')
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "128k" };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[106] parse_opt_vs_qosdown_func normal case 7 (unit postfix 'k') return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[107] parse_opt_vs_qosdown_func normal case 7 (unit postfix 'k') qos_downstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_downstream, (128000ULL / 8));
+ }
+
+ // parse_opt_vs_qosdown_func error case 1 (invalid qos_downstream value (charactor))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", "a" };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[108] parse_opt_vs_qosdown_func error case 1 (invalid qos_upstream value (charactor)) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_qosdown_func error case 2 (invalid qos_downstream value(unsigned long long over))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ std::stringstream ss;
+ ss << "18446744073709551616"; // ULLONG_MAX is 18446744073709551615
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char *>(ss.str().c_str()) };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[109] parse_opt_vs_qosdown_func error case 2 (invalid qos_downstream value(unsigned long long over)) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_qosdown_func error case 3 (invalid qos_downstream value(unsigned long long over in postfix 'G'))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ std::stringstream ss;
+ ss << "17179869184G"; // ULLONG_MAX / 1024 / 1024 / 1024
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char *>(ss.str().c_str()) };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[110] parse_opt_vs_qosdown_func error case 3 (invalid qos_downstream value(unsigned long long over in postfix 'G')) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_qosdown_func error case 4 (invalid qos_downstream value(unsigned long long over in postfix 'M'))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ std::stringstream ss;
+ ss << "17592186044416M"; // ULLONG_MAX / 1024 / 1024
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char *>(ss.str().c_str()) };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[111] parse_opt_vs_qosdown_func error case 4 (invalid qos_downstream value(unsigned long long over in postfix 'M')) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_qosdown_func error case 5 (invalid qos_downstream value(unsigned long long over in postfix 'K'))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ std::stringstream ss;
+ ss << "18014398509481984K"; // ULLONG_MAX / 1024
+ char *argv[] = { "l7vsadm_test", "-A", "-Q", const_cast<char *>(ss.str().c_str()) };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[112] parse_opt_vs_qosdown_func error case 5 (invalid qos_downstream value(unsigned long long over in postfix 'K')) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_vs_qosdown_func error case 6 (no qos_upstream value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-Q" };
+
+ bool ret = adm.parse_opt_vs_qosdown_func_wp(pos, argc, argv);
+
+ // unit_test[113] parse_opt_vs_qosdown_func error case 6 (no qos_downstream value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_vs_qosdown_func_test end -----");
+
+}
+
+void parse_opt_vs_udp_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_udp_func_test start -----");
+
+ // parse_opt_vs_udp_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-p" };
+
+ bool ret = adm.parse_opt_vs_udp_func_wp(pos, argc, argv);
+
+ // unit_test[114] parse_opt_vs_udp_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[115] parse_opt_vs_udp_func normal case 1 udp_mode check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.udpmode, true);
+ }
+
+ // parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-p" };
+
+ adm.get_request().vs_element.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+ adm.get_request().vs_element.realserver_vector.front().tcp_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:80");
+
+ bool ret = adm.parse_opt_vs_udp_func_wp(pos, argc, argv);
+
+ // unit_test[116] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[117] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) udp_mode check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.udpmode, true);
+
+ // unit_test[118] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint zeropoint;
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, zeropoint);
+
+ // unit_test[119] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) udp_recv_endpoint check
+ boost::asio::ip::udp::endpoint udp_recv_ep = string_to_endpoint<boost::asio::ip::udp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.udp_recv_endpoint, udp_recv_ep);
+
+ // unit_test[120] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) realserver tcp_endpoint check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, zeropoint);
+
+ // unit_test[121] parse_opt_vs_udp_func normal case 2 (already set tcp_endpoint) realserver udp_endpoint check
+ boost::asio::ip::udp::endpoint rs_udp_ep = string_to_endpoint<boost::asio::ip::udp>("10.144.169.86:80");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().udp_endpoint, rs_udp_ep);
+
+ }
+
+ BOOST_MESSAGE("----- parse_opt_vs_udp_func_test end -----");
+
+}
+
+void parse_opt_vs_ssl_file_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_ssl_file_func_test start -----");
+
+ // parse_opt_vs_ssl_file_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-z", "./sslfile.cf" };
+
+ bool ret = adm.parse_opt_vs_ssl_file_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_ssl_file_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_ssl_file_func normal case 1 filename check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.ssl_file_name, "./sslfile.cf");
+ }
+
+ // pser_opt_vs_ssl_file_func error case 1 (filename not specified)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-z"};
+
+ bool ret = adm.parse_opt_vs_ssl_file_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_ssl_file_func error case 1 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // pser_opt_vs_ssl_file_func error case 2 (filename too long)
+ {
+ std::string filename;
+ filename.resize(L7VS_FILENAME_LEN + 1, 'a');
+
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-z", const_cast< char * >(filename.c_str()) };
+
+ bool ret = adm.parse_opt_vs_ssl_file_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_ssl_file_func error case 2 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // pser_opt_vs_ssl_file_func error case 3 (file cannnot open)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-z", "./test.dat"};
+
+ bool ret = adm.parse_opt_vs_ssl_file_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_ssl_file_func error case 3 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_vs_ssl_file_func_test end -----");
+
+}
+
+void parse_opt_vs_access_log_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_access_log_func_test start -----");
+
+ // parse_opt_vs_access_log_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-L", "1" };
+
+ bool ret = adm.parse_opt_vs_access_log_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_access_log_func normal case 1 filename check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.access_log_flag, 1);
+ }
+
+ // pser_opt_vs_access_log_func error case 1 (access_log_flag not specified)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-L"};
+
+ bool ret = adm.parse_opt_vs_access_log_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_func error case 1 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // pser_opt_vs_access_log_func error case 2 (invalid range access log flag value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-z", "2"};
+
+ bool ret = adm.parse_opt_vs_access_log_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_func error case 2 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // pser_opt_vs_access_log_func error case 3 (invalied charactor access log flag value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-z", "a"};
+
+ bool ret = adm.parse_opt_vs_access_log_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_func error case 3 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_vs_access_log_func_test end -----");
+
+}
+
+void parse_opt_vs_access_log_logrotate_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_access_log_logrotate_func_test start -----");
+
+ // parse_opt_vs_access_log_logrotate_func normal case 1 (end with access log rotate option)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 6;
+ char *argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "--option", "zzz" };
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
+
+ bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 1 check_parameter call check
+ BOOST_CHECK_EQUAL(l7vs::logger_access_manager::access_log_logrotate_parameter_check_called, true);
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 1 access log file name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.access_log_file_name, "/var/log/l7vs/access.log");
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 1 rotate argument check
+ std::map< std::string, std::string >::iterator it = adm.get_request().vs_element.access_log_rotate_arguments.find("--option");
+ BOOST_CHECK(it != adm.get_request().vs_element.access_log_rotate_arguments.end());
+ BOOST_CHECK(it->second == "zzz");
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 1 rotate argument atring check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.access_log_rotate_key_info, "--option zzz");
+ }
+
+
+ // parse_opt_vs_access_log_logrotate_func normal case 2 (end with next vs option)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 7;
+ char *argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "--option", "zzz", "-t" };
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
+
+ bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 2 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 2 check_parameter call check
+ BOOST_CHECK_EQUAL(l7vs::logger_access_manager::access_log_logrotate_parameter_check_called, true);
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 2 access log file name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.access_log_file_name, "/var/log/l7vs/access.log");
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 2 rotate argument check
+ std::map< std::string, std::string >::iterator it = adm.get_request().vs_element.access_log_rotate_arguments.find("--option");
+ BOOST_CHECK(it != adm.get_request().vs_element.access_log_rotate_arguments.end());
+ BOOST_CHECK(it->second == "zzz");
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 2 rotate argument atring check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.access_log_rotate_key_info, "--option zzz");
+ }
+
+ // parse_opt_vs_access_log_logrotate_func normal case 3 (no rotate arg)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 5;
+ char *argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "-t" };
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
+
+ bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 3 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 3 check_parameter call check
+ BOOST_CHECK_EQUAL(l7vs::logger_access_manager::access_log_logrotate_parameter_check_called, false);
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 3 access log file name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.access_log_file_name, "/var/log/l7vs/access.log");
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func normal case 3 rotate argument atring check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.access_log_rotate_key_info, "");
+ }
+
+ // parse_opt_access_log_logrotate_func error case 1 (no access_log_file name)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-a" };
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
+
+ bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 1 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+
+ }
+
+ // parse_opt_access_log_logrotate_func error case 2 (access_log_file name too long)
+ {
+ std::string filename;
+ filename.resize(L7VS_FILENAME_LEN, 'a');
+ filename = "/" + filename;
+
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-a", const_cast< char * >(filename.c_str()) };
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
+
+ bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 2 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_access_log_logrotate_func error case 3 (access_log_file name not fullpath)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-a", "access.log" };
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
+
+ bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 3 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_access_log_logrotate_func error case 4 (rotate argument check error)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 6;
+ char *argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "--option", "zzz" };
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = true;
+
+ bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 4 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_access_log_logrotate_func error case 5 (rotate argument is not pair)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 5;
+ char *argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "--option" };
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
+
+ bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 5 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_access_log_logrotate_func error case 6 (rotate argument is duplicated)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 8;
+ char *argv[] = { "l7vsadm_test", "-A", "-a", "/var/log/l7vs/access.log", "--option", "zzz", "--option", "xxx" };
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_called = false;
+ l7vs::logger_access_manager::access_log_logrotate_parameter_check_fail = false;
+
+ bool ret = adm.parse_opt_vs_access_log_logrotate_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_access_log_logrotate_func error case 6 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_vs_access_log_logrotate_func_test end -----");
+
+}
+
+void parse_opt_vs_socket_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_socket_func_test start -----");
+
+ // parse_opt_vs_socket_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff" };
+
+ bool ret = adm.parse_opt_vs_socket_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_socket_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_socket_func normal case 1 option check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_defer_accept, 1);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_nodelay, 1);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_cork, 1);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_quickack, 2);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_string, "deferaccept,nodelay,cork,quickackoff");
+ }
+
+ // parse_opt_vs_socket_func normal case 2
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-O", "nodelay" };
+
+ bool ret = adm.parse_opt_vs_socket_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_socket_func normal case 3 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_socket_func normal case 3 option check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_defer_accept, 0);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_nodelay, 1);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_cork, 0);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_quickack, 0);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_string, "nodelay");
+ }
+
+ // parse_opt_vs_socket_func normal case 3
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,quickackon" };
+
+ bool ret = adm.parse_opt_vs_socket_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_socket_func normal case 3 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_opt_vs_socket_func normal case 3 option check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_defer_accept, 1);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_nodelay, 0);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_cork, 0);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_tcp_quickack, 1);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.socket_option_string, "deferaccept,quickackon");
+ }
+
+ // pser_opt_vs_socket_func error case 1 (socket option not specified)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-A", "-O"};
+
+ bool ret = adm.parse_opt_vs_socket_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_socket_func error case 1 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // pser_opt_vs_socket_func error case 2 (unknown socket option)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,zzz" };
+
+ bool ret = adm.parse_opt_vs_socket_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_socket_func error case 2 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // pser_opt_vs_socket_func error case 3 (deferaccept duplicated)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,deferaccept" };
+
+ bool ret = adm.parse_opt_vs_socket_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_socket_func error case 3 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // pser_opt_vs_socket_func error case 4 (nodelay duplicated)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,nodelay" };
+
+ bool ret = adm.parse_opt_vs_socket_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_socket_func error case 4 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // pser_opt_vs_socket_func error case 5 (cork duplicated)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,cork" };
+
+ bool ret = adm.parse_opt_vs_socket_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_socket_func error case 5 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // pser_opt_vs_socket_func error case 6 (quickack duplicated 1)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,quickackoff" };
+
+ bool ret = adm.parse_opt_vs_socket_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_socket_func error case 6 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // pser_opt_vs_socket_func error case 7 (quickack duplicated 2)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-A", "-O", "deferaccept,nodelay,cork,quickackoff,quickackon" };
+
+ bool ret = adm.parse_opt_vs_socket_func_wp(pos, argc, argv);
+
+ // unit_test[xx] parse_opt_vs_socket_func error case 7 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_vs_socket_func_test end -----");
+
+}
+
+void parse_vs_func_test()
+{
+ BOOST_MESSAGE("----- parse_vs_func_test start -----");
+
+ // parse_vs_func normal case 1 (CMD_ADD_VS short_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
+ int argc = 17;
+ char *argv[] = { "l7vsadm_test",
+ "-A",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-s",
+ "lc",
+ "-u",
+ "50",
+ "-b",
+ "10.144.169.86:8080",
+ "-Q",
+ "100M",
+ "-q",
+ "200M"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[122] parse_vs_func normal case 1 (CMD_ADD_VS short_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[123] parse_vs_func normal case 1 (CMD_ADD_VS short_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_VS);
+ // unit_test[124] parse_vs_func normal case 1 (CMD_ADD_VS short_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[125] parse_vs_func normal case 1 (CMD_ADD_VS short_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[126] parse_vs_func normal case 1 (CMD_ADD_VS short_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[127] parse_vs_func normal case 1 (CMD_ADD_VS short_option) schedule module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.schedule_module_name, "lc");
+ // unit_test[128] parse_vs_func normal case 1 (CMD_ADD_VS short_option) sorry_maxconnection check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_maxconnection, 50);
+ // unit_test[129] parse_vs_func normal case 1 (CMD_ADD_VS short_option) sorry_endpoint check
+ boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_endpoint, sorry_ep);
+ // unit_test[130] parse_vs_func normal case 1 (CMD_ADD_VS short_option) qos_upstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_upstream, (100000000ULL / 8));
+ // unit_test[131] parse_vs_func normal case 1 (CMD_ADD_VS short_option) qos_downstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_downstream, (200000000ULL / 8));
+ }
+
+ // parse_vs_func normal case 2 (CMD_ADD_VS long_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
+ int argc = 17;
+ char *argv[] = { "l7vsadm_test",
+ "--add-service",
+ "--tcp-service",
+ "10.144.169.86:11500",
+ "--proto-module",
+ "cinsert",
+ "mod_arg",
+ "--scheduler",
+ "wrr",
+ "--upper",
+ "96",
+ "--bypass",
+ "10.144.169.87:80",
+ "--qos-up",
+ "100M",
+ "--qos-down",
+ "200M"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[132] parse_vs_func normal case 2 (CMD_ADD_VS long_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[133] parse_vs_func normal case 2 (CMD_ADD_VS long_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_VS);
+ // unit_test[134] parse_vs_func normal case 2 (CMD_ADD_VS long_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:11500");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[135] parse_vs_func normal case 2 (CMD_ADD_VS long_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[136] parse_vs_func normal case 2 (CMD_ADD_VS long_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[137] parse_vs_func normal case 2 (CMD_ADD_VS long_option) schedule module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.schedule_module_name, "wrr");
+ // unit_test[138] parse_vs_func normal case 2 (CMD_ADD_VS long_option) sorry_maxconnection check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_maxconnection, 96);
+ // unit_test[139] parse_vs_func normal case 2 (CMD_ADD_VS long_option) sorry_endpoint check
+ boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:80");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_endpoint, sorry_ep);
+ // unit_test[140] parse_vs_func normal case 2 (CMD_ADD_VS long_option) qos_upstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_upstream, (100000000ULL / 8));
+ // unit_test[141] parse_vs_func normal case 2 (CMD_ADD_VS long_option) qos_downstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_downstream, (200000000ULL / 8));
+ }
+
+ // parse_vs_func normal case 3 (CMD_EDIT_VS short_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_VS;
+ int argc = 19;
+ char *argv[] = { "l7vsadm_test",
+ "-E",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-s",
+ "rr",
+ "-u",
+ "50",
+ "-b",
+ "10.144.169.86:8080",
+ "-f",
+ "1",
+ "-Q",
+ "100M",
+ "-q",
+ "200M"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[142] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[143] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_EDIT_VS);
+ // unit_test[144] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[145] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[146] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[147] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) schedule module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.schedule_module_name, "rr");
+ // unit_test[148] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) sorry_maxconnection check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_maxconnection, 50);
+ // unit_test[149] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) sorry_endpoint check
+ boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_endpoint, sorry_ep);
+ // unit_test[150] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) sorry_flag check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_flag, true);
+ // unit_test[151] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) qos_upstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_upstream, (100000000ULL / 8));
+ // unit_test[152] parse_vs_func normal case 3 (CMD_EDIT_VS short_option) qos_downstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_downstream, (200000000ULL / 8));
+ }
+
+ // parse_vs_func normal case 4 (CMD_EDIT_VS long_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_VS;
+ int argc = 19;
+ char *argv[] = { "l7vsadm_test",
+ "--edit-service",
+ "--tcp-service",
+ "10.144.169.86:11500",
+ "--proto-module",
+ "cinsert",
+ "mod_arg",
+ "--scheduler",
+ "lc",
+ "--upper",
+ "96",
+ "--bypass",
+ "10.144.169.87:80",
+ "--flag",
+ "1",
+ "--qos-up",
+ "100M",
+ "--qos-down",
+ "200M"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[153] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[154] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_EDIT_VS);
+ // unit_test[155] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:11500");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[156] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[157] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[158] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) schedule module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.schedule_module_name, "lc");
+ // unit_test[159] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) sorry_maxconnection check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_maxconnection, 96);
+ // unit_test[160] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) sorry_endpoint check
+ boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:80");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_endpoint, sorry_ep);
+ // unit_test[161] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) sorry_flag check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_flag, true);
+ // unit_test[162] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) qos_upstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_upstream, (100000000ULL / 8));
+ // unit_test[163] parse_vs_func normal case 4 (CMD_EDIT_VS long_option) qos_downstream check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.qos_downstream, (200000000ULL / 8));
+ }
+
+ // parse_vs_func normal case 5 (CMD_DEL_VS short_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_VS;
+ int argc = 7;
+ char *argv[] = { "l7vsadm_test",
+ "-D",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[164] parse_vs_func normal case 5 (CMD_DEL_VS short_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[165] parse_vs_func normal case 5 (CMD_DEL_VS short_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_DEL_VS);
+ // unit_test[166] parse_vs_func normal case 5 (CMD_DEL_VS short_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[167] parse_vs_func normal case 5 (CMD_DEL_VS short_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[168] parse_vs_func normal case 5 (CMD_DEL_VS short_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ }
+
+ // parse_vs_func normal case 6 (CMD_DEL_VS long_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_VS;
+ int argc = 7;
+ char *argv[] = { "l7vsadm_test",
+ "--delete-service",
+ "--tcp-service",
+ "10.144.169.86:11500",
+ "--proto-module",
+ "curl",
+ "specified_url"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[169] parse_vs_func normal case 6 (CMD_DEL_VS long_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[170] parse_vs_func normal case 6 (CMD_DEL_VS long_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_DEL_VS);
+ // unit_test[171] parse_vs_func normal case 6 (CMD_DEL_VS long_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:11500");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[172] parse_vs_func normal case 6 (CMD_DEL_VS long_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "curl");
+ // unit_test[173] parse_vs_func normal case 6 (CMD_DEL_VS long_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "specified_url");
+ }
+
+ // parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
+ int argc = 7;
+ char *argv[] = { "l7vsadm_test",
+ "-A",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[174] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[175] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_VS);
+ // unit_test[176] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[177] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[178] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[179] parse_vs_func normal case 7 (CMD_ADD_VS scheduler omit) schedule module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.schedule_module_name, "rr");
+ }
+
+ // parse_vs_func normal case 8 (CMD_FLUSH_VS)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_FLUSH_VS;
+ int argc = 2;
+ char *argv[] = { "l7vsadm_test",
+ "-C"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[180] parse_vs_func normal case 8 (CMD_FLUSH_VS) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[181] parse_vs_func normal case 8 (CMD_FLUSH_VS) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_FLUSH_VS);
+ }
+
+ // parse_vs_func normal case 9 (CMD_EDIT_VS minimum option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_VS;
+ int argc = 9;
+ char *argv[] = { "l7vsadm_test",
+ "-E",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-s",
+ "lc"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[182] parse_vs_func normal case 9 (CMD_EDIT_VS minimum option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[183] parse_vs_func normal case 9 (CMD_EDIT_VS minimum option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_EDIT_VS);
+ // unit_test[184] parse_vs_func normal case 9 (CMD_EDIT_VS minimum option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[185] parse_vs_func normal case 9 (CMD_EDIT_VS minimum option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ }
+
+ // parse_vs_func normal case 10 (CMD_DEL_VS minimum option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_VS;
+ int argc = 6;
+ char *argv[] = { "l7vsadm_test",
+ "-D",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[186] parse_vs_func normal case 10 (CMD_DEL_VS minimum option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[187] parse_vs_func normal case 10 (CMD_DEL_VS minimum option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_DEL_VS);
+ // unit_test[188] parse_vs_func normal case 10 (CMD_DEL_VS minimum option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[189] parse_vs_func normal case 10 (CMD_DEL_VS minimum option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ }
+
+ // parse_vs_func error case 1 (CMD_ADD_VS protocol module not specified)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test",
+ "-A",
+ "-t",
+ "10.144.169.87:22100"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[190] parse_vs_func error case 1 (CMD_ADD_VS protocol module not specified) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_vs_func error case 2 (CMD_ADD_VS target address not specified)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
+ int argc = 5;
+ char *argv[] = { "l7vsadm_test",
+ "-A",
+ "-m",
+ "cinsert",
+ "mod_arg"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[191] parse_vs_func error case 2 (CMD_ADD_VS target address not specified) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_vs_func error case 3 (upper option value under 0)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
+ int argc = 9;
+ char *argv[] = { "l7vsadm_test",
+ "-A",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-u",
+ "-1"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[192] parse_vs_func error case 3 (upper option value under 0) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_vs_func error case 4 (access log on but not specified access log fil name)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_VS;
+ int argc = 9;
+ char *argv[] = { "l7vsadm_test",
+ "-A",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-L",
+ "1"
+ };
+
+ bool ret = adm.parse_vs_func_wp(cmd, argc, argv);
+
+ // unit_test[xx] parse_vs_func error case 4 return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_vs_func_test end -----");
+
+}
+
+void parse_opt_rs_weight_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_rs_weight_func_test start -----");
+
+ // parse_opt_rs_weight_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-w", "64" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_weight_func_wp(pos, argc, argv);
+
+ // unit_test[193] parse_opt_rs_weight_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[194] parse_opt_rs_weight_func normal case 1 weight check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().weight, 64);
+ }
+
+ // parse_opt_rs_weight_func error case 1 (invalid weight value (charactor))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-w", "a" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_weight_func_wp(pos, argc, argv);
+
+ // unit_test[195] parse_opt_rs_weight_func error case 1 (invalid weight value (charactor)) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_rs_weight_func error case 2 (invalid weight value(int over))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ std::stringstream ss;
+ ss << (1ULL) + INT_MAX;
+ char *argv[] = { "l7vsadm_test", "-a", "-w", const_cast<char *>(ss.str().c_str()) };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_weight_func_wp(pos, argc, argv);
+
+ // unit_test[196] parse_opt_rs_weight_func error case 2 (invalid weight value(int over)) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_rs_weight_func error case 3 (no weight value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-a", "-w" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_weight_func_wp(pos, argc, argv);
+
+ // unit_test[197] parse_opt_rs_weight_func error case 3 (no weight value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_rs_weight_func error case 4 (under 0)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-w", "-1" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_weight_func_wp(pos, argc, argv);
+
+ // unit_test[198] parse_opt_rs_weight_func error case 4 (under 0) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_rs_weight_func error case 5 (over 100)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-w", "101" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_weight_func_wp(pos, argc, argv);
+
+ // unit_test[199] parse_opt_rs_weight_func error case 5 (over 100) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_rs_weight_func_test end -----");
+
+}
+
+void parse_opt_rs_realserver_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_rs_realserver_func_test start -----");
+
+ // parse_opt_rs_realserver_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-r", "10.144.169.87:8080" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_realserver_func_wp(pos, argc, argv);
+
+ // unit_test[200] parse_opt_rs_realserver_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[201] parse_opt_rs_realserver_func normal case 1 endpoint check
+ boost::asio::ip::tcp::endpoint ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, ep);
+ }
+
+ // parse_opt_rs_realserver_func normal case 2 (realserver specified in name)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-r", "localhost:http" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_realserver_func_wp(pos, argc, argv);
+
+ // unit_test[202] parse_opt_rs_realserver_func normal case 2 (realserver specified in name) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[203] parse_opt_rs_realserver_func normal case 2 (realserver specified in name) endpoint check
+ boost::asio::ip::tcp::endpoint ep1 = string_to_endpoint<boost::asio::ip::tcp>("127.0.0.1:80");
+ boost::asio::ip::tcp::endpoint ep2 = string_to_endpoint<boost::asio::ip::tcp>("[::1]:80");
+ BOOST_CHECK(adm.get_request().vs_element.realserver_vector.front().tcp_endpoint == ep1 ||
+ adm.get_request().vs_element.realserver_vector.front().tcp_endpoint == ep2);
+ }
+
+ // parse_opt_rs_realserver_func error case 1 (invalid endpoint)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-r", "10.144.169.257:8080" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_realserver_func_wp(pos, argc, argv);
+
+ // unit_test[204] parse_opt_rs_realserver_func error case 1 (invalid endpoint) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_rs_realserver_func error case 2 (no endpoint)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-a", "-r" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_realserver_func_wp(pos, argc, argv);
+
+ // unit_test[205] parse_opt_rs_realserver_func error case 2 (no endpoint) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_rs_realserver_func error case 3 (0.0.0.0 address)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-r", "0.0.0.0:8080" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_realserver_func_wp(pos, argc, argv);
+
+ // unit_test[206] parse_opt_rs_realserver_func error case 3 (0.0.0.0 address) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_rs_realserver_func error case 4 (0 port)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-r", "10.144.169.87:0" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_realserver_func_wp(pos, argc, argv);
+
+ // unit_test[207] parse_opt_rs_realserver_func error case 4 (0 port) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_rs_realserver_func error case 5 (invalid port (99999))
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-r", "10.144.169.87:99999" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_realserver_func_wp(pos, argc, argv);
+
+ // unit_test[208] parse_opt_rs_realserver_func error case 5 (invalid port (99999)) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_rs_realserver_func error case 6 (hostname omitted)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-r", ":22100" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_realserver_func_wp(pos, argc, argv);
+
+ // unit_test[209] parse_opt_rs_realserver_func error case 6 (hostname omitted) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_rs_realserver_func error case 7 (port omitted)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-a", "-r", "10.144.169.87:" };
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ bool ret = adm.parse_opt_rs_realserver_func_wp(pos, argc, argv);
+
+ // unit_test[210] parse_opt_rs_realserver_func error case 7 (port omitted) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_rs_realserver_func_test end -----");
+
+}
+
+void parse_rs_func_test()
+{
+ BOOST_MESSAGE("----- parse_rs_func_test start -----");
+
+ // parse_rs_func normal case 1 (CMD_ADD_RS short_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
+ int argc = 11;
+ char *argv[] = { "l7vsadm_test",
+ "-a",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-r",
+ "10.144.169.86:8080",
+ "-w",
+ "10"
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[211] parse_rs_func normal case 1 (CMD_ADD_RS short_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[212] parse_rs_func normal case 1 (CMD_ADD_RS short_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_RS);
+ // unit_test[213] parse_rs_func normal case 1 (CMD_ADD_RS short_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[214] parse_rs_func normal case 1 (CMD_ADD_RS short_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[215] parse_rs_func normal case 1 (CMD_ADD_RS short_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[216] parse_rs_func normal case 1 (CMD_ADD_RS short_option) realserver endpoint check
+ boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep);
+ // unit_test[217] parse_rs_func normal case 1 (CMD_ADD_RS short_option) weight check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().weight, 10);
+ }
+
+ // parse_rs_func normal case 2 (CMD_ADD_RS long_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
+ int argc = 11;
+ char *argv[] = { "l7vsadm_test",
+ "--add-server",
+ "--tcp-service",
+ "10.144.169.86:11500",
+ "--proto-module",
+ "cinsert",
+ "mod_arg",
+ "--real-server",
+ "10.144.169.87:8888",
+ "--weight",
+ "20"
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[218] parse_rs_func normal case 2 (CMD_ADD_RS long_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[219] parse_rs_func normal case 2 (CMD_ADD_RS long_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_RS);
+ // unit_test[220] parse_rs_func normal case 2 (CMD_ADD_RS long_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:11500");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[221] parse_rs_func normal case 2 (CMD_ADD_RS long_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[222] parse_rs_func normal case 2 (CMD_ADD_RS long_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[223] parse_rs_func normal case 2 (CMD_ADD_RS long_option) realserver endpoint check
+ boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:8888");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep);
+ // unit_test[224] parse_rs_func normal case 2 (CMD_ADD_RS long_option) weight check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().weight, 20);
+ }
+
+ // parse_rs_func normal case 3 (CMD_EDIT_RS short_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_RS;
+ int argc = 11;
+ char *argv[] = { "l7vsadm_test",
+ "-e",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-r",
+ "10.144.169.86:8080",
+ "-w",
+ "20"
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[225] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[226] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_EDIT_RS);
+ // unit_test[227] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[228] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[229] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[230] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) realserver endpoint check
+ boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep);
+ // unit_test[231] parse_rs_func normal case 3 (CMD_EDIT_RS short_option) weight check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().weight, 20);
+ }
+
+ // parse_rs_func normal case 4 (CMD_EDIT_RS long_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_EDIT_RS;
+ int argc = 11;
+ char *argv[] = { "l7vsadm_test",
+ "--edit-server",
+ "--tcp-service",
+ "10.144.169.86:11500",
+ "--proto-module",
+ "cinsert",
+ "mod_arg",
+ "--real-server",
+ "10.144.169.87:8888",
+ "--weight",
+ "30"
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[232] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[233] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_EDIT_RS);
+ // unit_test[234] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:11500");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[235] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[236] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[237] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) realserver endpoint check
+ boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:8888");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep);
+ // unit_test[238] parse_rs_func normal case 4 (CMD_EDIT_RS long_option) weight check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().weight, 30);
+ }
+
+ // parse_rs_func normal case 5 (CMD_DEL_RS short_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_RS;
+ int argc = 9;
+ char *argv[] = { "l7vsadm_test",
+ "-d",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-r",
+ "10.144.169.86:8080"
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[239] parse_rs_func normal case 5 (CMD_DEL_RS short_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[240] parse_rs_func normal case 5 (CMD_DEL_RS short_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_DEL_RS);
+ // unit_test[241] parse_rs_func normal case 5 (CMD_DEL_RS short_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[242] parse_rs_func normal case 5 (CMD_DEL_RS short_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[243] parse_rs_func normal case 5 (CMD_DEL_RS short_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[244] parse_rs_func normal case 5 (CMD_DEL_RS short_option) realserver endpoint check
+ boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep);
+ }
+
+ // parse_rs_func normal case 6 (CMD_DEL_RS long_option)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_DEL_RS;
+ int argc = 9;
+ char *argv[] = { "l7vsadm_test",
+ "--delete-server",
+ "--tcp-service",
+ "10.144.169.86:11500",
+ "--proto-module",
+ "cinsert",
+ "mod_arg",
+ "--real-server",
+ "10.144.169.87:8888"
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[245] parse_rs_func normal case 6 (CMD_DEL_RS long_option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[246] parse_rs_func normal case 6 (CMD_DEL_RS long_option) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_DEL_RS);
+ // unit_test[247] parse_rs_func normal case 6 (CMD_DEL_RS long_option) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:11500");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[248] parse_rs_func normal case 6 (CMD_DEL_RS long_option) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[249] parse_rs_func normal case 6 (CMD_DEL_RS long_option) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[250] parse_rs_func normal case 6 (CMD_DEL_RS long_option) realserver endpoint check
+ boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:8888");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep);
+ }
+
+//ramiel_ipv6 add
+ // parse_rs_func normal case 7 (CMD_ADD_RS ipv6 )
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
+ int argc = 11;
+ char *argv[] = { "l7vsadm_test",
+ "-a",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-r",
+ "[2001::10]:8080",
+ "-w",
+ "10"
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) request check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_ADD_RS);
+ // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) realserver endpoint check
+ boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>("[2001::10]:8080");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().tcp_endpoint, rs_ep);
+ // unit_test[xx] parse_rs_func normal case 7 (CMD_ADD_RS ipv6) weight check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().weight, 10);
+ }
+
+ // parse_rs_func error case 1 (CMD_ADD_RS protocol module not specified)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
+ int argc = 6;
+ char *argv[] = { "l7vsadm_test",
+ "-a",
+ "-t",
+ "10.144.169.87:22100",
+ "-r",
+ "10.144.169.86:8080"
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[251] parse_rs_func error case 1 (CMD_ADD_RS protocol module not specified) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_rs_func error case 2 (CMD_ADD_RS target address not specified)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
+ int argc = 7;
+ char *argv[] = { "l7vsadm_test",
+ "-a",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-r",
+ "10.144.169.86:8080"
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[252] parse_rs_func error case 2 (CMD_ADD_RS target address not specified) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_rs_func error case 3 (CMD_ADD_RS realserver address not specified)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
+ int argc = 7;
+ char *argv[] = { "l7vsadm_test",
+ "-a",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[253] parse_rs_func error case 3 (CMD_ADD_RS realserver address not specified) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+//ramiel_ipv6 add
+ // parse_rs_func error case 4 (CMD_ADD_RS realserver any address ipv4 )
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
+ int argc = 11;
+ char *argv[] = { "l7vsadm_test",
+ "-a",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-r",
+ "0.0.0.0:8080",
+ "-w",
+ "10"
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[xx] parse_rs_func error case 4 (CMD_ADD_RS realserver any address ipv4) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+//ramiel_ipv6 add
+ // parse_rs_func error case 5 (CMD_ADD_RS realserver any address ipv6 )
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_ADD_RS;
+ int argc = 11;
+ char *argv[] = { "l7vsadm_test",
+ "-a",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-r",
+ "[::]:8080",
+ "-w",
+ "10"
+ };
+
+ bool ret = adm.parse_rs_func_wp(cmd, argc, argv);
+
+ // unit_test[xx] parse_rs_func error case 5 (CMD_ADD_RS realserver any address ipv6) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_rs_func_test end -----");
+
+}
+
+void parse_opt_replication_switch_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_replication_switch_func_test start -----");
+
+ // parse_opt_replication_switch_func normal case 1 (replication start)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-R", "-s", "start" };
+
+ bool ret = adm.parse_opt_replication_switch_func_wp(pos, argc, argv);
+
+ // unit_test[254] parse_opt_replication_switch_func normal case 1 (replication start) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[255] parse_opt_replication_switch_func normal case 1 (replication start) replication command check
+ BOOST_CHECK_EQUAL(adm.get_request().replication_command, l7vs::l7vsadm_request::REP_START);
+ }
+
+ // parse_opt_replication_switch_func normal case 2 (replication stop)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-R", "-s", "stop" };
+
+ bool ret = adm.parse_opt_replication_switch_func_wp(pos, argc, argv);
+
+ // unit_test[256] parse_opt_replication_switch_func normal case 2 (replication stop) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[257] parse_opt_replication_switch_func normal case 2 (replication stop) replication command check
+ BOOST_CHECK_EQUAL(adm.get_request().replication_command, l7vs::l7vsadm_request::REP_STOP);
+ }
+
+ // parse_opt_replication_switch_func error case 1 (invalid switch option)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-R", "-s", "end" };
+
+ bool ret = adm.parse_opt_replication_switch_func_wp(pos, argc, argv);
+
+ // unit_test[258] parse_opt_replication_switch_func error case 1 (invalid switch option) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_replication_switch_func error case 2 (no switch option)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-R", "-s" };
+
+ bool ret = adm.parse_opt_replication_switch_func_wp(pos, argc, argv);
+
+ // unit_test[259] parse_opt_replication_switch_func error case 2 (no switch option) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_replication_switch_func_test end -----");
+
+}
+
+void parse_opt_replication_force_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_replication_force_func_test start -----");
+
+ // parse_opt_replication_force_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-R", "-f" };
+
+ bool ret = adm.parse_opt_replication_force_func_wp(pos, argc, argv);
+
+ // unit_test[260] parse_opt_replication_force_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[261] parse_opt_replication_force_func normal case 1 replication command check
+ BOOST_CHECK_EQUAL(adm.get_request().replication_command, l7vs::l7vsadm_request::REP_FORCE);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_replication_force_func_test end -----");
+
+}
+
+void parse_opt_replication_dump_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_replication_dump_func_test start -----");
+
+ // parse_opt_replication_dump_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-R", "-d" };
+
+ bool ret = adm.parse_opt_replication_dump_func_wp(pos, argc, argv);
+
+ // unit_test[262] parse_opt_replication_dump_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[263] parse_opt_replication_dump_func normal case 1 replication command check
+ BOOST_CHECK_EQUAL(adm.get_request().replication_command, l7vs::l7vsadm_request::REP_DUMP);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_replication_dump_func_test end -----");
+
+}
+
+void parse_replication_func_test()
+{
+ BOOST_MESSAGE("----- parse_replication_func_test start -----");
+
+ // parse_replication_func normal case 1 (replication start)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-R", "-s", "start" };
+
+ bool ret = adm.parse_replication_func_wp(cmd, argc, argv);
+
+ // unit_test[264] parse_replication_func normal case 1 (replication start) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[265] parse_replication_func normal case 1 (replication start) request command check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_REPLICATION);
+ // unit_test[266] parse_replication_func normal case 1 (replication start) replication command check
+ BOOST_CHECK_EQUAL(adm.get_request().replication_command, l7vs::l7vsadm_request::REP_START);
+ }
+
+ // parse_replication_func normal case 2 (replication stop)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-R", "-s", "stop" };
+
+ bool ret = adm.parse_replication_func_wp(cmd, argc, argv);
+
+ // unit_test[267] parse_replication_func normal case 2 (replication stop) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[268] parse_replication_func normal case 2 (replication stop) request command check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_REPLICATION);
+ // unit_test[269] parse_replication_func normal case 2 (replication stop) replication command check
+ BOOST_CHECK_EQUAL(adm.get_request().replication_command, l7vs::l7vsadm_request::REP_STOP);
+ }
+
+ // parse_replication_func normal case 3 (replication force)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-R", "-f" };
+
+ bool ret = adm.parse_replication_func_wp(cmd, argc, argv);
+
+ // unit_test[270] parse_replication_func normal case 3 (replication force) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[271] parse_replication_func normal case 3 (replication force) request command check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_REPLICATION);
+ // unit_test[272] parse_replication_func normal case 3 (replication force) replication command check
+ BOOST_CHECK_EQUAL(adm.get_request().replication_command, l7vs::l7vsadm_request::REP_FORCE);
+ }
+
+ // parse_replication_func normal case 4 (replication dump)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-R", "-d" };
+
+ bool ret = adm.parse_replication_func_wp(cmd, argc, argv);
+
+ // unit_test[273] parse_replication_func normal case 4 (replication dump) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[274] parse_replication_func normal case 4 (replication dump) request command check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_REPLICATION);
+ // unit_test[275] parse_replication_func normal case 4 (replication dump) replication command check
+ BOOST_CHECK_EQUAL(adm.get_request().replication_command, l7vs::l7vsadm_request::REP_DUMP);
+ }
+
+ // parse_replication_func error case 1 (replication command duplicate)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-R", "-f", "-d" };
+
+ bool ret = adm.parse_replication_func_wp(cmd, argc, argv);
+
+ // unit_test[276] parse_replication_func error case 1 (command duplicate) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_replication_func error case 2 (no replication command)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_REPLICATION;
+ int argc = 2;
+ char *argv[] = { "l7vsadm_test", "-R" };
+
+ bool ret = adm.parse_replication_func_wp(cmd, argc, argv);
+
+ // unit_test[277] parse_replication_func error case 2 (no replication command) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_replication_func_test end -----");
+
+}
+
+void parse_opt_log_category_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_log_category_func_test start -----");
+
+ // parse_opt_log_category_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-L", "-c", "l7vsd_network" };
+
+ bool ret = adm.parse_opt_log_category_func_wp(pos, argc, argv);
+
+ // unit_test[278] parse_opt_log_category_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[279] parse_opt_log_category_func normal case 1 logcategory check
+ BOOST_CHECK_EQUAL(adm.get_request().log_category, l7vs::LOG_CAT_L7VSD_NETWORK);
+ }
+
+ // parse_opt_log_category_func error case 1 (invalid logcategory value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-L", "-c", "l7vsd" };
+
+ bool ret = adm.parse_opt_log_category_func_wp(pos, argc, argv);
+
+ // unit_test[280] parse_opt_log_category_func error case 1 (invalid logcategory value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_log_category_func error case 2 (no logcategory value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-L", "-c" };
+
+ bool ret = adm.parse_opt_log_category_func_wp(pos, argc, argv);
+
+ // unit_test[281] parse_opt_log_category_func error case 2 (no logcategory value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_log_category_func_test end -----");
+
+}
+
+void parse_opt_log_level_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_log_level_func_test start -----");
+
+ // parse_opt_log_level_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-L", "-l", "error" };
+
+ bool ret = adm.parse_opt_log_level_func_wp(pos, argc, argv);
+
+ // unit_test[282] parse_opt_log_level_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[283] parse_opt_log_level_func normal case 1 loglevel check
+ BOOST_CHECK_EQUAL(adm.get_request().log_level, l7vs::LOG_LV_ERROR);
+ }
+
+ // parse_opt_log_level_func error case 1 (invalid loglevel value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-L", "-l", "l7vsd" };
+
+ bool ret = adm.parse_opt_log_level_func_wp(pos, argc, argv);
+
+ // unit_test[284] parse_opt_log_level_func error case 1 (invalid loglevel value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_log_level_func error case 2 (no loglevel value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-L", "-l" };
+
+ bool ret = adm.parse_opt_log_level_func_wp(pos, argc, argv);
+
+ // unit_test[285] parse_opt_log_level_func error case 2 (no loglevel value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_log_level_func_test end -----");
+
+}
+
+void parse_log_func_test()
+{
+ BOOST_MESSAGE("----- parse_log_func_test start -----");
+
+ // parse_log_func normal case 1
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LOG;
+ int argc = 6;
+ char *argv[] = { "l7vsadm_test",
+ "-L",
+ "-c",
+ "l7vsd_network",
+ "-l",
+ "debug"
+ };
+
+ bool ret = adm.parse_log_func_wp(cmd, argc, argv);
+
+ // unit_test[286] parse_log_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[287] parse_log_func normal case 1 request command check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_LOG);
+ // unit_test[288] parse_log_func normal case 1 logcategory check
+ BOOST_CHECK_EQUAL(adm.get_request().log_category, l7vs::LOG_CAT_L7VSD_NETWORK);
+ // unit_test[289] parse_log_func normal case 1 logcategory check
+ BOOST_CHECK_EQUAL(adm.get_request().log_level, l7vs::LOG_LV_DEBUG);
+ }
+
+ // parse_log_func error case 1 (no logcategory)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LOG;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test",
+ "-L",
+ "-l",
+ "debug"
+ };
+
+ bool ret = adm.parse_log_func_wp(cmd, argc, argv);
+
+ // unit_test[290] parse_log_func error case 1 (no logcategory) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_log_func error case 2 (no loglevel)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_LOG;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test",
+ "-L",
+ "-c",
+ "l7vsd_network"
+ };
+
+ bool ret = adm.parse_log_func_wp(cmd, argc, argv);
+
+ // unit_test[291] parse_log_func error case 2 (no loglevel) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_log_func_test end -----");
+
+}
+
+void parse_opt_snmp_log_category_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_snmp_log_category_func_test start -----");
+
+ // parse_opt_snmp_log_category_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-S", "-c", "snmpagent_start_stop" };
+
+ bool ret = adm.parse_opt_snmp_log_category_func_wp(pos, argc, argv);
+
+ // unit_test[292] parse_opt_snmp_log_category_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[293] parse_opt_snmp_log_category_func normal case 1 logcategory check
+ BOOST_CHECK_EQUAL(adm.get_request().snmp_log_category, l7vs::LOG_CAT_SNMPAGENT_START_STOP);
+ }
+
+ // parse_opt_snmp_log_category_func error case 1 (invalid logcategory value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-S", "-c", "snmpagent" };
+
+ bool ret = adm.parse_opt_snmp_log_category_func_wp(pos, argc, argv);
+
+ // unit_test[294] parse_opt_snmp_log_category_func error case 1 (invalid logcategory value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_snmp_log_category_func error case 2 (no logcategory value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-S", "-c" };
+
+ bool ret = adm.parse_opt_snmp_log_category_func_wp(pos, argc, argv);
+
+ // unit_test[295] parse_opt_snmp_log_category_func error case 2 (no logcategory value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_snmp_log_category_func_test end -----");
+
+}
+
+void parse_opt_snmp_log_level_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_snmp_log_level_func_test start -----");
+
+ // parse_opt_snmp_log_level_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-S", "-l", "info" };
+
+ bool ret = adm.parse_opt_snmp_log_level_func_wp(pos, argc, argv);
+
+ // unit_test[296] parse_opt_snmp_log_level_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[297] parse_opt_snmp_log_level_func normal case 1 loglevel check
+ BOOST_CHECK_EQUAL(adm.get_request().snmp_log_level, l7vs::LOG_LV_INFO);
+ }
+
+ // parse_opt_snmp_log_level_func error case 1 (invalid loglevel value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-S", "-l", "snmpagent" };
+
+ bool ret = adm.parse_opt_snmp_log_level_func_wp(pos, argc, argv);
+
+ // unit_test[298] parse_opt_snmp_log_level_func error case 1 (invalid loglevel value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_snmp_log_level_func error case 2 (no loglevel value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-S", "-l" };
+
+ bool ret = adm.parse_opt_snmp_log_level_func_wp(pos, argc, argv);
+
+ // unit_test[299] parse_opt_snmp_log_level_func error case 2 (no loglevel value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_snmp_log_level_func_test end -----");
+
+}
+
+void parse_snmp_func_test()
+{
+ BOOST_MESSAGE("----- parse_snmp_func_test start -----");
+
+ // parse_snmp_func normal case 1
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_SNMP;
+ int argc = 6;
+ char *argv[] = { "l7vsadm_test",
+ "-S",
+ "-c",
+ "snmpagent_start_stop",
+ "-l",
+ "warn"
+ };
+
+ bool ret = adm.parse_snmp_func_wp(cmd, argc, argv);
+
+ // unit_test[300] parse_snmp_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[301] parse_snmp_func normal case 1 request command check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_SNMP);
+ // unit_test[302] parse_snmp_func normal case 1 logcategory check
+ BOOST_CHECK_EQUAL(adm.get_request().snmp_log_category, l7vs::LOG_CAT_SNMPAGENT_START_STOP);
+ // unit_test[303] parse_snmp_func normal case 1 logcategory check
+ BOOST_CHECK_EQUAL(adm.get_request().snmp_log_level, l7vs::LOG_LV_WARN);
+ }
+
+ // parse_snmp_func error case 1 (no logcategory)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_SNMP;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test",
+ "-S",
+ "-l",
+ "debug"
+ };
+
+ bool ret = adm.parse_snmp_func_wp(cmd, argc, argv);
+
+ // unit_test[304] parse_snmp_func error case 1 (no logcategory) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_snmp_func error case 2 (no loglevel)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_SNMP;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test",
+ "-S",
+ "-c",
+ "snmpagent_start_stop"
+ };
+
+ bool ret = adm.parse_snmp_func_wp(cmd, argc, argv);
+
+ // unit_test[305] parse_snmp_func error case 2 (no loglevel) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_snmp_func_test end -----");
+
+}
+
+void parse_opt_parameter_reload_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_parameter_reload_func_test start -----");
+
+ // parse_opt_parameter_reload_func normal case 1
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-P", "-r", "replication" };
+
+ bool ret = adm.parse_opt_parameter_reload_func_wp(pos, argc, argv);
+
+ // unit_test[306] parse_opt_parameter_reload_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[307] parse_opt_parameter_reload_func normal case 1 reload_component check
+ BOOST_CHECK_EQUAL(adm.get_request().reload_param, l7vs::PARAM_COMP_REPLICATION);
+ }
+
+ // parse_opt_parameter_reload_func error case 1 (invalid reload_component value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test", "-P", "-r", "lsock" };
+
+ bool ret = adm.parse_opt_parameter_reload_func_wp(pos, argc, argv);
+
+ // unit_test[308] parse_opt_parameter_reload_func error case 1 (invalid reload_component value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ // parse_opt_parameter_reload_func error case 2 (no reload_component value)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test", "-P", "-r" };
+
+ bool ret = adm.parse_opt_parameter_reload_func_wp(pos, argc, argv);
+
+ // unit_test[309] parse_opt_parameter_reload_func error case 2 (no reload_component value) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_parameter_reload_func_test end -----");
+
+}
+
+void parse_parameter_func_test()
+{
+ BOOST_MESSAGE("----- parse_parameter_func_test start -----");
+
+ // parse_parameter_func normal case 1
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_PARAMETER;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test",
+ "-P",
+ "-r",
+ "logger"
+ };
+
+ bool ret = adm.parse_parameter_func_wp(cmd, argc, argv);
+
+ // unit_test[310] parse_parameter_func normal case 1 return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[311] parse_parameter_func normal case 1 request command check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_PARAMETER);
+ // unit_test[312] parse_parameter_func normal case 1 reload_component check
+ BOOST_CHECK_EQUAL(adm.get_request().reload_param, l7vs::PARAM_COMP_LOGGER);
+ }
+
+ // parse_parameter_func error case 1 (no reload_component)
+ {
+ l7vsadm_test adm;
+ l7vs::l7vsadm_request::COMMAND_CODE_TAG cmd = l7vs::l7vsadm_request::CMD_PARAMETER;
+ int argc = 2;
+ char *argv[] = { "l7vsadm_test",
+ "-P"
+ };
+
+ bool ret = adm.parse_parameter_func_wp(cmd, argc, argv);
+
+ // unit_test[313] parse_parameter_func error case 1 (no reload_component) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- parse_parameter_func_test end -----");
+
+}
+
+void parse_opt_vs_fwdmode_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_vs_fwdmode_func_test start -----");
+
+ // parse_opt_vs_fwdmode_func normal case 1 (masq)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv1[] = { "l7vsadm_test", "-A", "-M" };
+ char *argv2[] = { "l7vsadm_test", "-A", "--masq" };
+ bool ret;
+
+ ret = adm.parse_opt_vs_fwdmode_func_wp(pos, argc, argv1);
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_fwdmode, 1);
+
+ ret = adm.parse_opt_vs_fwdmode_func_wp(pos, argc, argv2);
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_fwdmode, 1);
+ }
+
+ // parse_opt_vs_fwdmode_func normal case 2 (tproxy)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv1[] = { "l7vsadm_test", "-A", "-T" };
+ char *argv2[] = { "l7vsadm_test", "-A", "--tproxy" };
+ bool ret;
+
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ ret = adm.parse_opt_vs_fwdmode_func_wp(pos, argc, argv1);
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_fwdmode, 2);
+
+ ret = adm.parse_opt_vs_fwdmode_func_wp(pos, argc, argv2);
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_fwdmode, 2);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_vs_fwdmode_func_test end -----");
+
+}
+
+void parse_opt_rs_fwdmode_func_test()
+{
+ BOOST_MESSAGE("----- parse_opt_rs_fwdmode_func_test start -----");
+
+ // parse_opt_rs_fwdmode_func normal case 1 (masq)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv1[] = { "l7vsadm_test", "-a", "-M" };
+ char *argv2[] = { "l7vsadm_test", "-a", "--masq" };
+ bool ret;
+
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ ret = adm.parse_opt_rs_fwdmode_func_wp(pos, argc, argv1);
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().fwdmode, 1);
+
+ ret = adm.parse_opt_rs_fwdmode_func_wp(pos, argc, argv2);
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().fwdmode, 1);
+ }
+
+ // parse_opt_rs_fwdmode_func normal case 2 (tproxy)
+ {
+ l7vsadm_test adm;
+ int pos = 2;
+ int argc = 3;
+ char *argv1[] = { "l7vsadm_test", "-a", "-T" };
+ char *argv2[] = { "l7vsadm_test", "-a", "--tproxy" };
+ bool ret;
+
+ adm.get_request().vs_element.realserver_vector.push_back(l7vs::realserver_element());
+
+ ret = adm.parse_opt_rs_fwdmode_func_wp(pos, argc, argv1);
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().fwdmode, 2);
+
+ ret = adm.parse_opt_rs_fwdmode_func_wp(pos, argc, argv2);
+ BOOST_CHECK_EQUAL(ret, true);
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.realserver_vector.front().fwdmode, 2);
+ }
+
+ BOOST_MESSAGE("----- parse_opt_rs_fwdmode_func_test end -----");
+
+}
+
+void execute_test()
+{
+ BOOST_MESSAGE("----- execute_test start -----");
+
+ // execute normal case 1 (no option)
+ {
+ l7vsadm_test adm;
+ int argc = 1;
+ char *argv[] = { "l7vsadm_test" };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+ test_response.virtualservice_status_list.push_back(l7vs::virtualservice_element());
+ test_response.virtualservice_status_list.push_back(l7vs::virtualservice_element());
+ typedef std::list< l7vs::virtualservice_element > vse_list_type;
+ for (vse_list_type::iterator itr = test_response.virtualservice_status_list.begin();
+ itr != test_response.virtualservice_status_list.end();
+ ++itr) {
+ itr->protocol_module_name = "protomod";
+ itr->schedule_module_name = "sched";
+ itr->realserver_vector.push_back(l7vs::realserver_element());
+ itr->realserver_vector.push_back(l7vs::realserver_element());
+ }
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ // accept ready wait
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[314] execute normal case 1 (no option) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[315] execute normal case 1 (no option) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_LIST);
+ // unit_test[316] execute normal case 1 (no option) response value check
+ BOOST_CHECK_EQUAL(adm.get_response().virtualservice_status_list.size(), 2U);
+ }
+
+
+ // execute normal case 2 (list operation)
+ {
+ l7vsadm_test adm;
+ int argc = 2;
+ char *argv[] = { "l7vsadm_test",
+ "-l"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+ test_response.virtualservice_status_list.push_back(l7vs::virtualservice_element());
+ test_response.virtualservice_status_list.push_back(l7vs::virtualservice_element());
+ typedef std::list< l7vs::virtualservice_element > vse_list_type;
+ for (vse_list_type::iterator itr = test_response.virtualservice_status_list.begin();
+ itr != test_response.virtualservice_status_list.end();
+ ++itr) {
+ itr->protocol_module_name = "protomod";
+ itr->schedule_module_name = "sched";
+ itr->realserver_vector.push_back(l7vs::realserver_element());
+ itr->realserver_vector.push_back(l7vs::realserver_element());
+ }
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[317] execute normal case 2 (list operation) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[318] execute normal case 2 (list operation) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_LIST);
+ // unit_test[319] execute normal case 2 (list operation) response value check
+ BOOST_CHECK_EQUAL(adm.get_response().virtualservice_status_list.size(), 2U);
+ }
+
+ // execute normal case 3 (list operation numeric)
+ {
+ l7vsadm_test adm;
+ int argc = 3;
+ char *argv[] = { "l7vsadm_test",
+ "-l",
+ "-n"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+ test_response.virtualservice_status_list.push_back(l7vs::virtualservice_element());
+ test_response.virtualservice_status_list.push_back(l7vs::virtualservice_element());
+ typedef std::list< l7vs::virtualservice_element > vse_list_type;
+ for (vse_list_type::iterator itr = test_response.virtualservice_status_list.begin();
+ itr != test_response.virtualservice_status_list.end();
+ ++itr) {
+ itr->protocol_module_name = "protomod";
+ itr->schedule_module_name = "sched";
+ itr->realserver_vector.push_back(l7vs::realserver_element());
+ itr->realserver_vector.push_back(l7vs::realserver_element());
+ }
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[320] execute normal case 3 (list operation numeric) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[321] execute normal case 3 (list operation numeric) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_LIST);
+ // unit_test[322] execute normal case 3 (list operation numeric) response value check
+ BOOST_CHECK_EQUAL(adm.get_response().virtualservice_status_list.size(), 2U);
+
+ }
+
+ // execute normal case 4 (list operation key)
+ {
+ l7vsadm_test adm;
+ int argc = 2;
+ char *argv[] = { "l7vsadm_test",
+ "-K"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+ test_response.virtualservice_status_list.push_back(l7vs::virtualservice_element());
+ test_response.virtualservice_status_list.push_back(l7vs::virtualservice_element());
+ typedef std::list< l7vs::virtualservice_element > vse_list_type;
+ for (vse_list_type::iterator itr = test_response.virtualservice_status_list.begin();
+ itr != test_response.virtualservice_status_list.end();
+ ++itr) {
+ itr->protocol_module_name = "protomod";
+ itr->schedule_module_name = "sched";
+ itr->realserver_vector.push_back(l7vs::realserver_element());
+ itr->realserver_vector.push_back(l7vs::realserver_element());
+ }
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[323] execute normal case 4 (list operation key) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[324] execute normal case 4 (list operation key) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_LIST_KEY);
+ // unit_test[325] execute normal case 4 (list operation key) response value check
+ BOOST_CHECK_EQUAL(adm.get_response().virtualservice_status_list.size(), 2U);
+ }
+
+ // execute normal case 5 (list operation verbose)
+ {
+ l7vsadm_test adm;
+ int argc = 2;
+ char *argv[] = { "l7vsadm_test",
+ "-V"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+ test_response.virtualservice_status_list.push_back(l7vs::virtualservice_element());
+ test_response.virtualservice_status_list.push_back(l7vs::virtualservice_element());
+ typedef std::list< l7vs::virtualservice_element > vse_list_type;
+ for (vse_list_type::iterator itr = test_response.virtualservice_status_list.begin();
+ itr != test_response.virtualservice_status_list.end();
+ ++itr) {
+ itr->protocol_module_name = "protomod";
+ itr->schedule_module_name = "sched";
+ itr->realserver_vector.push_back(l7vs::realserver_element());
+ itr->realserver_vector.push_back(l7vs::realserver_element());
+ }
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[326] execute normal case 5 (list operation verbose) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[327] execute normal case 5 (list operation verbose) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_LIST_VERBOSE);
+ // unit_test[328] execute normal case 5 (list operation verbose) response value check
+ BOOST_CHECK_EQUAL(adm.get_response().virtualservice_status_list.size(), 2U);
+ }
+
+ // execute normal case 6 (vs operation add-vs)
+ {
+ l7vsadm_test adm;
+ int argc = 17;
+ char *argv[] = { "l7vsadm_test",
+ "-A",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-s",
+ "lc",
+ "-u",
+ "50",
+ "-b",
+ "10.144.169.86:8080",
+ "-Q",
+ "100M",
+ "-q",
+ "200M"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[329] execute normal case 6 (vs operation add-vs) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[330] execute normal case 6 (vs operation add-vs) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_ADD_VS);
+ // unit_test[331] execute normal case 6 (vs operation add-vs) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(test_request.vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[332] execute normal case 6 (vs operation add-vs) protocol module name check
+ BOOST_CHECK_EQUAL(test_request.vs_element.protocol_module_name, "cinsert");
+ // unit_test[333] execute normal case 6 (vs operation add-vs) protocol module arg check
+ BOOST_CHECK_EQUAL(test_request.vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[334] execute normal case 6 (vs operation add-vs) schedule module name check
+ BOOST_CHECK_EQUAL(test_request.vs_element.schedule_module_name, "lc");
+ // unit_test[335] execute normal case 6 (vs operation add-vs) sorry_maxconnection check
+ BOOST_CHECK_EQUAL(test_request.vs_element.sorry_maxconnection, 50);
+ // unit_test[336] execute normal case 6 (vs operation add-vs) sorry_endpoint check
+ boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:8080");
+ BOOST_CHECK_EQUAL(test_request.vs_element.sorry_endpoint, sorry_ep);
+ // unit_test[337] execute normal case 6 (vs operation add-vs) qos_upstream check
+ BOOST_CHECK_EQUAL(test_request.vs_element.qos_upstream, (100000000ULL / 8));
+ // unit_test[338] execute normal case 6 (vs operation add-vs) qos_downstream check
+ BOOST_CHECK_EQUAL(test_request.vs_element.qos_downstream, (200000000ULL / 8));
+ }
+
+ // execute normal case 7 (vs operation edit-vs)
+ {
+ l7vsadm_test adm;
+ int argc = 19;
+ char *argv[] = { "l7vsadm_test",
+ "-E",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-s",
+ "rr",
+ "-u",
+ "50",
+ "-b",
+ "10.144.169.86:8080",
+ "-f",
+ "1",
+ "-Q",
+ "100M",
+ "-q",
+ "200M"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[339] execute normal case 7 (vs operation edit-vs) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[340] execute normal case 7 (vs operation edit-vs) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_EDIT_VS);
+ // unit_test[341] execute normal case 7 (vs operation edit-vs) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(test_request.vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[342] execute normal case 7 (vs operation edit-vs) protocol module name check
+ BOOST_CHECK_EQUAL(test_request.vs_element.protocol_module_name, "cinsert");
+ // unit_test[343] execute normal case 7 (vs operation edit-vs) protocol module arg check
+ BOOST_CHECK_EQUAL(test_request.vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[344] execute normal case 7 (vs operation edit-vs) schedule module name check
+ BOOST_CHECK_EQUAL(test_request.vs_element.schedule_module_name, "rr");
+ // unit_test[345] execute normal case 7 (vs operation edit-vs) sorry_maxconnection check
+ BOOST_CHECK_EQUAL(test_request.vs_element.sorry_maxconnection, 50);
+ // unit_test[346] execute normal case 7 (vs operation edit-vs) sorry_endpoint check
+ boost::asio::ip::tcp::endpoint sorry_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:8080");
+ BOOST_CHECK_EQUAL(test_request.vs_element.sorry_endpoint, sorry_ep);
+ // unit_test[347] execute normal case 7 (vs operation edit-vs) sorry_flag check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.sorry_flag, true);
+ // unit_test[348] execute normal case 7 (vs operation edit-vs) qos_upstream check
+ BOOST_CHECK_EQUAL(test_request.vs_element.qos_upstream, (100000000ULL / 8));
+ // unit_test[349] execute normal case 7 (vs operation edit-vs) qos_downstream check
+ BOOST_CHECK_EQUAL(test_request.vs_element.qos_downstream, (200000000ULL / 8));
+ }
+
+ // execute normal case 8 (vs operation del-vs)
+ {
+ l7vsadm_test adm;
+ int argc = 7;
+ char *argv[] = { "l7vsadm_test",
+ "-D",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[350] execute normal case 8 (vs operation del-vs) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[351] execute normal case 8 (vs operation del-vs) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_DEL_VS);
+ // unit_test[352] execute normal case 8 (vs operation del-vs) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[353] execute normal case 8 (vs operation del-vs) protocol module name check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_module_name, "cinsert");
+ // unit_test[354] execute normal case 8 (vs operation del-vs) protocol module arg check
+ BOOST_CHECK_EQUAL(adm.get_request().vs_element.protocol_args.front(), "mod_arg");
+ }
+
+ // execute normal case 9 (vs operation flush-vs)
+ {
+ l7vsadm_test adm;
+ int argc = 2;
+ char *argv[] = { "l7vsadm_test",
+ "-C"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[355] execute normal case 9 (vs operation flush-vs) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[356] execute normal case 9 (vs operation flush-vs) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_FLUSH_VS);
+ }
+
+ // execute normal case 10 (rs operation add-rs)
+ {
+ l7vsadm_test adm;
+ int argc = 11;
+ char *argv[] = { "l7vsadm_test",
+ "-a",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-r",
+ "10.144.169.86:8080",
+ "-w",
+ "10"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[357] execute normal case 10 (rs operation add-rs) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[358] execute normal case 10 (rs operation add-rs) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_ADD_RS);
+ // unit_test[359] execute normal case 10 (rs operation add-rs) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(test_request.vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[360] execute normal case 10 (rs operation add-rs) protocol module name check
+ BOOST_CHECK_EQUAL(test_request.vs_element.protocol_module_name, "cinsert");
+ // unit_test[361] execute normal case 10 (rs operation add-rs) protocol module arg check
+ BOOST_CHECK_EQUAL(test_request.vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[362] execute normal case 10 (rs operation add-rs) realserver endpoint check
+ boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:8080");
+ BOOST_CHECK_EQUAL(test_request.vs_element.realserver_vector.front().tcp_endpoint, rs_ep);
+ // unit_test[363] execute normal case 10 (rs operation add-rs) weight check
+ BOOST_CHECK_EQUAL(test_request.vs_element.realserver_vector.front().weight, 10);
+ }
+
+ // execute normal case 11 (rs operation edit-rs)
+ {
+ l7vsadm_test adm;
+ int argc = 11;
+ char *argv[] = { "l7vsadm_test",
+ "-e",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-r",
+ "10.144.169.86:8080",
+ "-w",
+ "20"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[364] execute normal case 11 (rs operation edit-rs) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[365] execute normal case 11 (rs operation edit-rs) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_EDIT_RS);
+ // unit_test[366] execute normal case 11 (rs operation edit-rs) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(test_request.vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[367] execute normal case 11 (rs operation edit-rs) protocol module name check
+ BOOST_CHECK_EQUAL(test_request.vs_element.protocol_module_name, "cinsert");
+ // unit_test[368] execute normal case 11 (rs operation edit-rs) protocol module arg check
+ BOOST_CHECK_EQUAL(test_request.vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[369] execute normal case 11 (rs operation edit-rs) realserver endpoint check
+ boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:8080");
+ BOOST_CHECK_EQUAL(test_request.vs_element.realserver_vector.front().tcp_endpoint, rs_ep);
+ // unit_test[370] execute normal case 11 (rs operation edit-rs) weight check
+ BOOST_CHECK_EQUAL(test_request.vs_element.realserver_vector.front().weight, 20);
+ }
+
+ // execute normal case 12 (rs operation del-rs)
+ {
+ l7vsadm_test adm;
+ int argc = 9;
+ char *argv[] = { "l7vsadm_test",
+ "-d",
+ "-t",
+ "10.144.169.87:22100",
+ "-m",
+ "cinsert",
+ "mod_arg",
+ "-r",
+ "10.144.169.86:8080"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[371] execute normal case 12 (rs operation del-rs) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[372] execute normal case 12 (rs operation del-rs) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_DEL_RS);
+ // unit_test[373] execute normal case 12 (rs operation del-rs) tcp_accept_endpoint check
+ boost::asio::ip::tcp::endpoint tcp_acc_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.87:22100");
+ BOOST_CHECK_EQUAL(test_request.vs_element.tcp_accept_endpoint, tcp_acc_ep);
+ // unit_test[374] execute normal case 12 (rs operation del-rs) protocol module name check
+ BOOST_CHECK_EQUAL(test_request.vs_element.protocol_module_name, "cinsert");
+ // unit_test[375] execute normal case 12 (rs operation del-rs) protocol module arg check
+ BOOST_CHECK_EQUAL(test_request.vs_element.protocol_args.front(), "mod_arg");
+ // unit_test[376] execute normal case 12 (rs operation del-rs) realserver endpoint check
+ boost::asio::ip::tcp::endpoint rs_ep = string_to_endpoint<boost::asio::ip::tcp>("10.144.169.86:8080");
+ BOOST_CHECK_EQUAL(test_request.vs_element.realserver_vector.front().tcp_endpoint, rs_ep);
+ }
+
+ // execute normal case 13 (replication operation)
+ {
+ l7vsadm_test adm;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test",
+ "-R",
+ "-s",
+ "start"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[377] execute normal case 13 (replication operation) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[378] execute normal case 13 (replication operation) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_REPLICATION);
+ // unit_test[379] execute normal case 13 (replication operation) replication command check
+ BOOST_CHECK_EQUAL(test_request.replication_command, l7vs::l7vsadm_request::REP_START);
+ }
+
+ // execute normal case 14 (log operation)
+ {
+ l7vsadm_test adm;
+ int argc = 6;
+ char *argv[] = { "l7vsadm_test",
+ "-L",
+ "-c",
+ "l7vsd_network",
+ "-l",
+ "debug"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[380] execute normal case 14 (log operation) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[381] execute normal case 14 (log operation) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_LOG);
+ // unit_test[382] execute normal case 14 (log operation) logcategory check
+ BOOST_CHECK_EQUAL(test_request.log_category, l7vs::LOG_CAT_L7VSD_NETWORK);
+ // unit_test[383] execute normal case 14 (log operation) logcategory check
+ BOOST_CHECK_EQUAL(test_request.log_level, l7vs::LOG_LV_DEBUG);
+ }
+
+ // execute normal case 15 (snmp log operation)
+ {
+ l7vsadm_test adm;
+ int argc = 6;
+ char *argv[] = { "l7vsadm_test",
+ "-S",
+ "-c",
+ "snmpagent_start_stop",
+ "-l",
+ "warn"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[384] execute normal case 15 (snmp log operation) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[385] execute normal case 15 (snmp log operation) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_SNMP);
+ // unit_test[386] execute normal case 15 (snmp log operation) logcategory check
+ BOOST_CHECK_EQUAL(test_request.snmp_log_category, l7vs::LOG_CAT_SNMPAGENT_START_STOP);
+ // unit_test[387] execute normal case 15 (snmp log operation) logcategory check
+ BOOST_CHECK_EQUAL(test_request.snmp_log_level, l7vs::LOG_LV_WARN);
+ }
+
+ // execute normal case 16 (parameter operation)
+ {
+ l7vsadm_test adm;
+ int argc = 4;
+ char *argv[] = { "l7vsadm_test",
+ "-P",
+ "-r",
+ "logger"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+ test_response.status = l7vs::l7vsd_response::RESPONSE_OK;
+
+ accept_ready = false;
+ boost::thread thd1(&server_thread);
+ {
+ //boost::mutex::scoped_lock lock( accept_mutex );
+ //accept_condition.wait( lock );
+ for (;;) {
+ if (accept_ready) break;
+ }
+ }
+ bool ret = adm.execute_wp(argc, argv);
+ thd1.join();
+
+ // unit_test[388] execute normal case 16 (parameter operation) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[389] execute normal case 16 (parameter operation) request command check
+ BOOST_CHECK_EQUAL(test_request.command, l7vs::l7vsadm_request::CMD_PARAMETER);
+ // unit_test[390] execute normal case 16 (parameter operation) reload_component check
+ BOOST_CHECK_EQUAL(test_request.reload_param, l7vs::PARAM_COMP_LOGGER);
+ }
+
+ // execute normal case 17 (help operation)
+ {
+ l7vsadm_test adm;
+ int argc = 2;
+ char *argv[] = { "l7vsadm_test",
+ "-h"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+
+ bool ret = adm.execute_wp(argc, argv);
+
+ // unit_test[391] execute normal case 17 (help operation) return value check
+ BOOST_CHECK_EQUAL(ret, true);
+ // unit_test[392] execute normal case 17 (help operation) request command check
+ BOOST_CHECK_EQUAL(adm.get_request().command, l7vs::l7vsadm_request::CMD_HELP);
+ }
+
+ // execute error case 1 (invalid operation)
+ {
+ l7vsadm_test adm;
+ int argc = 2;
+ char *argv[] = { "l7vsadm_test",
+ "-Z"
+ };
+
+ test_request = l7vs::l7vsadm_request();
+ test_response = l7vs::l7vsd_response();
+
+ bool ret = adm.execute_wp(argc, argv);
+
+ // unit_test[393] execute 1 (invalid operation) return value check
+ BOOST_CHECK_EQUAL(ret, false);
+ }
+
+ BOOST_MESSAGE("----- execute_test end -----");
+
+}
+
+void l7vsadm_test::file_lock_class_test()
+{
+ BOOST_MESSAGE("----- file_lock_class_test start -----");
+
+ char file_path[256];
+ memset(file_path, 0, sizeof(file_path));
+ readlink("/proc/self/exe", file_path, sizeof(file_path));
+
+ {
+ l7vs::error_code err;
+
+ // unit_test[394] file_lock_class normal case 1 (first lock) error check
+ l7vs::l7vsadm::file_lock lock(file_path, err);
+ BOOST_CHECK(!err);
+
+ // unit_test[395] file_lock_class normal case 1 (first lock) locable check
+ bool ret = lock.try_lock();
+ BOOST_CHECK(ret);
+
+ l7vs::error_code err2;
+ // unit_test[396] file_lock_class normal case 2 (second lock) error check
+ l7vs::l7vsadm::file_lock lock2(file_path, err2);
+ BOOST_CHECK(!err);
+
+ // unit_test[397] file_lock_class normal case 2 (second lock) unlocable check
+ ret = lock2.try_lock();
+ BOOST_CHECK(!ret);
+ }
+
+ {
+ l7vs::error_code err;
+
+ // unit_test[398] file_lock_class normal case 3 (relock) error check
+ l7vs::l7vsadm::file_lock lock(file_path, err);
+ BOOST_CHECK(!err);
+
+ // unit_test[399] file_lock_class normal case 3 (relock) locable check
+ bool ret = lock.try_lock();
+ BOOST_CHECK(ret);
+ }
-void l7vsadm_test::file_lock_class_test(){
- BOOST_MESSAGE( "----- file_lock_class_test start -----" );
-
- char file_path[256];
- memset(file_path, 0, sizeof(file_path));
- readlink("/proc/self/exe", file_path, sizeof(file_path));
-
- {
- l7vs::error_code err;
-
- // unit_test[394] file_lock_class normal case 1 (first lock) error check
- l7vs::l7vsadm::file_lock lock( file_path, err );
- BOOST_CHECK( !err );
-
- // unit_test[395] file_lock_class normal case 1 (first lock) locable check
- bool ret = lock.try_lock();
- BOOST_CHECK( ret );
-
- l7vs::error_code err2;
- // unit_test[396] file_lock_class normal case 2 (second lock) error check
- l7vs::l7vsadm::file_lock lock2( file_path, err2 );
- BOOST_CHECK( !err );
-
- // unit_test[397] file_lock_class normal case 2 (second lock) unlocable check
- ret = lock2.try_lock();
- BOOST_CHECK( !ret );
- }
-
- {
- l7vs::error_code err;
-
- // unit_test[398] file_lock_class normal case 3 (relock) error check
- l7vs::l7vsadm::file_lock lock( file_path, err );
- BOOST_CHECK( !err );
-
- // unit_test[399] file_lock_class normal case 3 (relock) locable check
- bool ret = lock.try_lock();
- BOOST_CHECK( ret );
- }
-
- BOOST_MESSAGE( "----- file_lock_class_test end -----" );
+ BOOST_MESSAGE("----- file_lock_class_test end -----");
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- test_suite* ts = BOOST_TEST_SUITE( "l7vsd class test" );
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ test_suite *ts = BOOST_TEST_SUITE("l7vsd class test");
- l7vs::Logger logger_instance;
- l7vs::Parameter parameter_instance;
- logger_instance.loadConf();
+ l7vs::Logger logger_instance;
+ l7vs::Parameter parameter_instance;
+ logger_instance.loadConf();
- ts->add( BOOST_TEST_CASE( &parse_list_func_test ) );
+ ts->add(BOOST_TEST_CASE(&parse_list_func_test));
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_target_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_module_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_scheduler_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_upper_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_bypass_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_qosup_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_qosdown_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_udp_func_test ) );
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_target_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_module_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_scheduler_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_upper_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_bypass_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_qosup_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_qosdown_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_udp_func_test));
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_ssl_file_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_access_log_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_access_log_logrotate_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_socket_func_test ) );
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_ssl_file_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_access_log_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_access_log_logrotate_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_socket_func_test));
- ts->add( BOOST_TEST_CASE( &parse_vs_func_test ) );
+ ts->add(BOOST_TEST_CASE(&parse_vs_func_test));
- ts->add( BOOST_TEST_CASE( &parse_opt_rs_weight_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_rs_realserver_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_rs_func_test ) );
+ ts->add(BOOST_TEST_CASE(&parse_opt_rs_weight_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_rs_realserver_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_rs_func_test));
- ts->add( BOOST_TEST_CASE( &parse_opt_replication_switch_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_replication_force_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_replication_dump_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_replication_func_test ) );
+ ts->add(BOOST_TEST_CASE(&parse_opt_replication_switch_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_replication_force_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_replication_dump_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_replication_func_test));
- ts->add( BOOST_TEST_CASE( &parse_opt_log_category_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_log_level_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_log_func_test ) );
+ ts->add(BOOST_TEST_CASE(&parse_opt_log_category_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_log_level_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_log_func_test));
- ts->add( BOOST_TEST_CASE( &parse_opt_snmp_log_category_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_snmp_log_level_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_snmp_func_test ) );
+ ts->add(BOOST_TEST_CASE(&parse_opt_snmp_log_category_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_snmp_log_level_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_snmp_func_test));
- ts->add( BOOST_TEST_CASE( &parse_opt_parameter_reload_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_parameter_func_test ) );
+ ts->add(BOOST_TEST_CASE(&parse_opt_parameter_reload_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_parameter_func_test));
- ts->add( BOOST_TEST_CASE( &parse_opt_vs_fwdmode_func_test ) );
- ts->add( BOOST_TEST_CASE( &parse_opt_rs_fwdmode_func_test ) );
+ ts->add(BOOST_TEST_CASE(&parse_opt_vs_fwdmode_func_test));
+ ts->add(BOOST_TEST_CASE(&parse_opt_rs_fwdmode_func_test));
- ts->add( BOOST_TEST_CASE( &execute_test ) );
+ ts->add(BOOST_TEST_CASE(&execute_test));
- ts->add( BOOST_TEST_CASE( &l7vsadm_test::file_lock_class_test ) );
+ ts->add(BOOST_TEST_CASE(&l7vsadm_test::file_lock_class_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
#include "protocol_module_stub.h"
#include "schedule_module_stub.h"
-namespace l7vs{
+namespace l7vs
+{
// protocol module
bool protocol_module_stub::check_parameter_called(false);
bool protocol_module_stub::check_parameter_fail(false);
bool protocol_module_control::load_module_fail(false);
protocol_module_control&
-protocol_module_control::getInstance(){
- static protocol_module_control instance;
- return instance;
+protocol_module_control::getInstance()
+{
+ static protocol_module_control instance;
+ return instance;
}
void
-protocol_module_control::initialize( const std::string& infile_path ){
+protocol_module_control::initialize(const std::string &infile_path)
+{
}
void
-protocol_module_control::finalize(){
+protocol_module_control::finalize()
+{
}
protocol_module_base*
-protocol_module_control::load_module( const std::string& modulename ){
- protocol_module_base* return_value = NULL;
- if( !load_module_fail )
- return_value = dynamic_cast<l7vs::protocol_module_base*>(new l7vs::protocol_module_stub());
- return return_value;
+protocol_module_control::load_module(const std::string &modulename)
+{
+ protocol_module_base *return_value = NULL;
+ if (!load_module_fail)
+ return_value = dynamic_cast<l7vs::protocol_module_base *>(new l7vs::protocol_module_stub());
+ return return_value;
}
void
-protocol_module_control::unload_module( protocol_module_base* module_ptr ){
- if( module_ptr )
- delete module_ptr;
+protocol_module_control::unload_module(protocol_module_base *module_ptr)
+{
+ if (module_ptr)
+ delete module_ptr;
}
bool schedule_module_control::load_module_fail(false);
schedule_module_control&
-schedule_module_control::getInstance(){
- static schedule_module_control instance;
- return instance;
+schedule_module_control::getInstance()
+{
+ static schedule_module_control instance;
+ return instance;
}
void
-schedule_module_control::initialize( const std::string& infile_path ){
+schedule_module_control::initialize(const std::string &infile_path)
+{
}
void
-schedule_module_control::finalize(){
+schedule_module_control::finalize()
+{
}
schedule_module_base*
-schedule_module_control::load_module( const std::string& modulename ){
- schedule_module_base* return_value = NULL;
- if( !load_module_fail )
- return_value = dynamic_cast<l7vs::schedule_module_base*>(new l7vs::schedule_module_stub());
- return return_value;
+schedule_module_control::load_module(const std::string &modulename)
+{
+ schedule_module_base *return_value = NULL;
+ if (!load_module_fail)
+ return_value = dynamic_cast<l7vs::schedule_module_base *>(new l7vs::schedule_module_stub());
+ return return_value;
}
void
-schedule_module_control::unload_module( schedule_module_base* module_ptr ){
- if( module_ptr )
- delete module_ptr;
+schedule_module_control::unload_module(schedule_module_base *module_ptr)
+{
+ if (module_ptr)
+ delete module_ptr;
}
} //namespace l7vs
// test class
-class l7vsd_test :public l7vs::l7vsd {
+class l7vsd_test : public l7vs::l7vsd
+{
public:
- vslist_type& get_vslist(){ return vslist; }
- boost::thread_group& get_tg(){ return vs_threads; }
-
- bool& get_help() { return help; }
+ vslist_type &get_vslist() {
+ return vslist;
+ }
+ boost::thread_group &get_tg() {
+ return vs_threads;
+ }
+
+ bool &get_help() {
+ return help;
+ }
// bool& get_debug() { return debug; }
- boost::posix_time::ptime& get_starttime() { return starttime; }
-
- vslist_type::iterator search_vslist( l7vs::virtualservice_element& in_elem ){
- return l7vsd::search_vslist( in_elem );
- }
- void set_replication( boost::shared_ptr< l7vs::replication > inrep ){
- rep = inrep;
- }
- void set_snmpbridge( boost::shared_ptr< l7vs::snmpbridge > inbridge ){
- bridge = inbridge;
- }
- sig_atomic_t get_exit_requested(){
- return l7vsd::exit_requested;
- }
- sig_atomic_t get_received_sig(){
- return l7vsd::received_sig;
- }
- void set_exit_requested(sig_atomic_t in){
- l7vsd::exit_requested = in;
- }
- void set_received_sig(sig_atomic_t in){
- l7vsd::received_sig = in;
- }
- void sig_exit_handler_wp(){
- l7vsd::sig_exit_handler();
- }
+ boost::posix_time::ptime &get_starttime() {
+ return starttime;
+ }
+
+ vslist_type::iterator search_vslist(l7vs::virtualservice_element &in_elem) {
+ return l7vsd::search_vslist(in_elem);
+ }
+ void set_replication(boost::shared_ptr< l7vs::replication > inrep) {
+ rep = inrep;
+ }
+ void set_snmpbridge(boost::shared_ptr< l7vs::snmpbridge > inbridge) {
+ bridge = inbridge;
+ }
+ sig_atomic_t get_exit_requested() {
+ return l7vsd::exit_requested;
+ }
+ sig_atomic_t get_received_sig() {
+ return l7vsd::received_sig;
+ }
+ void set_exit_requested(sig_atomic_t in) {
+ l7vsd::exit_requested = in;
+ }
+ void set_received_sig(sig_atomic_t in) {
+ l7vsd::received_sig = in;
+ }
+ void sig_exit_handler_wp() {
+ l7vsd::sig_exit_handler();
+ }
};
// stub glibc functions
-static int (*org_daemon)(int nochdir, int noclose) = NULL;
+static int (*org_daemon)(int nochdir, int noclose) = NULL;
int daemon_ret = 0;
-int daemon( int nochdir, int noclose ){
- std::cout << "daemon" << std::endl;
- return daemon_ret;
+int daemon(int nochdir, int noclose)
+{
+ std::cout << "daemon" << std::endl;
+ return daemon_ret;
}
// handler_wrapper
-void* handler_wrapper( void* );
+void *handler_wrapper(void *);
// flags
int call_count_test_handler = 0; //test_handlerの呼出回数
//util
template< typename InternetProtocol >
-boost::asio::ip::basic_endpoint< InternetProtocol > string_to_endpoint( std::string str ){
- std::string::size_type pos = str.find( ":" );
- std::string hostname = str.substr( 0, pos );
- std::string portname = str.substr( pos+1, str.length() );
- boost::asio::io_service io_service;
- typename InternetProtocol::resolver resolver(io_service);
- typename InternetProtocol::resolver::query query( hostname, portname );
- typename InternetProtocol::resolver::iterator end;
- typename InternetProtocol::resolver::iterator itr = resolver.resolve( query );
- if( itr == end ) return typename InternetProtocol::endpoint();
- return *itr;
+boost::asio::ip::basic_endpoint< InternetProtocol > string_to_endpoint(std::string str)
+{
+ std::string::size_type pos = str.find(":");
+ std::string hostname = str.substr(0, pos);
+ std::string portname = str.substr(pos + 1, str.length());
+ boost::asio::io_service io_service;
+ typename InternetProtocol::resolver resolver(io_service);
+ typename InternetProtocol::resolver::query query(hostname, portname);
+ typename InternetProtocol::resolver::iterator end;
+ typename InternetProtocol::resolver::iterator itr = resolver.resolve(query);
+ if (itr == end) return typename InternetProtocol::endpoint();
+ return *itr;
}
//--tests--
-void list_virtual_service_test(){
- BOOST_MESSAGE( "----- list_virtual_service_test start -----" );
-
- l7vsd_test vsd_test;
-
- boost::asio::io_service io;
- l7vs::replication rep;
- l7vs::virtualservice_element e;
-
- boost::shared_ptr< l7vs::virtual_service > vs1( new l7vs::virtual_service( vsd_test, rep, e ) );
- boost::shared_ptr< l7vs::virtual_service > vs2( new l7vs::virtual_service( vsd_test, rep, e ) );
- vs1->element.protocol_module_name = "cinsert";
- vs2->element.protocol_module_name = "url";
-
- vsd_test.get_vslist().push_back(vs1);
- vsd_test.get_vslist().push_back(vs2);
-
- //virtualservice_element elem1;
- //virtualservice_element elem2;
-
- //normal case
- {
- l7vs::error_code err;
- l7vs::l7vsd::vselist_type vse_list;
-
- vsd_test.list_virtual_service( &vse_list, err );
- // unit_test[1] list_virtual_service normal case error_code check
- BOOST_CHECK( !err );
- // unit_test[2] list_virtual_service normal case vse_list num check
- BOOST_CHECK_EQUAL( vse_list.size(), 2U );
- // unit_test[3] list_virtual_service normal case vse_list content check
- l7vs::l7vsd::vselist_type::iterator itr = vse_list.begin();
- BOOST_CHECK_EQUAL( itr->protocol_module_name, "cinsert" );
- itr++;
- BOOST_CHECK_EQUAL( itr->protocol_module_name, "url" );
- }
-
- vsd_test.get_vslist().clear();
-
- //normal case 2
- {
- l7vs::error_code err;
- l7vs::l7vsd::vselist_type vse_list;
-
- vsd_test.list_virtual_service( &vse_list, err );
- // unit_test[4] list_virtual_service normal case 2(vslist empty) error_code check
- BOOST_CHECK( !err );
- // unit_test[5] list_virtual_service normal case 2(vslist empty) vse_list num check
- BOOST_CHECK_EQUAL( vse_list.size(), 0U );
- }
-
- BOOST_MESSAGE( "----- list_virtual_service_test end -----" );
+void list_virtual_service_test()
+{
+ BOOST_MESSAGE("----- list_virtual_service_test start -----");
-}
+ l7vsd_test vsd_test;
-void list_virtual_service_verbose_test(){
- BOOST_MESSAGE( "----- list_virtual_service_verbose_test start -----" );
-
- l7vsd_test vsd_test;
-
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
- //l7vs::replication rep(io);
- boost::shared_ptr< l7vs::snmpbridge >
- bridge( new l7vs::snmpbridge( vsd_test, io ) );
- vsd_test.set_snmpbridge( bridge );
-
- l7vs::virtualservice_element e;
-
- boost::shared_ptr< l7vs::virtual_service > vs1( new l7vs::virtual_service( vsd_test, *rep, e ) );
- vs1->element.protocol_module_name = "cinsert";
-
- vsd_test.get_vslist().push_back(vs1);
-
- l7vs::Logger::setLogLevel( l7vs::LOG_CAT_L7VSD_NETWORK, l7vs::LOG_LV_FATAL );
- vsd_test.get_starttime() -= boost::posix_time::hours(1);
-
- //normal case
- {
- l7vs::error_code err;
- l7vs::l7vsd_response response;
-
- vsd_test.list_virtual_service_verbose( &response, err );
- // unit_test[6] list_virtual_service_verbose normal case error_code check
- BOOST_CHECK( !err );
- // unit_test[7] list_virtual_service_verbose normal case vse_list num check
- BOOST_CHECK_EQUAL( response.virtualservice_status_list.size(), 1U );
- // unit_test[8] list_virtual_service_verbose normal case vse_list content check
- l7vs::l7vsd::vselist_type::iterator itr = response.virtualservice_status_list.begin();
- BOOST_CHECK_EQUAL( itr->protocol_module_name, "cinsert" );
- // unit_test[9] list_virtual_service_verbose normal case replication_mode_status check
- BOOST_CHECK_EQUAL( response.replication_mode_status, l7vs::replication::REPLICATION_MASTER );
- // unit_test[10] list_virtual_service_verbose normal case log_status_list check
- l7vs::l7vsd::logstatus_list_type::iterator logitr;
- logitr = response.log_status_list.begin();
- BOOST_CHECK_EQUAL( logitr->second, l7vs::LOG_LV_FATAL );
- // unit_test[11] list_virtual_service_verbose normal case snmp_connection_status check
- BOOST_CHECK_EQUAL( response.snmp_connection_status, true );
- // unit_test[12] list_virtual_service_verbose normal case snmp_log_status_list check
- l7vs::l7vsd::logstatus_list_type::iterator snmplogitr;
- snmplogitr = response.snmp_log_status_list.begin();
- BOOST_CHECK_EQUAL( logitr->second, l7vs::LOG_LV_FATAL );
- // unit_test[13] list_virtual_service_verbose normal case total_client_recv_byte check
- BOOST_CHECK_EQUAL( response.total_client_recv_byte, 12345ULL );
- // unit_test[14] list_virtual_service_verbose normal case total_client_send_byte check
- BOOST_CHECK_EQUAL( response.total_client_send_byte, 45678ULL );
- // unit_test[15] list_virtual_service_verbose normal case total_realserver_recv_byte check
- BOOST_CHECK_EQUAL( response.total_realserver_recv_byte, 34567ULL );
- // unit_test[16] list_virtual_service_verbose normal case total_realserver_send_byte check
- BOOST_CHECK_EQUAL( response.total_realserver_send_byte, 23456ULL );
- // unit_test[17] list_virtual_service_verbose normal case total_bps check
- BOOST_CHECK( response.total_bps > 0ULL );
-
- }
-
- vsd_test.get_vslist().clear();
-
- //normal case 2
- {
- l7vs::error_code err;
- l7vs::l7vsd_response response;
-
- vsd_test.list_virtual_service_verbose( &response, err );
- // unit_test[18] list_virtual_service_verbose normal case 2(vslist empty) error_code check
- BOOST_CHECK( !err );
- // unit_test[19] list_virtual_service_verbose normal case 2(vslist empty) vse_list num check
- BOOST_CHECK_EQUAL( response.virtualservice_status_list.size(), 0U );
- // unit_test[20] list_virtual_service_verbose normal case 2(vslist empty) replication_mode_status check
- BOOST_CHECK_EQUAL( response.replication_mode_status, l7vs::replication::REPLICATION_MASTER );
- // unit_test[21] list_virtual_service_verbose normal case 2(vslist empty) log_status_list check
- l7vs::l7vsd::logstatus_list_type::iterator logitr;
- logitr = response.log_status_list.begin();
- BOOST_CHECK_EQUAL( logitr->second, l7vs::LOG_LV_FATAL );
- // unit_test[22] list_virtual_service_verbose normal case 2(vslist empty) snmp_connection_status check
- BOOST_CHECK_EQUAL( response.snmp_connection_status, true );
- // unit_test[23] list_virtual_service_verbose normal case 2(vslist empty) snmp_log_status_list check
- l7vs::l7vsd::logstatus_list_type::iterator snmplogitr;
- snmplogitr = response.snmp_log_status_list.begin();
- BOOST_CHECK_EQUAL( logitr->second, l7vs::LOG_LV_FATAL );
- // unit_test[24] list_virtual_service_verbose normal 2(vslist empty) case total_client_recv_byte check
- BOOST_CHECK_EQUAL( response.total_client_recv_byte, 0ULL );
- // unit_test[25] list_virtual_service_verbose normal 2(vslist empty) case total_client_send_byte check
- BOOST_CHECK_EQUAL( response.total_client_send_byte, 0ULL );
- // unit_test[26] list_virtual_service_verbose normal 2(vslist empty) case total_realserver_recv_byte check
- BOOST_CHECK_EQUAL( response.total_realserver_recv_byte, 0ULL );
- // unit_test[27] list_virtual_service_verbose normal 2(vslist empty) case total_realserver_send_byte check
- BOOST_CHECK_EQUAL( response.total_realserver_send_byte, 0ULL );
- // unit_test[28] list_virtual_service_verbose normal case 2(vslist empty) total_bps check
- BOOST_CHECK( response.total_bps == 0ULL );
- }
-
- BOOST_MESSAGE( "----- list_virtual_service_verbose_test end -----" );
+ boost::asio::io_service io;
+ l7vs::replication rep;
+ l7vs::virtualservice_element e;
-}
+ boost::shared_ptr< l7vs::virtual_service > vs1(new l7vs::virtual_service(vsd_test, rep, e));
+ boost::shared_ptr< l7vs::virtual_service > vs2(new l7vs::virtual_service(vsd_test, rep, e));
+ vs1->element.protocol_module_name = "cinsert";
+ vs2->element.protocol_module_name = "url";
-void add_virtual_service_test(){
- BOOST_MESSAGE( "----- add_virtual_service_test start -----" );
+ vsd_test.get_vslist().push_back(vs1);
+ vsd_test.get_vslist().push_back(vs2);
- l7vsd_test vsd_test;
+ //virtualservice_element elem1;
+ //virtualservice_element elem2;
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
+ //normal case
+ {
+ l7vs::error_code err;
+ l7vs::l7vsd::vselist_type vse_list;
-// 正常系
- {
- l7vs::virtualservice_element elem;
- elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.10.10.10:9999" );
-
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem, err );
- // unit_test[29] add_virtual_service 正常系 エラーコード確認
- BOOST_CHECK( !err );
- // unit_test[30] add_virtual_service 正常系 vslist数確認
- BOOST_CHECK_EQUAL( vsd_test.get_vslist().size(), 1U );
- // unit_test[31] add_virtual_service 正常系 vslist内容確認
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
- BOOST_CHECK( (*itr)->get_element() == elem );
- // unit_test[32] add_virtual_service 正常系 initialize確認
- BOOST_CHECK_EQUAL( (*itr)->initialize_called, true );
- // unit_test[33] add_virtual_service 正常系 set_virtualservice確認
- BOOST_CHECK_EQUAL( (*itr)->set_virtualservice_called, true );
- // unit_test[34] add_virtual_service 正常系 run確認
- vsd_test.get_tg().join_all();
- BOOST_CHECK_EQUAL( (*itr)->run_called, true );
- // unit_test[35] add_virtual_service 正常系 replication switch_to_master確認
- BOOST_CHECK_EQUAL( rep->switch_to_master_called, true );
- }
-
- rep->switch_to_master_called = false;
+ vsd_test.list_virtual_service(&vse_list, err);
+ // unit_test[1] list_virtual_service normal case error_code check
+ BOOST_CHECK(!err);
+ // unit_test[2] list_virtual_service normal case vse_list num check
+ BOOST_CHECK_EQUAL(vse_list.size(), 2U);
+ // unit_test[3] list_virtual_service normal case vse_list content check
+ l7vs::l7vsd::vselist_type::iterator itr = vse_list.begin();
+ BOOST_CHECK_EQUAL(itr->protocol_module_name, "cinsert");
+ itr++;
+ BOOST_CHECK_EQUAL(itr->protocol_module_name, "url");
+ }
-// 正常系2
- {
- l7vs::virtualservice_element elem2;
- elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "20.20.20.20:8888" );
-
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem2, err );
- // unit_test[36] add_virtual_service 正常系2(vs2個め) エラーコード確認
- BOOST_CHECK( !err );
- // unit_test[37] add_virtual_service 正常系2(vs2個め) vslist数確認
- BOOST_CHECK_EQUAL( vsd_test.get_vslist().size(), 2U );
- // unit_test[38] add_virtual_service 正常系2(vs2個め) vslist内容確認
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
- ++itr;
- BOOST_CHECK( (*itr)->get_element() == elem2 );
- // unit_test[39] add_virtual_service 正常系2(vs2個め) initialize確認
- BOOST_CHECK_EQUAL( (*itr)->initialize_called, true );
- // unit_test[40] add_virtual_service 正常系2(vs2個め) set_virtualservice確認
- BOOST_CHECK_EQUAL( (*itr)->set_virtualservice_called, true );
- // unit_test[41] add_virtual_service 正常系2(vs2個め) run確認
- vsd_test.get_tg().join_all();
- BOOST_CHECK_EQUAL( (*itr)->run_called, true );
- // unit_test[42] add_virtual_service 正常系2(vs2個め) replication switch_to_master確認
- BOOST_CHECK_EQUAL( rep->switch_to_master_called, false );
- }
+ vsd_test.get_vslist().clear();
-//異常系
- // unit_test[43] add_virtual_service 異常系(既に同じvsがある場合) エラーコード確認
- {
- l7vs::virtualservice_element elem3;
- elem3.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "20.20.20.20:8888" );
-
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem3, err );
- BOOST_CHECK( err );
- }
-
- // unit_test[44] add_virtual_service 異常系2(replicaitonがnullの場合) 戻り値確認
- {
- l7vsd_test vsd_test2;
- l7vs::virtualservice_element elem;
- elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.10.10.10:9999" );
+ //normal case 2
+ {
+ l7vs::error_code err;
+ l7vs::l7vsd::vselist_type vse_list;
- l7vs::error_code err;
- vsd_test2.add_virtual_service( &elem, err );
- BOOST_CHECK( err );
- }
+ vsd_test.list_virtual_service(&vse_list, err);
+ // unit_test[4] list_virtual_service normal case 2(vslist empty) error_code check
+ BOOST_CHECK(!err);
+ // unit_test[5] list_virtual_service normal case 2(vslist empty) vse_list num check
+ BOOST_CHECK_EQUAL(vse_list.size(), 0U);
+ }
- // unit_test[45] add_virtual_service 異常系3(initialize失敗) 戻り値確認
- {
- l7vs::virtualservice_element elem4;
- elem4.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "30.30.30.30:7777" );
- l7vs::virtual_service::initialize_fail = true;
+ BOOST_MESSAGE("----- list_virtual_service_test end -----");
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem4, err );
- BOOST_CHECK( err );
+}
+
+void list_virtual_service_verbose_test()
+{
+ BOOST_MESSAGE("----- list_virtual_service_verbose_test start -----");
+
+ l7vsd_test vsd_test;
+
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
+ //l7vs::replication rep(io);
+ boost::shared_ptr< l7vs::snmpbridge >
+ bridge(new l7vs::snmpbridge(vsd_test, io));
+ vsd_test.set_snmpbridge(bridge);
+
+ l7vs::virtualservice_element e;
+
+ boost::shared_ptr< l7vs::virtual_service > vs1(new l7vs::virtual_service(vsd_test, *rep, e));
+ vs1->element.protocol_module_name = "cinsert";
+
+ vsd_test.get_vslist().push_back(vs1);
+
+ l7vs::Logger::setLogLevel(l7vs::LOG_CAT_L7VSD_NETWORK, l7vs::LOG_LV_FATAL);
+ vsd_test.get_starttime() -= boost::posix_time::hours(1);
+
+ //normal case
+ {
+ l7vs::error_code err;
+ l7vs::l7vsd_response response;
+
+ vsd_test.list_virtual_service_verbose(&response, err);
+ // unit_test[6] list_virtual_service_verbose normal case error_code check
+ BOOST_CHECK(!err);
+ // unit_test[7] list_virtual_service_verbose normal case vse_list num check
+ BOOST_CHECK_EQUAL(response.virtualservice_status_list.size(), 1U);
+ // unit_test[8] list_virtual_service_verbose normal case vse_list content check
+ l7vs::l7vsd::vselist_type::iterator itr = response.virtualservice_status_list.begin();
+ BOOST_CHECK_EQUAL(itr->protocol_module_name, "cinsert");
+ // unit_test[9] list_virtual_service_verbose normal case replication_mode_status check
+ BOOST_CHECK_EQUAL(response.replication_mode_status, l7vs::replication::REPLICATION_MASTER);
+ // unit_test[10] list_virtual_service_verbose normal case log_status_list check
+ l7vs::l7vsd::logstatus_list_type::iterator logitr;
+ logitr = response.log_status_list.begin();
+ BOOST_CHECK_EQUAL(logitr->second, l7vs::LOG_LV_FATAL);
+ // unit_test[11] list_virtual_service_verbose normal case snmp_connection_status check
+ BOOST_CHECK_EQUAL(response.snmp_connection_status, true);
+ // unit_test[12] list_virtual_service_verbose normal case snmp_log_status_list check
+ l7vs::l7vsd::logstatus_list_type::iterator snmplogitr;
+ snmplogitr = response.snmp_log_status_list.begin();
+ BOOST_CHECK_EQUAL(logitr->second, l7vs::LOG_LV_FATAL);
+ // unit_test[13] list_virtual_service_verbose normal case total_client_recv_byte check
+ BOOST_CHECK_EQUAL(response.total_client_recv_byte, 12345ULL);
+ // unit_test[14] list_virtual_service_verbose normal case total_client_send_byte check
+ BOOST_CHECK_EQUAL(response.total_client_send_byte, 45678ULL);
+ // unit_test[15] list_virtual_service_verbose normal case total_realserver_recv_byte check
+ BOOST_CHECK_EQUAL(response.total_realserver_recv_byte, 34567ULL);
+ // unit_test[16] list_virtual_service_verbose normal case total_realserver_send_byte check
+ BOOST_CHECK_EQUAL(response.total_realserver_send_byte, 23456ULL);
+ // unit_test[17] list_virtual_service_verbose normal case total_bps check
+ BOOST_CHECK(response.total_bps > 0ULL);
+
+ }
+
+ vsd_test.get_vslist().clear();
+
+ //normal case 2
+ {
+ l7vs::error_code err;
+ l7vs::l7vsd_response response;
+
+ vsd_test.list_virtual_service_verbose(&response, err);
+ // unit_test[18] list_virtual_service_verbose normal case 2(vslist empty) error_code check
+ BOOST_CHECK(!err);
+ // unit_test[19] list_virtual_service_verbose normal case 2(vslist empty) vse_list num check
+ BOOST_CHECK_EQUAL(response.virtualservice_status_list.size(), 0U);
+ // unit_test[20] list_virtual_service_verbose normal case 2(vslist empty) replication_mode_status check
+ BOOST_CHECK_EQUAL(response.replication_mode_status, l7vs::replication::REPLICATION_MASTER);
+ // unit_test[21] list_virtual_service_verbose normal case 2(vslist empty) log_status_list check
+ l7vs::l7vsd::logstatus_list_type::iterator logitr;
+ logitr = response.log_status_list.begin();
+ BOOST_CHECK_EQUAL(logitr->second, l7vs::LOG_LV_FATAL);
+ // unit_test[22] list_virtual_service_verbose normal case 2(vslist empty) snmp_connection_status check
+ BOOST_CHECK_EQUAL(response.snmp_connection_status, true);
+ // unit_test[23] list_virtual_service_verbose normal case 2(vslist empty) snmp_log_status_list check
+ l7vs::l7vsd::logstatus_list_type::iterator snmplogitr;
+ snmplogitr = response.snmp_log_status_list.begin();
+ BOOST_CHECK_EQUAL(logitr->second, l7vs::LOG_LV_FATAL);
+ // unit_test[24] list_virtual_service_verbose normal 2(vslist empty) case total_client_recv_byte check
+ BOOST_CHECK_EQUAL(response.total_client_recv_byte, 0ULL);
+ // unit_test[25] list_virtual_service_verbose normal 2(vslist empty) case total_client_send_byte check
+ BOOST_CHECK_EQUAL(response.total_client_send_byte, 0ULL);
+ // unit_test[26] list_virtual_service_verbose normal 2(vslist empty) case total_realserver_recv_byte check
+ BOOST_CHECK_EQUAL(response.total_realserver_recv_byte, 0ULL);
+ // unit_test[27] list_virtual_service_verbose normal 2(vslist empty) case total_realserver_send_byte check
+ BOOST_CHECK_EQUAL(response.total_realserver_send_byte, 0ULL);
+ // unit_test[28] list_virtual_service_verbose normal case 2(vslist empty) total_bps check
+ BOOST_CHECK(response.total_bps == 0ULL);
+ }
+
+ BOOST_MESSAGE("----- list_virtual_service_verbose_test end -----");
- l7vs::virtual_service::initialize_fail = false;
- }
+}
- // unit_test[46] add_virtual_service 異常系4(set_virtualservice失敗) 戻り値確認
- {
- l7vs::virtualservice_element elem5;
- elem5.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "40.40.40.40:6666" );
- l7vs::virtual_service::set_virtualservice_fail = true;
+void add_virtual_service_test()
+{
+ BOOST_MESSAGE("----- add_virtual_service_test start -----");
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem5, err );
- BOOST_CHECK( err );
+ l7vsd_test vsd_test;
- l7vs::virtual_service::set_virtualservice_fail = false;
- }
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
+
+// 正常系
+ {
+ l7vs::virtualservice_element elem;
+ elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.10.10.10:9999");
+
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem, err);
+ // unit_test[29] add_virtual_service 正常系 エラーコード確認
+ BOOST_CHECK(!err);
+ // unit_test[30] add_virtual_service 正常系 vslist数確認
+ BOOST_CHECK_EQUAL(vsd_test.get_vslist().size(), 1U);
+ // unit_test[31] add_virtual_service 正常系 vslist内容確認
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
+ BOOST_CHECK((*itr)->get_element() == elem);
+ // unit_test[32] add_virtual_service 正常系 initialize確認
+ BOOST_CHECK_EQUAL((*itr)->initialize_called, true);
+ // unit_test[33] add_virtual_service 正常系 set_virtualservice確認
+ BOOST_CHECK_EQUAL((*itr)->set_virtualservice_called, true);
+ // unit_test[34] add_virtual_service 正常系 run確認
+ vsd_test.get_tg().join_all();
+ BOOST_CHECK_EQUAL((*itr)->run_called, true);
+ // unit_test[35] add_virtual_service 正常系 replication switch_to_master確認
+ BOOST_CHECK_EQUAL(rep->switch_to_master_called, true);
+ }
+
+ rep->switch_to_master_called = false;
- BOOST_MESSAGE( "----- add_virtual_service_test end -----" );
+// 正常系2
+ {
+ l7vs::virtualservice_element elem2;
+ elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("20.20.20.20:8888");
+
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem2, err);
+ // unit_test[36] add_virtual_service 正常系2(vs2個め) エラーコード確認
+ BOOST_CHECK(!err);
+ // unit_test[37] add_virtual_service 正常系2(vs2個め) vslist数確認
+ BOOST_CHECK_EQUAL(vsd_test.get_vslist().size(), 2U);
+ // unit_test[38] add_virtual_service 正常系2(vs2個め) vslist内容確認
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
+ ++itr;
+ BOOST_CHECK((*itr)->get_element() == elem2);
+ // unit_test[39] add_virtual_service 正常系2(vs2個め) initialize確認
+ BOOST_CHECK_EQUAL((*itr)->initialize_called, true);
+ // unit_test[40] add_virtual_service 正常系2(vs2個め) set_virtualservice確認
+ BOOST_CHECK_EQUAL((*itr)->set_virtualservice_called, true);
+ // unit_test[41] add_virtual_service 正常系2(vs2個め) run確認
+ vsd_test.get_tg().join_all();
+ BOOST_CHECK_EQUAL((*itr)->run_called, true);
+ // unit_test[42] add_virtual_service 正常系2(vs2個め) replication switch_to_master確認
+ BOOST_CHECK_EQUAL(rep->switch_to_master_called, false);
+ }
+
+//異常系
+ // unit_test[43] add_virtual_service 異常系(既に同じvsがある場合) エラーコード確認
+ {
+ l7vs::virtualservice_element elem3;
+ elem3.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("20.20.20.20:8888");
+
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem3, err);
+ BOOST_CHECK(err);
+ }
+
+ // unit_test[44] add_virtual_service 異常系2(replicaitonがnullの場合) 戻り値確認
+ {
+ l7vsd_test vsd_test2;
+ l7vs::virtualservice_element elem;
+ elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.10.10.10:9999");
+
+ l7vs::error_code err;
+ vsd_test2.add_virtual_service(&elem, err);
+ BOOST_CHECK(err);
+ }
+
+ // unit_test[45] add_virtual_service 異常系3(initialize失敗) 戻り値確認
+ {
+ l7vs::virtualservice_element elem4;
+ elem4.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("30.30.30.30:7777");
+ l7vs::virtual_service::initialize_fail = true;
+
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem4, err);
+ BOOST_CHECK(err);
+
+ l7vs::virtual_service::initialize_fail = false;
+ }
+
+ // unit_test[46] add_virtual_service 異常系4(set_virtualservice失敗) 戻り値確認
+ {
+ l7vs::virtualservice_element elem5;
+ elem5.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("40.40.40.40:6666");
+ l7vs::virtual_service::set_virtualservice_fail = true;
+
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem5, err);
+ BOOST_CHECK(err);
+
+ l7vs::virtual_service::set_virtualservice_fail = false;
+ }
+
+ BOOST_MESSAGE("----- add_virtual_service_test end -----");
}
-void del_virtual_service_test(){
- BOOST_MESSAGE( "----- del_virtual_service_test start -----" );
+void del_virtual_service_test()
+{
+ BOOST_MESSAGE("----- del_virtual_service_test start -----");
- l7vsd_test vsd_test;
+ l7vsd_test vsd_test;
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
- l7vs::virtualservice_element elem;
- elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.10.10.10:9999" );
- l7vs::virtualservice_element elem2;
- elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "20.20.20.20:8888" );
+ l7vs::virtualservice_element elem;
+ elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.10.10.10:9999");
+ l7vs::virtualservice_element elem2;
+ elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("20.20.20.20:8888");
// prepare vslist
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem, err );
- vsd_test.add_virtual_service( &elem2, err );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem, err);
+ vsd_test.add_virtual_service(&elem2, err);
+ }
// normal case
- {
- l7vs::virtual_service::stop_called = false;
- l7vs::virtual_service::finalize_called = false;
- l7vs::virtual_service::finalize_fail = false;
-
- l7vs::error_code err;
- vsd_test.del_virtual_service( &elem, err );
- // unit_test[47] del_virtual_service normal case error_code check
- BOOST_CHECK( !err );
- // unit_test[48] del_virtual_service normal case vslist num check
- BOOST_CHECK_EQUAL( vsd_test.get_vslist().size(), 1U );
- // unit_test[49] del_virtual_service normal case stop call check
- BOOST_CHECK_EQUAL( l7vs::virtual_service::stop_called, true );
- // unit_test[50] del_virtual_service normal case finalize call check
- BOOST_CHECK_EQUAL( l7vs::virtual_service::finalize_called, true );
- // unit_test[51] del_virtual_service normal case replication switch_to_slave call check
- BOOST_CHECK_EQUAL( rep->switch_to_slave_called, false );
-
- l7vs::virtual_service::stop_called = false;
- l7vs::virtual_service::finalize_called = false;
- l7vs::virtual_service::finalize_fail = false;
-
- vsd_test.del_virtual_service( &elem2, err );
- // unit_test[52] del_virtual_service normal case 2(delete last vs) error_code check
- BOOST_CHECK( !err );
- // unit_test[53] del_virtual_service normal case 2(delete last vs) vslist num check
- BOOST_CHECK_EQUAL( vsd_test.get_vslist().size(), 0U );
- // unit_test[54] del_virtual_service normal case 2(delete last vs) stop call check
- BOOST_CHECK_EQUAL( l7vs::virtual_service::stop_called, true );
- // unit_test[55] del_virtual_service normal case 2(delete last vs) finalize call check
- BOOST_CHECK_EQUAL( l7vs::virtual_service::finalize_called, true );
- // unit_test[56] del_virtual_service normal case 2(delete last vs) replication switch_to_slave call check
- BOOST_CHECK_EQUAL( rep->switch_to_slave_called, true );
-
- l7vs::virtual_service::stop_called = false;
- l7vs::virtual_service::finalize_called = false;
- l7vs::virtual_service::finalize_fail = false;
- }
+ {
+ l7vs::virtual_service::stop_called = false;
+ l7vs::virtual_service::finalize_called = false;
+ l7vs::virtual_service::finalize_fail = false;
+
+ l7vs::error_code err;
+ vsd_test.del_virtual_service(&elem, err);
+ // unit_test[47] del_virtual_service normal case error_code check
+ BOOST_CHECK(!err);
+ // unit_test[48] del_virtual_service normal case vslist num check
+ BOOST_CHECK_EQUAL(vsd_test.get_vslist().size(), 1U);
+ // unit_test[49] del_virtual_service normal case stop call check
+ BOOST_CHECK_EQUAL(l7vs::virtual_service::stop_called, true);
+ // unit_test[50] del_virtual_service normal case finalize call check
+ BOOST_CHECK_EQUAL(l7vs::virtual_service::finalize_called, true);
+ // unit_test[51] del_virtual_service normal case replication switch_to_slave call check
+ BOOST_CHECK_EQUAL(rep->switch_to_slave_called, false);
+
+ l7vs::virtual_service::stop_called = false;
+ l7vs::virtual_service::finalize_called = false;
+ l7vs::virtual_service::finalize_fail = false;
+
+ vsd_test.del_virtual_service(&elem2, err);
+ // unit_test[52] del_virtual_service normal case 2(delete last vs) error_code check
+ BOOST_CHECK(!err);
+ // unit_test[53] del_virtual_service normal case 2(delete last vs) vslist num check
+ BOOST_CHECK_EQUAL(vsd_test.get_vslist().size(), 0U);
+ // unit_test[54] del_virtual_service normal case 2(delete last vs) stop call check
+ BOOST_CHECK_EQUAL(l7vs::virtual_service::stop_called, true);
+ // unit_test[55] del_virtual_service normal case 2(delete last vs) finalize call check
+ BOOST_CHECK_EQUAL(l7vs::virtual_service::finalize_called, true);
+ // unit_test[56] del_virtual_service normal case 2(delete last vs) replication switch_to_slave call check
+ BOOST_CHECK_EQUAL(rep->switch_to_slave_called, true);
+
+ l7vs::virtual_service::stop_called = false;
+ l7vs::virtual_service::finalize_called = false;
+ l7vs::virtual_service::finalize_fail = false;
+ }
// error case 1
- {
- l7vs::error_code err;
- vsd_test.del_virtual_service( &elem, err );
+ {
+ l7vs::error_code err;
+ vsd_test.del_virtual_service(&elem, err);
- // unit_test[57] del_virtual_service error_case 1(vslist empty) error_code check
- BOOST_CHECK( err );
- // unit_test[58] del_virtual_service error_case 1(vslist empty) vslist num check
- BOOST_CHECK_EQUAL( vsd_test.get_vslist().size(), 0U );
+ // unit_test[57] del_virtual_service error_case 1(vslist empty) error_code check
+ BOOST_CHECK(err);
+ // unit_test[58] del_virtual_service error_case 1(vslist empty) vslist num check
+ BOOST_CHECK_EQUAL(vsd_test.get_vslist().size(), 0U);
- l7vs::virtual_service::stop_called = false;
- l7vs::virtual_service::finalize_called = false;
- l7vs::virtual_service::finalize_fail = false;
- }
+ l7vs::virtual_service::stop_called = false;
+ l7vs::virtual_service::finalize_called = false;
+ l7vs::virtual_service::finalize_fail = false;
+ }
// vslist prepare
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem, err );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem, err);
+ }
// error case 2
- {
- l7vs::virtualservice_element elem3;
- elem3.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "30.30.30.30:7777" );
-
- l7vs::error_code err;
- vsd_test.del_virtual_service( &elem3, err );
- // unit_test[59] del_virtual_service error case 2(no target vs) error code check
- BOOST_CHECK( err );
- // unit_test[60] del_virtual_service error case 2(no target vs) vslist num check
- BOOST_CHECK_EQUAL( vsd_test.get_vslist().size(), 1U );
-
- l7vs::virtual_service::stop_called = false;
- l7vs::virtual_service::finalize_called = false;
- l7vs::virtual_service::finalize_fail = false;
- }
+ {
+ l7vs::virtualservice_element elem3;
+ elem3.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("30.30.30.30:7777");
+
+ l7vs::error_code err;
+ vsd_test.del_virtual_service(&elem3, err);
+ // unit_test[59] del_virtual_service error case 2(no target vs) error code check
+ BOOST_CHECK(err);
+ // unit_test[60] del_virtual_service error case 2(no target vs) vslist num check
+ BOOST_CHECK_EQUAL(vsd_test.get_vslist().size(), 1U);
+
+ l7vs::virtual_service::stop_called = false;
+ l7vs::virtual_service::finalize_called = false;
+ l7vs::virtual_service::finalize_fail = false;
+ }
// error case 3
- {
- l7vs::virtual_service::finalize_fail = true;
+ {
+ l7vs::virtual_service::finalize_fail = true;
- l7vs::error_code err;
- vsd_test.del_virtual_service( &elem, err );
- // unit_test[61] del_virtual_service error case 3(error in finalize) error_code check
- BOOST_CHECK( err );
- // unit_test[62] del_virtual_service error case 3(error in finalize) vslist num check
- BOOST_CHECK_EQUAL( vsd_test.get_vslist().size(), 0U );
+ l7vs::error_code err;
+ vsd_test.del_virtual_service(&elem, err);
+ // unit_test[61] del_virtual_service error case 3(error in finalize) error_code check
+ BOOST_CHECK(err);
+ // unit_test[62] del_virtual_service error case 3(error in finalize) vslist num check
+ BOOST_CHECK_EQUAL(vsd_test.get_vslist().size(), 0U);
- l7vs::virtual_service::stop_called = false;
- l7vs::virtual_service::finalize_called = false;
- l7vs::virtual_service::finalize_fail = false;
- }
+ l7vs::virtual_service::stop_called = false;
+ l7vs::virtual_service::finalize_called = false;
+ l7vs::virtual_service::finalize_fail = false;
+ }
- BOOST_MESSAGE( "----- del_virtual_service_test end -----" );
+ BOOST_MESSAGE("----- del_virtual_service_test end -----");
}
-void edit_virtual_service_test(){
- BOOST_MESSAGE( "----- edit_virtual_service_test start -----" );
- l7vsd_test vsd_test;
+void edit_virtual_service_test()
+{
+ BOOST_MESSAGE("----- edit_virtual_service_test start -----");
+ l7vsd_test vsd_test;
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
- l7vs::virtualservice_element elem;
- elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.10.10.10:9999" );
+ l7vs::virtualservice_element elem;
+ elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.10.10.10:9999");
// prepare vslist
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem, err );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem, err);
+ }
// normal case
- {
- l7vs::error_code err;
- vsd_test.edit_virtual_service( &elem, err );
- // unit_test[63] edit_virtual_service normal_case error_code check
- BOOST_CHECK( !err );
- // unit_test[64] edit_virtual_service normal_case edit_virtual_service call check
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
- BOOST_CHECK_EQUAL( (*itr)->edit_virtualservice_called, true );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.edit_virtual_service(&elem, err);
+ // unit_test[63] edit_virtual_service normal_case error_code check
+ BOOST_CHECK(!err);
+ // unit_test[64] edit_virtual_service normal_case edit_virtual_service call check
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
+ BOOST_CHECK_EQUAL((*itr)->edit_virtualservice_called, true);
+ }
// error case
- {
- l7vs::virtual_service::edit_virtualservice_fail = true;
-
- l7vs::error_code err;
- vsd_test.edit_virtual_service( &elem, err );
- // unit_test[65] edit_virtual_service error_case(vs::edit_virtualservice fail) error_code check
- BOOST_CHECK( err );
- l7vs::virtual_service::edit_virtualservice_fail = false;
- }
-
- {
- l7vs::virtualservice_element elem2;
- elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "20.20.20.20:8888" );
-
- l7vs::error_code err;
- vsd_test.edit_virtual_service( &elem2, err );
- // unit_test[66] edit_virtual_service error_case(no target vs found) error_code check
- BOOST_CHECK( err );
- }
-
- BOOST_MESSAGE( "----- edit_virtual_service_test end -----" );
+ {
+ l7vs::virtual_service::edit_virtualservice_fail = true;
+
+ l7vs::error_code err;
+ vsd_test.edit_virtual_service(&elem, err);
+ // unit_test[65] edit_virtual_service error_case(vs::edit_virtualservice fail) error_code check
+ BOOST_CHECK(err);
+ l7vs::virtual_service::edit_virtualservice_fail = false;
+ }
+
+ {
+ l7vs::virtualservice_element elem2;
+ elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("20.20.20.20:8888");
+
+ l7vs::error_code err;
+ vsd_test.edit_virtual_service(&elem2, err);
+ // unit_test[66] edit_virtual_service error_case(no target vs found) error_code check
+ BOOST_CHECK(err);
+ }
+
+ BOOST_MESSAGE("----- edit_virtual_service_test end -----");
}
-void add_real_server_test(){
- BOOST_MESSAGE( "----- add_real_server_test start -----" );
- l7vsd_test vsd_test;
+void add_real_server_test()
+{
+ BOOST_MESSAGE("----- add_real_server_test start -----");
+ l7vsd_test vsd_test;
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
- l7vs::virtualservice_element elem;
- elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.10.10.10:9999" );
+ l7vs::virtualservice_element elem;
+ elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.10.10.10:9999");
// prepare vslist
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem, err );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem, err);
+ }
// normal case
- {
- l7vs::error_code err;
- vsd_test.add_real_server( &elem, err );
- // unit_test[67] add_real_server normal_case error_code check
- BOOST_CHECK( !err );
- // unit_test[68] add_real_server normal_case add_realserver call check
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
- BOOST_CHECK_EQUAL( (*itr)->add_realserver_called, true );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.add_real_server(&elem, err);
+ // unit_test[67] add_real_server normal_case error_code check
+ BOOST_CHECK(!err);
+ // unit_test[68] add_real_server normal_case add_realserver call check
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
+ BOOST_CHECK_EQUAL((*itr)->add_realserver_called, true);
+ }
// error case
- {
- l7vs::virtual_service::add_realserver_fail = true;
-
- l7vs::error_code err;
- vsd_test.add_real_server( &elem, err );
- // unit_test[69] add_real_server error_case(vs::add_realserver fail) error_code check
- BOOST_CHECK( err );
- l7vs::virtual_service::add_realserver_fail = false;
- }
-
- {
- l7vs::virtualservice_element elem2;
- elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "20.20.20.20:8888" );
-
- l7vs::error_code err;
- vsd_test.add_real_server( &elem2, err );
- // unit_test[70] add_real_server error_case(no target vs found) error_code check
- BOOST_CHECK( err );
- }
-
- BOOST_MESSAGE( "----- add_real_server_test end -----" );
+ {
+ l7vs::virtual_service::add_realserver_fail = true;
+
+ l7vs::error_code err;
+ vsd_test.add_real_server(&elem, err);
+ // unit_test[69] add_real_server error_case(vs::add_realserver fail) error_code check
+ BOOST_CHECK(err);
+ l7vs::virtual_service::add_realserver_fail = false;
+ }
+
+ {
+ l7vs::virtualservice_element elem2;
+ elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("20.20.20.20:8888");
+
+ l7vs::error_code err;
+ vsd_test.add_real_server(&elem2, err);
+ // unit_test[70] add_real_server error_case(no target vs found) error_code check
+ BOOST_CHECK(err);
+ }
+
+ BOOST_MESSAGE("----- add_real_server_test end -----");
}
-void del_real_server_test(){
- BOOST_MESSAGE( "----- del_real_server_test start -----" );
- l7vsd_test vsd_test;
+void del_real_server_test()
+{
+ BOOST_MESSAGE("----- del_real_server_test start -----");
+ l7vsd_test vsd_test;
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
- l7vs::virtualservice_element elem;
- elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.10.10.10:9999" );
+ l7vs::virtualservice_element elem;
+ elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.10.10.10:9999");
// prepare vslist
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem, err );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem, err);
+ }
// normal case
- {
- l7vs::error_code err;
- vsd_test.del_real_server( &elem, err );
- // unit_test[71] del_real_server normal_case error_code check
- BOOST_CHECK( !err );
- // unit_test[72] del_real_server normal_case del_realserver call check
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
- BOOST_CHECK_EQUAL( (*itr)->del_realserver_called, true );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.del_real_server(&elem, err);
+ // unit_test[71] del_real_server normal_case error_code check
+ BOOST_CHECK(!err);
+ // unit_test[72] del_real_server normal_case del_realserver call check
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
+ BOOST_CHECK_EQUAL((*itr)->del_realserver_called, true);
+ }
// error case
- {
- l7vs::virtual_service::del_realserver_fail = true;
-
- l7vs::error_code err;
- vsd_test.del_real_server( &elem, err );
- // unit_test[73] del_real_server error_case(vs::del_realserver fail) error_code check
- BOOST_CHECK( err );
- l7vs::virtual_service::del_realserver_fail = false;
- }
-
- {
- l7vs::virtualservice_element elem2;
- elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "20.20.20.20:8888" );
-
- l7vs::error_code err;
- vsd_test.del_real_server( &elem2, err );
- // unit_test[74] del_real_server error_case(no target vs found) error_code check
- BOOST_CHECK( err );
- }
-
- BOOST_MESSAGE( "----- del_real_server_test end -----" );
+ {
+ l7vs::virtual_service::del_realserver_fail = true;
+
+ l7vs::error_code err;
+ vsd_test.del_real_server(&elem, err);
+ // unit_test[73] del_real_server error_case(vs::del_realserver fail) error_code check
+ BOOST_CHECK(err);
+ l7vs::virtual_service::del_realserver_fail = false;
+ }
+
+ {
+ l7vs::virtualservice_element elem2;
+ elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("20.20.20.20:8888");
+
+ l7vs::error_code err;
+ vsd_test.del_real_server(&elem2, err);
+ // unit_test[74] del_real_server error_case(no target vs found) error_code check
+ BOOST_CHECK(err);
+ }
+
+ BOOST_MESSAGE("----- del_real_server_test end -----");
}
-void edit_real_server_test(){
- BOOST_MESSAGE( "----- edit_real_server_test start -----" );
- l7vsd_test vsd_test;
+void edit_real_server_test()
+{
+ BOOST_MESSAGE("----- edit_real_server_test start -----");
+ l7vsd_test vsd_test;
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
- l7vs::virtualservice_element elem;
- elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.10.10.10:9999" );
+ l7vs::virtualservice_element elem;
+ elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.10.10.10:9999");
// prepare vslist
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem, err );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem, err);
+ }
// normal case
- {
- l7vs::error_code err;
- vsd_test.edit_real_server( &elem, err );
- // unit_test[75] edit_real_server normal_case error_code check
- BOOST_CHECK( !err );
- // unit_test[76] edit_real_server normal_case edit_realserver call check
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
- BOOST_CHECK_EQUAL( (*itr)->edit_realserver_called, true );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.edit_real_server(&elem, err);
+ // unit_test[75] edit_real_server normal_case error_code check
+ BOOST_CHECK(!err);
+ // unit_test[76] edit_real_server normal_case edit_realserver call check
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.get_vslist().begin();
+ BOOST_CHECK_EQUAL((*itr)->edit_realserver_called, true);
+ }
// error case
- {
- l7vs::virtual_service::edit_realserver_fail = true;
-
- l7vs::error_code err;
- vsd_test.edit_real_server( &elem, err );
- // unit_test[77] edit_real_server error_case(vs::edit_realserver fail) error_code check
- BOOST_CHECK( err );
- l7vs::virtual_service::edit_realserver_fail = false;
- }
-
- {
- l7vs::virtualservice_element elem2;
- elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "20.20.20.20:8888" );
-
- l7vs::error_code err;
- vsd_test.edit_real_server( &elem2, err );
- // unit_test[78] edit_real_server error_case(no target vs found) error_code check
- BOOST_CHECK( err );
- }
-
- BOOST_MESSAGE( "----- edit_real_server_test end -----" );
+ {
+ l7vs::virtual_service::edit_realserver_fail = true;
+
+ l7vs::error_code err;
+ vsd_test.edit_real_server(&elem, err);
+ // unit_test[77] edit_real_server error_case(vs::edit_realserver fail) error_code check
+ BOOST_CHECK(err);
+ l7vs::virtual_service::edit_realserver_fail = false;
+ }
+
+ {
+ l7vs::virtualservice_element elem2;
+ elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("20.20.20.20:8888");
+
+ l7vs::error_code err;
+ vsd_test.edit_real_server(&elem2, err);
+ // unit_test[78] edit_real_server error_case(no target vs found) error_code check
+ BOOST_CHECK(err);
+ }
+
+ BOOST_MESSAGE("----- edit_real_server_test end -----");
}
-void flush_virtual_service_test(){
- BOOST_MESSAGE( "----- flush_virtual_service_test start -----" );
+void flush_virtual_service_test()
+{
+ BOOST_MESSAGE("----- flush_virtual_service_test start -----");
- l7vsd_test vsd_test;
+ l7vsd_test vsd_test;
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
- l7vs::virtualservice_element elem;
- elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.10.10.10:9999" );
- l7vs::virtualservice_element elem2;
- elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "20.20.20.20:8888" );
+ l7vs::virtualservice_element elem;
+ elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.10.10.10:9999");
+ l7vs::virtualservice_element elem2;
+ elem2.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("20.20.20.20:8888");
// prepare vslist
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem, err );
- vsd_test.add_virtual_service( &elem2, err );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem, err);
+ vsd_test.add_virtual_service(&elem2, err);
+ }
// normal case
- {
- l7vs::virtual_service::stop_called = false;
- l7vs::virtual_service::finalize_called = false;
- l7vs::virtual_service::finalize_fail = false;
-
- l7vs::error_code err;
- vsd_test.flush_virtual_service( err );
- // unit_test[79] flush_virtual_service normal case error_code check
- BOOST_CHECK( !err );
- // unit_test[80] flush_virtual_service normal case vslist num check
- BOOST_CHECK_EQUAL( vsd_test.get_vslist().size(), 0U );
- // unit_test[81] flush_virtual_service normal case stop call check
- BOOST_CHECK_EQUAL( l7vs::virtual_service::stop_called, true );
- // unit_test[82] flush_virtual_service normal case finalize call check
- BOOST_CHECK_EQUAL( l7vs::virtual_service::finalize_called, true );
- // unit_test[83] flush_virtual_service normal case replication switch_to_slave call check
- BOOST_CHECK_EQUAL( rep->switch_to_slave_called, true );
-
- l7vs::virtual_service::stop_called = false;
- l7vs::virtual_service::finalize_called = false;
- l7vs::virtual_service::finalize_fail = false;
- rep->switch_to_slave_called = false;
-
- vsd_test.flush_virtual_service( err );
- // unit_test[84] flush_virtual_service normal case 2(vslist empty) error_code check
- BOOST_CHECK( !err );
- // unit_test[85] flush_virtual_service normal case 2(vslist empty) vslist num check
- BOOST_CHECK_EQUAL( vsd_test.get_vslist().size(), 0U );
- // unit_test[86] flush_virtual_service normal case 2(vslist empty) stop call check
- BOOST_CHECK_EQUAL( l7vs::virtual_service::stop_called, false );
- // unit_test[87] flush_virtual_service normal case 2(vslist empty) finalize call check
- BOOST_CHECK_EQUAL( l7vs::virtual_service::finalize_called, false );
- // unit_test[88] flush_virtual_service normal case 2(vslist empty) replication switch_to_slave call check
- BOOST_CHECK_EQUAL( rep->switch_to_slave_called, true );
-
- l7vs::virtual_service::stop_called = false;
- l7vs::virtual_service::finalize_called = false;
- l7vs::virtual_service::finalize_fail = false;
-
- rep->switch_to_slave_called = false;
- }
+ {
+ l7vs::virtual_service::stop_called = false;
+ l7vs::virtual_service::finalize_called = false;
+ l7vs::virtual_service::finalize_fail = false;
+
+ l7vs::error_code err;
+ vsd_test.flush_virtual_service(err);
+ // unit_test[79] flush_virtual_service normal case error_code check
+ BOOST_CHECK(!err);
+ // unit_test[80] flush_virtual_service normal case vslist num check
+ BOOST_CHECK_EQUAL(vsd_test.get_vslist().size(), 0U);
+ // unit_test[81] flush_virtual_service normal case stop call check
+ BOOST_CHECK_EQUAL(l7vs::virtual_service::stop_called, true);
+ // unit_test[82] flush_virtual_service normal case finalize call check
+ BOOST_CHECK_EQUAL(l7vs::virtual_service::finalize_called, true);
+ // unit_test[83] flush_virtual_service normal case replication switch_to_slave call check
+ BOOST_CHECK_EQUAL(rep->switch_to_slave_called, true);
+
+ l7vs::virtual_service::stop_called = false;
+ l7vs::virtual_service::finalize_called = false;
+ l7vs::virtual_service::finalize_fail = false;
+ rep->switch_to_slave_called = false;
+
+ vsd_test.flush_virtual_service(err);
+ // unit_test[84] flush_virtual_service normal case 2(vslist empty) error_code check
+ BOOST_CHECK(!err);
+ // unit_test[85] flush_virtual_service normal case 2(vslist empty) vslist num check
+ BOOST_CHECK_EQUAL(vsd_test.get_vslist().size(), 0U);
+ // unit_test[86] flush_virtual_service normal case 2(vslist empty) stop call check
+ BOOST_CHECK_EQUAL(l7vs::virtual_service::stop_called, false);
+ // unit_test[87] flush_virtual_service normal case 2(vslist empty) finalize call check
+ BOOST_CHECK_EQUAL(l7vs::virtual_service::finalize_called, false);
+ // unit_test[88] flush_virtual_service normal case 2(vslist empty) replication switch_to_slave call check
+ BOOST_CHECK_EQUAL(rep->switch_to_slave_called, true);
+
+ l7vs::virtual_service::stop_called = false;
+ l7vs::virtual_service::finalize_called = false;
+ l7vs::virtual_service::finalize_fail = false;
+
+ rep->switch_to_slave_called = false;
+ }
// prepare vslist
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &elem, err );
- }
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&elem, err);
+ }
// error case 1
- {
- l7vs::virtual_service::finalize_fail = true;
-
- l7vs::error_code err;
- vsd_test.flush_virtual_service( err );
-
- // unit_test[89] flush_virtual_service error case 1(error in finalize) error_code check
- BOOST_CHECK( err );
- // unit_test[90] flush_virtual_service error case 1(error in finalize) vslist num check
- BOOST_CHECK_EQUAL( vsd_test.get_vslist().size(), 0U );
- // unit_test[91] flush_virtual_service error case 1(error in finalize) stop call check
- BOOST_CHECK_EQUAL( l7vs::virtual_service::stop_called, true );
- // unit_test[92] flush_virtual_service error case 1(error in finalize) finalize call check
- BOOST_CHECK_EQUAL( l7vs::virtual_service::finalize_called, true );
- // unit_test[93] flush_virtual_service error case 1(error in finalize) replication switch_to_slave call check
- BOOST_CHECK_EQUAL( rep->switch_to_slave_called, true );
-
- l7vs::virtual_service::stop_called = false;
- l7vs::virtual_service::finalize_called = false;
- l7vs::virtual_service::finalize_fail = false;
- }
-
- BOOST_MESSAGE( "----- flush_virtual_service_test end -----" );
+ {
+ l7vs::virtual_service::finalize_fail = true;
+
+ l7vs::error_code err;
+ vsd_test.flush_virtual_service(err);
+
+ // unit_test[89] flush_virtual_service error case 1(error in finalize) error_code check
+ BOOST_CHECK(err);
+ // unit_test[90] flush_virtual_service error case 1(error in finalize) vslist num check
+ BOOST_CHECK_EQUAL(vsd_test.get_vslist().size(), 0U);
+ // unit_test[91] flush_virtual_service error case 1(error in finalize) stop call check
+ BOOST_CHECK_EQUAL(l7vs::virtual_service::stop_called, true);
+ // unit_test[92] flush_virtual_service error case 1(error in finalize) finalize call check
+ BOOST_CHECK_EQUAL(l7vs::virtual_service::finalize_called, true);
+ // unit_test[93] flush_virtual_service error case 1(error in finalize) replication switch_to_slave call check
+ BOOST_CHECK_EQUAL(rep->switch_to_slave_called, true);
+
+ l7vs::virtual_service::stop_called = false;
+ l7vs::virtual_service::finalize_called = false;
+ l7vs::virtual_service::finalize_fail = false;
+ }
+
+ BOOST_MESSAGE("----- flush_virtual_service_test end -----");
}
-void replication_command_test(){
- BOOST_MESSAGE( "----- replication_command_test start -----" );
- l7vsd_test vsd_test;
-
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
-
- // REP_START
- {
- l7vs::replication::start_called = false;
- l7vs::error_code err;
- l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_START;
- vsd_test.replication_command( &cmd, err );
- // unit_test[94] replication_command normal case 1(REP_START) error_code check
- BOOST_CHECK( !err );
- // unit_test[95] replication_command normal case 1(REP_START) start call check
- BOOST_CHECK_EQUAL( l7vs::replication::start_called, true );
- }
-
- // REP_STOP
- {
- l7vs::replication::stop_called = false;
- l7vs::error_code err;
- l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_STOP;
- vsd_test.replication_command( &cmd, err );
- // unit_test[96] replication_command normal case 2(REP_STOP) error_code check
- BOOST_CHECK( !err );
- // unit_test[97] replication_command normal case 2(REP_STOP) stop call check
- BOOST_CHECK_EQUAL( l7vs::replication::stop_called, true );
- }
-
- // REP_FORCE
- {
- l7vs::replication::force_replicate_called = false;
- l7vs::error_code err;
- l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_FORCE;
- vsd_test.replication_command( &cmd, err );
- // unit_test[98] replication_command normal case 3(REP_FORCE) error_code check
- BOOST_CHECK( !err );
- // unit_test[99] replication_command normal case 3(REP_FORCE) stop call check
- BOOST_CHECK_EQUAL( l7vs::replication::force_replicate_called, true );
- }
-
- // REP_DUMP
- {
- l7vs::replication::dump_memory_called = false;
- l7vs::error_code err;
- l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_DUMP;
- vsd_test.replication_command( &cmd, err );
- // unit_test[100] replication_command normal case 4(REP_DUMP) error_code check
- BOOST_CHECK( !err );
- // unit_test[101] replication_command normal case 4(REP_DUMP) stop call check
- BOOST_CHECK_EQUAL( l7vs::replication::dump_memory_called, true );
- }
-
- // error case
- {
- l7vs::error_code err;
- l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_NONE;
- vsd_test.replication_command( &cmd, err );
- // unit_test[102] replication_command error case (REP_NONE) error_code check
- BOOST_CHECK( err );
- }
-
-
- BOOST_MESSAGE( "----- replication_command_test end -----" );
+void replication_command_test()
+{
+ BOOST_MESSAGE("----- replication_command_test start -----");
+ l7vsd_test vsd_test;
+
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
+
+ // REP_START
+ {
+ l7vs::replication::start_called = false;
+ l7vs::error_code err;
+ l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_START;
+ vsd_test.replication_command(&cmd, err);
+ // unit_test[94] replication_command normal case 1(REP_START) error_code check
+ BOOST_CHECK(!err);
+ // unit_test[95] replication_command normal case 1(REP_START) start call check
+ BOOST_CHECK_EQUAL(l7vs::replication::start_called, true);
+ }
+
+ // REP_STOP
+ {
+ l7vs::replication::stop_called = false;
+ l7vs::error_code err;
+ l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_STOP;
+ vsd_test.replication_command(&cmd, err);
+ // unit_test[96] replication_command normal case 2(REP_STOP) error_code check
+ BOOST_CHECK(!err);
+ // unit_test[97] replication_command normal case 2(REP_STOP) stop call check
+ BOOST_CHECK_EQUAL(l7vs::replication::stop_called, true);
+ }
+
+ // REP_FORCE
+ {
+ l7vs::replication::force_replicate_called = false;
+ l7vs::error_code err;
+ l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_FORCE;
+ vsd_test.replication_command(&cmd, err);
+ // unit_test[98] replication_command normal case 3(REP_FORCE) error_code check
+ BOOST_CHECK(!err);
+ // unit_test[99] replication_command normal case 3(REP_FORCE) stop call check
+ BOOST_CHECK_EQUAL(l7vs::replication::force_replicate_called, true);
+ }
+
+ // REP_DUMP
+ {
+ l7vs::replication::dump_memory_called = false;
+ l7vs::error_code err;
+ l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_DUMP;
+ vsd_test.replication_command(&cmd, err);
+ // unit_test[100] replication_command normal case 4(REP_DUMP) error_code check
+ BOOST_CHECK(!err);
+ // unit_test[101] replication_command normal case 4(REP_DUMP) stop call check
+ BOOST_CHECK_EQUAL(l7vs::replication::dump_memory_called, true);
+ }
+
+ // error case
+ {
+ l7vs::error_code err;
+ l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_NONE;
+ vsd_test.replication_command(&cmd, err);
+ // unit_test[102] replication_command error case (REP_NONE) error_code check
+ BOOST_CHECK(err);
+ }
+
+
+ BOOST_MESSAGE("----- replication_command_test end -----");
}
-void set_loglevel_test(){
- BOOST_MESSAGE( "----- set_loglevel_test start -----" );
- l7vsd_test vsd_test;
+void set_loglevel_test()
+{
+ BOOST_MESSAGE("----- set_loglevel_test start -----");
+ l7vsd_test vsd_test;
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
- std::vector< l7vs::LOG_CATEGORY_TAG > categories;
- categories.push_back( l7vs::LOG_CAT_L7VSD_NETWORK );
- categories.push_back( l7vs::LOG_CAT_L7VSD_NETWORK_QOS );
- categories.push_back( l7vs::LOG_CAT_L7VSD_NETWORK_BANDWIDTH );
- categories.push_back( l7vs::LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION );
- categories.push_back( l7vs::LOG_CAT_L7VSD_NETWORK_ACCESS );
- categories.push_back( l7vs::LOG_CAT_L7VSD_MAINTHREAD );
- categories.push_back( l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE );
- categories.push_back( l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD );
- categories.push_back( l7vs::LOG_CAT_L7VSD_SESSION );
- categories.push_back( l7vs::LOG_CAT_L7VSD_SESSION_THREAD );
- categories.push_back( l7vs::LOG_CAT_L7VSD_REALSERVER );
- categories.push_back( l7vs::LOG_CAT_L7VSD_SORRYSERVER );
- categories.push_back( l7vs::LOG_CAT_L7VSD_MODULE );
- categories.push_back( l7vs::LOG_CAT_L7VSD_REPLICATION );
- categories.push_back( l7vs::LOG_CAT_L7VSD_REPLICATION_SENDTHREAD );
- categories.push_back( l7vs::LOG_CAT_L7VSD_PARAMETER );
- categories.push_back( l7vs::LOG_CAT_L7VSD_LOGGER );
- categories.push_back( l7vs::LOG_CAT_L7VSD_COMMAND );
- categories.push_back( l7vs::LOG_CAT_L7VSD_START_STOP );
- categories.push_back( l7vs::LOG_CAT_L7VSD_SYSTEM );
- categories.push_back( l7vs::LOG_CAT_L7VSD_SYSTEM_MEMORY );
- categories.push_back( l7vs::LOG_CAT_L7VSD_SYSTEM_ENDPOINT );
- categories.push_back( l7vs::LOG_CAT_L7VSD_SYSTEM_SIGNAL );
- categories.push_back( l7vs::LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT );
-
- // unit_test[103] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK) error_code check
- // unit_test[104] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK) loglevel check
-
- // unit_test[105] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_QOS) error_code check
- // unit_test[106] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_QOS) loglevel check
-
- // unit_test[107] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_BANDWIDTH) error_code check
- // unit_test[108] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_BANDWIDTH) loglevel check
-
- // unit_test[109] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION) error_code check
- // unit_test[110] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION) loglevel check
-
- // unit_test[111] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_ACCESS) error_code check
- // unit_test[112] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_ACCESS) loglevel check
-
- // unit_test[113] set_loglevel normal case (LOG_CAT_L7VSD_MAINTHREAD) error_code check
- // unit_test[114] set_loglevel normal case (LOG_CAT_L7VSD_MAINTHREAD) loglevel check
-
- // unit_test[115] set_loglevel normal case (LOG_CAT_L7VSD_VIRTUALSERVICE) error_code check
- // unit_test[116] set_loglevel normal case (LOG_CAT_L7VSD_VIRTUALSERVICE) loglevel check
-
- // unit_test[117] set_loglevel normal case (LOG_CAT_L7VSD_VIRTUALSERVICE_THRAD) error_code check
- // unit_test[118] set_loglevel normal case (LOG_CAT_L7VSD_VIRTUALSERVICE_THRAD) loglevel check
-
- // unit_test[119] set_loglevel normal case (LOG_CAT_L7VSD_SESSION) error_code check
- // unit_test[120] set_loglevel normal case (LOG_CAT_L7VSD_SESSION) loglevel check
-
- // unit_test[121] set_loglevel normal case (LOG_CAT_L7VSD_SESSION_THREAD) error_code check
- // unit_test[122] set_loglevel normal case (LOG_CAT_L7VSD_SESSION_THREAD) loglevel check
-
- // unit_test[123] set_loglevel normal case (LOG_CAT_L7VSD_REALSERVER) error_code check
- // unit_test[124] set_loglevel normal case (LOG_CAT_L7VSD_REALSERVER) loglevel check
-
- // unit_test[125] set_loglevel normal case (LOG_CAT_L7VSD_SORRYSERVER) error_code check
- // unit_test[126] set_loglevel normal case (LOG_CAT_L7VSD_SORRYSERVER) loglevel check
-
- // unit_test[127] set_loglevel normal case (LOG_CAT_L7VSD_MODULE) error_code check
- // unit_test[128] set_loglevel normal case (LOG_CAT_L7VSD_MODULE) loglevel check
-
- // unit_test[129] set_loglevel normal case (LOG_CAT_L7VSD_REPLICATION) error_code check
- // unit_test[130] set_loglevel normal case (LOG_CAT_L7VSD_REPLICATION) loglevel check
-
- // unit_test[131] set_loglevel normal case (LOG_CAT_L7VSD_REPLICATION_SENDTHREAD) error_code check
- // unit_test[132] set_loglevel normal case (LOG_CAT_L7VSD_REPLICATION_SENDTHREAD) loglevel check
-
- // unit_test[133] set_loglevel normal case (LOG_CAT_L7VSD_PARAMETER) error_code check
- // unit_test[134] set_loglevel normal case (LOG_CAT_L7VSD_PARAMETER) loglevel check
-
- // unit_test[135] set_loglevel normal case (LOG_CAT_L7VSD_LOGGER) error_code check
- // unit_test[136] set_loglevel normal case (LOG_CAT_L7VSD_LOGGER) loglevel check
-
- // unit_test[137] set_loglevel normal case (LOG_CAT_L7VSD_COMMAND) error_code check
- // unit_test[138] set_loglevel normal case (LOG_CAT_L7VSD_COMMAND) loglevel check
-
- // unit_test[139] set_loglevel normal case (LOG_CAT_L7VSD_START_STOP) error_code check
- // unit_test[140] set_loglevel normal case (LOG_CAT_L7VSD_START_STOP) loglevel check
-
- // unit_test[141] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM) error_code check
- // unit_test[142] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM) loglevel check
-
- // unit_test[143] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_MEMORY) error_code check
- // unit_test[144] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_MEMORY) loglevel check
-
- // unit_test[145] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_ENDPOINT) error_code check
- // unit_test[146] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_ENDPOINT) loglevel check
-
- // unit_test[147] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_SIGNAL) error_code check
- // unit_test[148] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_SIGNAL) loglevel check
-
- // unit_test[149] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT) error_code check
- // unit_test[150] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT) loglevel check
-
- for( unsigned int i = 0; i < categories.size(); ++i ){
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_DEBUG;
- vsd_test.set_loglevel( &categories[i], &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::Logger::getLogLevel( categories[i] ), l7vs::LOG_LV_DEBUG );
-
- level = l7vs::LOG_LV_INFO;
- vsd_test.set_loglevel( &categories[i], &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::Logger::getLogLevel( categories[i] ), l7vs::LOG_LV_INFO );
-
- level = l7vs::LOG_LV_WARN;
- vsd_test.set_loglevel( &categories[i], &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::Logger::getLogLevel( categories[i] ), l7vs::LOG_LV_WARN );
-
- level = l7vs::LOG_LV_ERROR;
- vsd_test.set_loglevel( &categories[i], &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::Logger::getLogLevel( categories[i] ), l7vs::LOG_LV_ERROR );
-
- level = l7vs::LOG_LV_FATAL;
- vsd_test.set_loglevel( &categories[i], &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::Logger::getLogLevel( categories[i] ), l7vs::LOG_LV_FATAL );
- }
-
- // unit_test[151] set_loglevel normal case (LOG_CAT_END(all)) error_code check
- // unit_test[152] set_loglevel normal case (LOG_CAT_END(all)) loglevel check
-
- // set loglevel all(LOG_LV_DEBUG)
- {
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_DEBUG;
- l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
- vsd_test.set_loglevel( &category, &level, err );
- BOOST_CHECK( !err );
- for( unsigned int i = 0; i < categories.size(); ++i )
- BOOST_CHECK_EQUAL( l7vs::Logger::getLogLevel( categories[i] ), l7vs::LOG_LV_DEBUG );
- }
-
- // set loglevel all(LOG_LV_INFO)
- {
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_INFO;
- l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
- vsd_test.set_loglevel( &category, &level, err );
- BOOST_CHECK( !err );
- for( unsigned int i = 0; i < sizeof(categories); ++i )
- BOOST_CHECK_EQUAL( l7vs::Logger::getLogLevel( categories[i] ), l7vs::LOG_LV_INFO );
- }
-
- // set loglevel all(LOG_LV_WARN)
- {
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_WARN;
- l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
- vsd_test.set_loglevel( &category, &level, err );
- BOOST_CHECK( !err );
- for( unsigned int i = 0; i < sizeof(categories); ++i )
- BOOST_CHECK_EQUAL( l7vs::Logger::getLogLevel( categories[i] ), l7vs::LOG_LV_WARN );
- }
-
- // set loglevel all(LOG_LV_ERROR)
- {
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_ERROR;
- l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
- vsd_test.set_loglevel( &category, &level, err );
- BOOST_CHECK( !err );
- for( unsigned int i = 0; i < sizeof(categories); ++i )
- BOOST_CHECK_EQUAL( l7vs::Logger::getLogLevel( categories[i] ), l7vs::LOG_LV_ERROR );
- }
-
- // set loglevel all(LOG_LV_FATAL)
- {
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_FATAL;
- l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
- vsd_test.set_loglevel( &category, &level, err );
- BOOST_CHECK( !err );
- for( unsigned int i = 0; i < sizeof(categories); ++i )
- BOOST_CHECK_EQUAL( l7vs::Logger::getLogLevel( categories[i] ), l7vs::LOG_LV_FATAL );
- }
-
- BOOST_MESSAGE( "----- set_loglevel_test end -----" );
+ std::vector< l7vs::LOG_CATEGORY_TAG > categories;
+ categories.push_back(l7vs::LOG_CAT_L7VSD_NETWORK);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_NETWORK_QOS);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_NETWORK_BANDWIDTH);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_NETWORK_ACCESS);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_MAINTHREAD);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_SESSION);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_SESSION_THREAD);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_REALSERVER);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_SORRYSERVER);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_MODULE);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_REPLICATION);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_REPLICATION_SENDTHREAD);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_PARAMETER);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_LOGGER);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_COMMAND);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_START_STOP);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_SYSTEM);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_SYSTEM_MEMORY);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_SYSTEM_ENDPOINT);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_SYSTEM_SIGNAL);
+ categories.push_back(l7vs::LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT);
+
+ // unit_test[103] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK) error_code check
+ // unit_test[104] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK) loglevel check
+
+ // unit_test[105] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_QOS) error_code check
+ // unit_test[106] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_QOS) loglevel check
+
+ // unit_test[107] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_BANDWIDTH) error_code check
+ // unit_test[108] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_BANDWIDTH) loglevel check
+
+ // unit_test[109] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION) error_code check
+ // unit_test[110] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION) loglevel check
+
+ // unit_test[111] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_ACCESS) error_code check
+ // unit_test[112] set_loglevel normal case (LOG_CAT_L7VSD_NETWORK_ACCESS) loglevel check
+
+ // unit_test[113] set_loglevel normal case (LOG_CAT_L7VSD_MAINTHREAD) error_code check
+ // unit_test[114] set_loglevel normal case (LOG_CAT_L7VSD_MAINTHREAD) loglevel check
+
+ // unit_test[115] set_loglevel normal case (LOG_CAT_L7VSD_VIRTUALSERVICE) error_code check
+ // unit_test[116] set_loglevel normal case (LOG_CAT_L7VSD_VIRTUALSERVICE) loglevel check
+
+ // unit_test[117] set_loglevel normal case (LOG_CAT_L7VSD_VIRTUALSERVICE_THRAD) error_code check
+ // unit_test[118] set_loglevel normal case (LOG_CAT_L7VSD_VIRTUALSERVICE_THRAD) loglevel check
+
+ // unit_test[119] set_loglevel normal case (LOG_CAT_L7VSD_SESSION) error_code check
+ // unit_test[120] set_loglevel normal case (LOG_CAT_L7VSD_SESSION) loglevel check
+
+ // unit_test[121] set_loglevel normal case (LOG_CAT_L7VSD_SESSION_THREAD) error_code check
+ // unit_test[122] set_loglevel normal case (LOG_CAT_L7VSD_SESSION_THREAD) loglevel check
+
+ // unit_test[123] set_loglevel normal case (LOG_CAT_L7VSD_REALSERVER) error_code check
+ // unit_test[124] set_loglevel normal case (LOG_CAT_L7VSD_REALSERVER) loglevel check
+
+ // unit_test[125] set_loglevel normal case (LOG_CAT_L7VSD_SORRYSERVER) error_code check
+ // unit_test[126] set_loglevel normal case (LOG_CAT_L7VSD_SORRYSERVER) loglevel check
+
+ // unit_test[127] set_loglevel normal case (LOG_CAT_L7VSD_MODULE) error_code check
+ // unit_test[128] set_loglevel normal case (LOG_CAT_L7VSD_MODULE) loglevel check
+
+ // unit_test[129] set_loglevel normal case (LOG_CAT_L7VSD_REPLICATION) error_code check
+ // unit_test[130] set_loglevel normal case (LOG_CAT_L7VSD_REPLICATION) loglevel check
+
+ // unit_test[131] set_loglevel normal case (LOG_CAT_L7VSD_REPLICATION_SENDTHREAD) error_code check
+ // unit_test[132] set_loglevel normal case (LOG_CAT_L7VSD_REPLICATION_SENDTHREAD) loglevel check
+
+ // unit_test[133] set_loglevel normal case (LOG_CAT_L7VSD_PARAMETER) error_code check
+ // unit_test[134] set_loglevel normal case (LOG_CAT_L7VSD_PARAMETER) loglevel check
+
+ // unit_test[135] set_loglevel normal case (LOG_CAT_L7VSD_LOGGER) error_code check
+ // unit_test[136] set_loglevel normal case (LOG_CAT_L7VSD_LOGGER) loglevel check
+
+ // unit_test[137] set_loglevel normal case (LOG_CAT_L7VSD_COMMAND) error_code check
+ // unit_test[138] set_loglevel normal case (LOG_CAT_L7VSD_COMMAND) loglevel check
+
+ // unit_test[139] set_loglevel normal case (LOG_CAT_L7VSD_START_STOP) error_code check
+ // unit_test[140] set_loglevel normal case (LOG_CAT_L7VSD_START_STOP) loglevel check
+
+ // unit_test[141] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM) error_code check
+ // unit_test[142] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM) loglevel check
+
+ // unit_test[143] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_MEMORY) error_code check
+ // unit_test[144] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_MEMORY) loglevel check
+
+ // unit_test[145] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_ENDPOINT) error_code check
+ // unit_test[146] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_ENDPOINT) loglevel check
+
+ // unit_test[147] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_SIGNAL) error_code check
+ // unit_test[148] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_SIGNAL) loglevel check
+
+ // unit_test[149] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT) error_code check
+ // unit_test[150] set_loglevel normal case (LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT) loglevel check
+
+ for (unsigned int i = 0; i < categories.size(); ++i) {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_DEBUG;
+ vsd_test.set_loglevel(&categories[i], &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::Logger::getLogLevel(categories[i]), l7vs::LOG_LV_DEBUG);
+
+ level = l7vs::LOG_LV_INFO;
+ vsd_test.set_loglevel(&categories[i], &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::Logger::getLogLevel(categories[i]), l7vs::LOG_LV_INFO);
+
+ level = l7vs::LOG_LV_WARN;
+ vsd_test.set_loglevel(&categories[i], &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::Logger::getLogLevel(categories[i]), l7vs::LOG_LV_WARN);
+
+ level = l7vs::LOG_LV_ERROR;
+ vsd_test.set_loglevel(&categories[i], &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::Logger::getLogLevel(categories[i]), l7vs::LOG_LV_ERROR);
+
+ level = l7vs::LOG_LV_FATAL;
+ vsd_test.set_loglevel(&categories[i], &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::Logger::getLogLevel(categories[i]), l7vs::LOG_LV_FATAL);
+ }
+
+ // unit_test[151] set_loglevel normal case (LOG_CAT_END(all)) error_code check
+ // unit_test[152] set_loglevel normal case (LOG_CAT_END(all)) loglevel check
+
+ // set loglevel all(LOG_LV_DEBUG)
+ {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_DEBUG;
+ l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
+ vsd_test.set_loglevel(&category, &level, err);
+ BOOST_CHECK(!err);
+ for (unsigned int i = 0; i < categories.size(); ++i)
+ BOOST_CHECK_EQUAL(l7vs::Logger::getLogLevel(categories[i]), l7vs::LOG_LV_DEBUG);
+ }
+
+ // set loglevel all(LOG_LV_INFO)
+ {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_INFO;
+ l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
+ vsd_test.set_loglevel(&category, &level, err);
+ BOOST_CHECK(!err);
+ for (unsigned int i = 0; i < sizeof(categories); ++i)
+ BOOST_CHECK_EQUAL(l7vs::Logger::getLogLevel(categories[i]), l7vs::LOG_LV_INFO);
+ }
+
+ // set loglevel all(LOG_LV_WARN)
+ {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_WARN;
+ l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
+ vsd_test.set_loglevel(&category, &level, err);
+ BOOST_CHECK(!err);
+ for (unsigned int i = 0; i < sizeof(categories); ++i)
+ BOOST_CHECK_EQUAL(l7vs::Logger::getLogLevel(categories[i]), l7vs::LOG_LV_WARN);
+ }
+
+ // set loglevel all(LOG_LV_ERROR)
+ {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_ERROR;
+ l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
+ vsd_test.set_loglevel(&category, &level, err);
+ BOOST_CHECK(!err);
+ for (unsigned int i = 0; i < sizeof(categories); ++i)
+ BOOST_CHECK_EQUAL(l7vs::Logger::getLogLevel(categories[i]), l7vs::LOG_LV_ERROR);
+ }
+
+ // set loglevel all(LOG_LV_FATAL)
+ {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_FATAL;
+ l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
+ vsd_test.set_loglevel(&category, &level, err);
+ BOOST_CHECK(!err);
+ for (unsigned int i = 0; i < sizeof(categories); ++i)
+ BOOST_CHECK_EQUAL(l7vs::Logger::getLogLevel(categories[i]), l7vs::LOG_LV_FATAL);
+ }
+
+ BOOST_MESSAGE("----- set_loglevel_test end -----");
}
-void set_snmp_loglevel_test(){
- BOOST_MESSAGE( "----- set_snmp_loglevel_test start -----" );
- l7vsd_test vsd_test;
-
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
-
- boost::shared_ptr< l7vs::snmpbridge >
- bridge( new l7vs::snmpbridge( vsd_test, io ) );
- vsd_test.set_snmpbridge( bridge );
-
- std::vector< l7vs::LOG_CATEGORY_TAG > categories;
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_START_STOP );
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_MANAGER_RECEIVE );
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_MANAGER_SEND );
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_L7VSD_RECEIVE );
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_L7VSD_SEND );
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_LOGGER );
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_PARAMETER );
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_SYSTEM );
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_SYSTEM_MEMORY );
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT );
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL );
- categories.push_back( l7vs::LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT );
-
- // unit_test[153] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_START_STOP) error_code check
- // unit_test[154] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_START_STOP) loglevel check
-
- // unit_test[155] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_MANAGER_RECEIVE) error_code check
- // unit_test[156] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_MANAGER_RECEIVE) loglevel check
-
- // unit_test[157] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_MANAGER_SEND) error_code check
- // unit_test[158] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_MANAGER_SEND) loglevel check
-
- // unit_test[159] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_L7VSD_RECEIVE) error_code check
- // unit_test[160] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_L7VSD_RECEIVE) loglevel check
-
- // unit_test[161] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_L7VSD_SEND) error_code check
- // unit_test[162] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_L7VSD_SEND) loglevel check
-
- // unit_test[163] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_LOGGER) error_code check
- // unit_test[164] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_LOGGER) loglevel check
-
- // unit_test[165] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_PARAMETER) error_code check
- // unit_test[166] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_PARAMETER) loglevel check
-
- // unit_test[167] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM) error_code check
- // unit_test[168] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM) loglevel check
-
- // unit_test[169] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_MEMORY) error_code check
- // unit_test[170] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_MEMORY) loglevel check
-
- // unit_test[171] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT) error_code check
- // unit_test[172] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT) loglevel check
-
- // unit_test[173] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL) error_code check
- // unit_test[174] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL) loglevel check
-
- // unit_test[175] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT) error_code check
- // unit_test[176] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT) loglevel check
-
- for( unsigned int i = 0; i < categories.size(); ++i ){
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_DEBUG;
- vsd_test.snmp_set_loglevel( &categories[i], &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_category, categories[i] );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_level, l7vs::LOG_LV_DEBUG );
-
- level = l7vs::LOG_LV_INFO;
- vsd_test.snmp_set_loglevel( &categories[i], &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_category, categories[i] );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_level, l7vs::LOG_LV_INFO );
-
- level = l7vs::LOG_LV_WARN;
- vsd_test.snmp_set_loglevel( &categories[i], &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_category, categories[i] );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_level, l7vs::LOG_LV_WARN );
-
- level = l7vs::LOG_LV_ERROR;
- vsd_test.snmp_set_loglevel( &categories[i], &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_category, categories[i] );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_level, l7vs::LOG_LV_ERROR );
-
- level = l7vs::LOG_LV_FATAL;
- vsd_test.snmp_set_loglevel( &categories[i], &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_category, categories[i] );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_level, l7vs::LOG_LV_FATAL );
- }
-
- // unit_test[177] set_snmp_loglevel normal case (LOG_CAT_END(all)) error_code check
- // unit_test[178] set_snmp_loglevel normal case (LOG_CAT_END(all)) loglevel check
-
- // set loglevel all(LOG_LV_DEBUG)
- {
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_DEBUG;
- l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
- vsd_test.snmp_set_loglevel( &category, &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_all_level, l7vs::LOG_LV_DEBUG );
- }
-
- // set loglevel all(LOG_LV_INFO)
- {
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_INFO;
- l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
- vsd_test.snmp_set_loglevel( &category, &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_all_level, l7vs::LOG_LV_INFO );
- }
-
- // set loglevel all(LOG_LV_WARN)
- {
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_WARN;
- l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
- vsd_test.snmp_set_loglevel( &category, &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_all_level, l7vs::LOG_LV_WARN );
- }
-
- // set loglevel all(LOG_LV_ERROR)
- {
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_ERROR;
- l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
- vsd_test.snmp_set_loglevel( &category, &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_all_level, l7vs::LOG_LV_ERROR );
- }
-
- // set loglevel all(LOG_LV_FATAL)
- {
- l7vs::error_code err;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_FATAL;
- l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
- vsd_test.snmp_set_loglevel( &category, &level, err );
- BOOST_CHECK( !err );
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::change_loglevel_all_level, l7vs::LOG_LV_FATAL );
- }
-
- BOOST_MESSAGE( "----- set_snmp_loglevel_test end -----" );
+void set_snmp_loglevel_test()
+{
+ BOOST_MESSAGE("----- set_snmp_loglevel_test start -----");
+ l7vsd_test vsd_test;
+
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
+
+ boost::shared_ptr< l7vs::snmpbridge >
+ bridge(new l7vs::snmpbridge(vsd_test, io));
+ vsd_test.set_snmpbridge(bridge);
+
+ std::vector< l7vs::LOG_CATEGORY_TAG > categories;
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_START_STOP);
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_MANAGER_RECEIVE);
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_MANAGER_SEND);
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_L7VSD_RECEIVE);
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_L7VSD_SEND);
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_LOGGER);
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_PARAMETER);
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_SYSTEM);
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_SYSTEM_MEMORY);
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT);
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL);
+ categories.push_back(l7vs::LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT);
+
+ // unit_test[153] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_START_STOP) error_code check
+ // unit_test[154] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_START_STOP) loglevel check
+
+ // unit_test[155] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_MANAGER_RECEIVE) error_code check
+ // unit_test[156] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_MANAGER_RECEIVE) loglevel check
+
+ // unit_test[157] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_MANAGER_SEND) error_code check
+ // unit_test[158] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_MANAGER_SEND) loglevel check
+
+ // unit_test[159] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_L7VSD_RECEIVE) error_code check
+ // unit_test[160] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_L7VSD_RECEIVE) loglevel check
+
+ // unit_test[161] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_L7VSD_SEND) error_code check
+ // unit_test[162] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_L7VSD_SEND) loglevel check
+
+ // unit_test[163] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_LOGGER) error_code check
+ // unit_test[164] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_LOGGER) loglevel check
+
+ // unit_test[165] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_PARAMETER) error_code check
+ // unit_test[166] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_PARAMETER) loglevel check
+
+ // unit_test[167] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM) error_code check
+ // unit_test[168] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM) loglevel check
+
+ // unit_test[169] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_MEMORY) error_code check
+ // unit_test[170] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_MEMORY) loglevel check
+
+ // unit_test[171] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT) error_code check
+ // unit_test[172] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT) loglevel check
+
+ // unit_test[173] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL) error_code check
+ // unit_test[174] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL) loglevel check
+
+ // unit_test[175] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT) error_code check
+ // unit_test[176] set_snmp_loglevel normal case (LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT) loglevel check
+
+ for (unsigned int i = 0; i < categories.size(); ++i) {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_DEBUG;
+ vsd_test.snmp_set_loglevel(&categories[i], &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_category, categories[i]);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_level, l7vs::LOG_LV_DEBUG);
+
+ level = l7vs::LOG_LV_INFO;
+ vsd_test.snmp_set_loglevel(&categories[i], &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_category, categories[i]);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_level, l7vs::LOG_LV_INFO);
+
+ level = l7vs::LOG_LV_WARN;
+ vsd_test.snmp_set_loglevel(&categories[i], &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_category, categories[i]);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_level, l7vs::LOG_LV_WARN);
+
+ level = l7vs::LOG_LV_ERROR;
+ vsd_test.snmp_set_loglevel(&categories[i], &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_category, categories[i]);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_level, l7vs::LOG_LV_ERROR);
+
+ level = l7vs::LOG_LV_FATAL;
+ vsd_test.snmp_set_loglevel(&categories[i], &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_category, categories[i]);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_level, l7vs::LOG_LV_FATAL);
+ }
+
+ // unit_test[177] set_snmp_loglevel normal case (LOG_CAT_END(all)) error_code check
+ // unit_test[178] set_snmp_loglevel normal case (LOG_CAT_END(all)) loglevel check
+
+ // set loglevel all(LOG_LV_DEBUG)
+ {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_DEBUG;
+ l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
+ vsd_test.snmp_set_loglevel(&category, &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_all_level, l7vs::LOG_LV_DEBUG);
+ }
+
+ // set loglevel all(LOG_LV_INFO)
+ {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_INFO;
+ l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
+ vsd_test.snmp_set_loglevel(&category, &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_all_level, l7vs::LOG_LV_INFO);
+ }
+
+ // set loglevel all(LOG_LV_WARN)
+ {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_WARN;
+ l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
+ vsd_test.snmp_set_loglevel(&category, &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_all_level, l7vs::LOG_LV_WARN);
+ }
+
+ // set loglevel all(LOG_LV_ERROR)
+ {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_ERROR;
+ l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
+ vsd_test.snmp_set_loglevel(&category, &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_all_level, l7vs::LOG_LV_ERROR);
+ }
+
+ // set loglevel all(LOG_LV_FATAL)
+ {
+ l7vs::error_code err;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_FATAL;
+ l7vs::LOG_CATEGORY_TAG category = l7vs::LOG_CAT_END;
+ vsd_test.snmp_set_loglevel(&category, &level, err);
+ BOOST_CHECK(!err);
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::change_loglevel_all_level, l7vs::LOG_LV_FATAL);
+ }
+
+ BOOST_MESSAGE("----- set_snmp_loglevel_test end -----");
}
-void reload_parameter_test(){
- BOOST_MESSAGE( "----- reload_parameter_test start -----" );
- l7vsd_test vsd_test;
-
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
- boost::shared_ptr< l7vs::snmpbridge >
- bridge( new l7vs::snmpbridge( vsd_test, io ) );
- vsd_test.set_snmpbridge( bridge );
-
- // replication reload
- {
- l7vs::replication::reset_called = false;
- l7vs::PARAMETER_COMPONENT_TAG comp = l7vs::PARAM_COMP_REPLICATION;
- l7vs::error_code err;
- vsd_test.reload_parameter( &comp, err );
- // unit_test[179] reload_parameter normal case (replication reload) error_code check
- BOOST_CHECK( !err );
- // unit_test[180] reload_parameter normal case (replication reload) reset call check
- BOOST_CHECK_EQUAL( l7vs::replication::reset_called, true );
- }
-
- // snmpbridge reload
- {
- l7vs::snmpbridge::reload_config_called = false;
- l7vs::PARAMETER_COMPONENT_TAG comp = l7vs::PARAM_COMP_SNMPAGENT;
- l7vs::error_code err;
- vsd_test.reload_parameter( &comp, err );
- // unit_test[181] reload_parameter normal case (snmpbridge reload) error_code check
- BOOST_CHECK( !err );
- // unit_test[182] reload_parameter normal case (snmpbridge reload) reload_conf call check
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::reload_config_called, true );
- }
-
- // logger reload
- {
- l7vs::Logger::setLogLevel( l7vs::LOG_CAT_L7VSD_NETWORK, l7vs::LOG_LV_FATAL );
- l7vs::PARAMETER_COMPONENT_TAG comp = l7vs::PARAM_COMP_LOGGER;
- l7vs::error_code err;
- vsd_test.reload_parameter( &comp, err );
- // unit_test[183] reload_parameter normal case (logger reload) error_code check
- BOOST_CHECK( !err );
- // unit_test[184] reload_parameter normal case (logger reload) log level default check
- BOOST_CHECK_EQUAL( l7vs::Logger::getLogLevel( l7vs::LOG_CAT_L7VSD_NETWORK ), l7vs::LOG_LV_INFO );
- }
-
- // error case
- {
- l7vs::PARAMETER_COMPONENT_TAG comp = l7vs::PARAM_COMP_NOCAT;
- l7vs::error_code err;
- vsd_test.reload_parameter( &comp, err );
- // unit_test[185] reload_parameter error case error_code check
- BOOST_CHECK( err );
- }
-
- BOOST_MESSAGE( "----- reload_parameter_test end -----" );
+void reload_parameter_test()
+{
+ BOOST_MESSAGE("----- reload_parameter_test start -----");
+ l7vsd_test vsd_test;
+
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
+ boost::shared_ptr< l7vs::snmpbridge >
+ bridge(new l7vs::snmpbridge(vsd_test, io));
+ vsd_test.set_snmpbridge(bridge);
+
+ // replication reload
+ {
+ l7vs::replication::reset_called = false;
+ l7vs::PARAMETER_COMPONENT_TAG comp = l7vs::PARAM_COMP_REPLICATION;
+ l7vs::error_code err;
+ vsd_test.reload_parameter(&comp, err);
+ // unit_test[179] reload_parameter normal case (replication reload) error_code check
+ BOOST_CHECK(!err);
+ // unit_test[180] reload_parameter normal case (replication reload) reset call check
+ BOOST_CHECK_EQUAL(l7vs::replication::reset_called, true);
+ }
+
+ // snmpbridge reload
+ {
+ l7vs::snmpbridge::reload_config_called = false;
+ l7vs::PARAMETER_COMPONENT_TAG comp = l7vs::PARAM_COMP_SNMPAGENT;
+ l7vs::error_code err;
+ vsd_test.reload_parameter(&comp, err);
+ // unit_test[181] reload_parameter normal case (snmpbridge reload) error_code check
+ BOOST_CHECK(!err);
+ // unit_test[182] reload_parameter normal case (snmpbridge reload) reload_conf call check
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::reload_config_called, true);
+ }
+
+ // logger reload
+ {
+ l7vs::Logger::setLogLevel(l7vs::LOG_CAT_L7VSD_NETWORK, l7vs::LOG_LV_FATAL);
+ l7vs::PARAMETER_COMPONENT_TAG comp = l7vs::PARAM_COMP_LOGGER;
+ l7vs::error_code err;
+ vsd_test.reload_parameter(&comp, err);
+ // unit_test[183] reload_parameter normal case (logger reload) error_code check
+ BOOST_CHECK(!err);
+ // unit_test[184] reload_parameter normal case (logger reload) log level default check
+ BOOST_CHECK_EQUAL(l7vs::Logger::getLogLevel(l7vs::LOG_CAT_L7VSD_NETWORK), l7vs::LOG_LV_INFO);
+ }
+
+ // error case
+ {
+ l7vs::PARAMETER_COMPONENT_TAG comp = l7vs::PARAM_COMP_NOCAT;
+ l7vs::error_code err;
+ vsd_test.reload_parameter(&comp, err);
+ // unit_test[185] reload_parameter error case error_code check
+ BOOST_CHECK(err);
+ }
+
+ BOOST_MESSAGE("----- reload_parameter_test end -----");
}
-void search_vslist_test(){
- BOOST_MESSAGE( "----- search_vslist_test start -----" );
- l7vsd_test vsd_test;
-
- boost::asio::io_service io;
- l7vs::replication rep;
- l7vs::virtualservice_element e;
-
- boost::shared_ptr< l7vs::virtual_service > vs1( new l7vs::virtual_service( vsd_test, rep, e ) );
- boost::shared_ptr< l7vs::virtual_service > vs2( new l7vs::virtual_service( vsd_test, rep, e ) );
-
- vs1->element.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "10.10.10.10:9999" );
- vs2->element.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "20.20.20.20:8888" );
-
- vsd_test.get_vslist().push_back(vs1);
- vsd_test.get_vslist().push_back(vs2);
-
- // unit_test[186] search_vslist normal case return value check
- {
- l7vs::virtualservice_element elem;
- elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "20.20.20.20:8888" );
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist( elem );
- BOOST_CHECK( (*itr)->get_element() == elem );
- }
-
- // unit_test[187] search_vslist normal case 2(vs not found) return value check
- {
- l7vs::virtualservice_element elem;
- elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "30.30.30.30:7777" );
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist( elem );
- BOOST_CHECK( itr == vsd_test.get_vslist().end() );
- }
-
- // unit_test[188] search_vslist normal case 3(vslist empty) return value check
- vsd_test.get_vslist().clear();
- {
- l7vs::virtualservice_element elem;
- elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( "20.20.20.20:8888" );
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist( elem );
- BOOST_CHECK( itr == vsd_test.get_vslist().end() );
- }
-
- //udpmode
- boost::shared_ptr< l7vs::virtual_service > vs3( new l7vs::virtual_service( vsd_test, rep, e ) );
- boost::shared_ptr< l7vs::virtual_service > vs4( new l7vs::virtual_service( vsd_test, rep, e ) );
-
- vs3->element.udpmode = true;
- vs4->element.udpmode = true;
- vs3->element.udp_recv_endpoint = string_to_endpoint<boost::asio::ip::udp>( "40.40.40.40:6666" );
- vs4->element.udp_recv_endpoint = string_to_endpoint<boost::asio::ip::udp>( "50.50.50.50:5555" );
-
- vsd_test.get_vslist().push_back(vs3);
- vsd_test.get_vslist().push_back(vs4);
- // unit_test[189] search_vslist normal case 4(udpmode) return value check
- {
- l7vs::virtualservice_element elem;
- elem.udpmode = true;
- elem.udp_recv_endpoint = string_to_endpoint<boost::asio::ip::udp>( "40.40.40.40:6666" );
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist( elem );
- BOOST_CHECK( (*itr)->get_element() == elem );
- }
-
- // unit_test[190] search_vslist normal case 5(vs not found in udpmode) return value check
- {
- l7vs::virtualservice_element elem;
- elem.udpmode = true;
- elem.udp_recv_endpoint = string_to_endpoint<boost::asio::ip::udp>( "60.60.60.60:4444" );
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist( elem );
- BOOST_CHECK( itr == vsd_test.get_vslist().end() );
- }
-
- // unit_test[191] search_vslist normal case 6(vslist empty in udpmode) return value check
- vsd_test.get_vslist().clear();
- {
- l7vs::virtualservice_element elem;
- elem.udpmode = true;
- elem.udp_recv_endpoint = string_to_endpoint<boost::asio::ip::udp>( "40.40.40.40:6666" );
- l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist( elem );
- BOOST_CHECK( itr == vsd_test.get_vslist().end() );
- }
-
- BOOST_MESSAGE( "----- search_vslist_test end -----" );
+void search_vslist_test()
+{
+ BOOST_MESSAGE("----- search_vslist_test start -----");
+ l7vsd_test vsd_test;
+
+ boost::asio::io_service io;
+ l7vs::replication rep;
+ l7vs::virtualservice_element e;
+
+ boost::shared_ptr< l7vs::virtual_service > vs1(new l7vs::virtual_service(vsd_test, rep, e));
+ boost::shared_ptr< l7vs::virtual_service > vs2(new l7vs::virtual_service(vsd_test, rep, e));
+
+ vs1->element.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("10.10.10.10:9999");
+ vs2->element.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("20.20.20.20:8888");
+
+ vsd_test.get_vslist().push_back(vs1);
+ vsd_test.get_vslist().push_back(vs2);
+
+ // unit_test[186] search_vslist normal case return value check
+ {
+ l7vs::virtualservice_element elem;
+ elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("20.20.20.20:8888");
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist(elem);
+ BOOST_CHECK((*itr)->get_element() == elem);
+ }
+
+ // unit_test[187] search_vslist normal case 2(vs not found) return value check
+ {
+ l7vs::virtualservice_element elem;
+ elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("30.30.30.30:7777");
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist(elem);
+ BOOST_CHECK(itr == vsd_test.get_vslist().end());
+ }
+
+ // unit_test[188] search_vslist normal case 3(vslist empty) return value check
+ vsd_test.get_vslist().clear();
+ {
+ l7vs::virtualservice_element elem;
+ elem.tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>("20.20.20.20:8888");
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist(elem);
+ BOOST_CHECK(itr == vsd_test.get_vslist().end());
+ }
+
+ //udpmode
+ boost::shared_ptr< l7vs::virtual_service > vs3(new l7vs::virtual_service(vsd_test, rep, e));
+ boost::shared_ptr< l7vs::virtual_service > vs4(new l7vs::virtual_service(vsd_test, rep, e));
+
+ vs3->element.udpmode = true;
+ vs4->element.udpmode = true;
+ vs3->element.udp_recv_endpoint = string_to_endpoint<boost::asio::ip::udp>("40.40.40.40:6666");
+ vs4->element.udp_recv_endpoint = string_to_endpoint<boost::asio::ip::udp>("50.50.50.50:5555");
+
+ vsd_test.get_vslist().push_back(vs3);
+ vsd_test.get_vslist().push_back(vs4);
+ // unit_test[189] search_vslist normal case 4(udpmode) return value check
+ {
+ l7vs::virtualservice_element elem;
+ elem.udpmode = true;
+ elem.udp_recv_endpoint = string_to_endpoint<boost::asio::ip::udp>("40.40.40.40:6666");
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist(elem);
+ BOOST_CHECK((*itr)->get_element() == elem);
+ }
+
+ // unit_test[190] search_vslist normal case 5(vs not found in udpmode) return value check
+ {
+ l7vs::virtualservice_element elem;
+ elem.udpmode = true;
+ elem.udp_recv_endpoint = string_to_endpoint<boost::asio::ip::udp>("60.60.60.60:4444");
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist(elem);
+ BOOST_CHECK(itr == vsd_test.get_vslist().end());
+ }
+
+ // unit_test[191] search_vslist normal case 6(vslist empty in udpmode) return value check
+ vsd_test.get_vslist().clear();
+ {
+ l7vs::virtualservice_element elem;
+ elem.udpmode = true;
+ elem.udp_recv_endpoint = string_to_endpoint<boost::asio::ip::udp>("40.40.40.40:6666");
+ l7vs::l7vsd::vslist_type::iterator itr = vsd_test.search_vslist(elem);
+ BOOST_CHECK(itr == vsd_test.get_vslist().end());
+ }
+
+ BOOST_MESSAGE("----- search_vslist_test end -----");
}
-void run_test(){
- BOOST_MESSAGE( "----- run test_start -----" );
- l7vsd_test vsd_test;
+void run_test()
+{
+ BOOST_MESSAGE("----- run test_start -----");
+ l7vsd_test vsd_test;
// normal case
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- //boost::thread thd( boost::bind( &l7vsd_test::run, &vsd_test, argc, argv ) );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[192] l7vsd::run normal case return value check
- BOOST_CHECK_EQUAL( ret, 0 );
- // unit_test[193] l7vsd::run normal case help mode check
- BOOST_CHECK_EQUAL( vsd_test.get_help(), false );
- // unit_test[194] l7vsd::run normal case debug mode check
- BOOST_CHECK_EQUAL( vsd_test.get_help(), false );
- vsd_test.get_help() = false;
- vsd_test.get_help() = false;
-
- // unit_test[195] l7vsd::run normal case protocol_module_control initialize call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_control::initialize_called, true );
- // unit_test[196] l7vsd::run normal case protocol_module_control finalize call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_control::finalize_called, true );
- // unit_test[197] l7vsd::run normal case schedule_module_control initilize call check
- BOOST_CHECK_EQUAL( l7vs::schedule_module_control::initialize_called, true );
- // unit_test[198] l7vsd::run normal case schedule_module_control finalize call check
- BOOST_CHECK_EQUAL( l7vs::schedule_module_control::finalize_called, true );
- // unit_test[199] l7vsd::run normal case replication initilalize call check
- BOOST_CHECK_EQUAL( l7vs::replication::initialize_called, true );
- // unit_test[200] l7vsd::run normal case replication finalize call check
- BOOST_CHECK_EQUAL( l7vs::replication::finalize_called, true );
- // unit_test[201] l7vsd::run normal case snmpbridge initilalize call check
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::initialize_called, true );
- // unit_test[202] l7vsd::run normal case snmpbridge finalize call check
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::finalize_called, true );
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ //boost::thread thd( boost::bind( &l7vsd_test::run, &vsd_test, argc, argv ) );
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[192] l7vsd::run normal case return value check
+ BOOST_CHECK_EQUAL(ret, 0);
+ // unit_test[193] l7vsd::run normal case help mode check
+ BOOST_CHECK_EQUAL(vsd_test.get_help(), false);
+ // unit_test[194] l7vsd::run normal case debug mode check
+ BOOST_CHECK_EQUAL(vsd_test.get_help(), false);
+ vsd_test.get_help() = false;
+ vsd_test.get_help() = false;
+
+ // unit_test[195] l7vsd::run normal case protocol_module_control initialize call check
+ BOOST_CHECK_EQUAL(l7vs::protocol_module_control::initialize_called, true);
+ // unit_test[196] l7vsd::run normal case protocol_module_control finalize call check
+ BOOST_CHECK_EQUAL(l7vs::protocol_module_control::finalize_called, true);
+ // unit_test[197] l7vsd::run normal case schedule_module_control initilize call check
+ BOOST_CHECK_EQUAL(l7vs::schedule_module_control::initialize_called, true);
+ // unit_test[198] l7vsd::run normal case schedule_module_control finalize call check
+ BOOST_CHECK_EQUAL(l7vs::schedule_module_control::finalize_called, true);
+ // unit_test[199] l7vsd::run normal case replication initilalize call check
+ BOOST_CHECK_EQUAL(l7vs::replication::initialize_called, true);
+ // unit_test[200] l7vsd::run normal case replication finalize call check
+ BOOST_CHECK_EQUAL(l7vs::replication::finalize_called, true);
+ // unit_test[201] l7vsd::run normal case snmpbridge initilalize call check
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::initialize_called, true);
+ // unit_test[202] l7vsd::run normal case snmpbridge finalize call check
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::finalize_called, true);
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// normal case 2(help mode )
- {
- int argc = 2;
- char* argv[] = { (char*)"l7vsd_test", (char*)"-h" };
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[203] l7vsd::run normal case 2(help mode) return value check
- BOOST_CHECK_EQUAL( ret, 0 );
- // unit_test[204] l7vsd::run normal case 2(help mode) help mode check
- BOOST_CHECK_EQUAL( vsd_test.get_help(), true );
- // unit_test[205] l7vsd::run normal case 2(help mode) debug mode check
+ {
+ int argc = 2;
+ char *argv[] = { (char *)"l7vsd_test", (char *)"-h" };
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[203] l7vsd::run normal case 2(help mode) return value check
+ BOOST_CHECK_EQUAL(ret, 0);
+ // unit_test[204] l7vsd::run normal case 2(help mode) help mode check
+ BOOST_CHECK_EQUAL(vsd_test.get_help(), true);
+ // unit_test[205] l7vsd::run normal case 2(help mode) debug mode check
// BOOST_CHECK_EQUAL( vsd_test.get_debug(), false );
- vsd_test.get_help() = false;
+ vsd_test.get_help() = false;
// vsd_test.get_debug() = false;
- // unit_test[206] l7vsd::run normal case 2(help mode) protocol_module_control initialize call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_control::initialize_called, false );
- // unit_test[207] l7vsd::run normal case 2(help mode) protocol_module_control finalize call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_control::finalize_called, false );
- // unit_test[208] l7vsd::run normal case 2(help mode) schedule_module_control initilize call check
- BOOST_CHECK_EQUAL( l7vs::schedule_module_control::initialize_called, false );
- // unit_test[209] l7vsd::run normal case 2(help mode) schedule_module_control finalize call check
- BOOST_CHECK_EQUAL( l7vs::schedule_module_control::finalize_called, false );
- // unit_test[210] l7vsd::run normal case 2(help mode) replication initilalize call check
- BOOST_CHECK_EQUAL( l7vs::replication::initialize_called, false );
- // unit_test[211] l7vsd::run normal case 2(help mode) replication finalize call check
- BOOST_CHECK_EQUAL( l7vs::replication::finalize_called, false );
- // unit_test[212] l7vsd::run normal case 2(help mode) snmpbridge initilalize call check
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::initialize_called, false );
- // unit_test[213] l7vsd::run normal case 2(help mode) snmpbridge finalize call check
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::finalize_called, false );
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ // unit_test[206] l7vsd::run normal case 2(help mode) protocol_module_control initialize call check
+ BOOST_CHECK_EQUAL(l7vs::protocol_module_control::initialize_called, false);
+ // unit_test[207] l7vsd::run normal case 2(help mode) protocol_module_control finalize call check
+ BOOST_CHECK_EQUAL(l7vs::protocol_module_control::finalize_called, false);
+ // unit_test[208] l7vsd::run normal case 2(help mode) schedule_module_control initilize call check
+ BOOST_CHECK_EQUAL(l7vs::schedule_module_control::initialize_called, false);
+ // unit_test[209] l7vsd::run normal case 2(help mode) schedule_module_control finalize call check
+ BOOST_CHECK_EQUAL(l7vs::schedule_module_control::finalize_called, false);
+ // unit_test[210] l7vsd::run normal case 2(help mode) replication initilalize call check
+ BOOST_CHECK_EQUAL(l7vs::replication::initialize_called, false);
+ // unit_test[211] l7vsd::run normal case 2(help mode) replication finalize call check
+ BOOST_CHECK_EQUAL(l7vs::replication::finalize_called, false);
+ // unit_test[212] l7vsd::run normal case 2(help mode) snmpbridge initilalize call check
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::initialize_called, false);
+ // unit_test[213] l7vsd::run normal case 2(help mode) snmpbridge finalize call check
+ BOOST_CHECK_EQUAL(l7vs::snmpbridge::finalize_called, false);
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// normal case 3(debug mode)
- {
- int argc = 2;
- char* argv[] = { (char*)"l7vsd_test", (char*)"-d" };
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[214] l7vsd::run normal case 3(debug mode) return value check
- BOOST_CHECK_EQUAL( ret, -1 );
-/* デバッグモード廃止の為、削除
- // unit_test[215] l7vsd::run normal case 3(debug mode) delp mode check
- BOOST_CHECK_EQUAL( vsd_test.get_help(), false );
- // unit_test[216] l7vsd::run normal case 3(debug mode) debug mode check
-// BOOST_CHECK_EQUAL( vsd_test.get_debug(), true );
- vsd_test.get_help() = false;
-// vsd_test.get_debug() = false;
-
- // unit_test[217] l7vsd::run normal case 3(debug mode) protocol_module_control initialize call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_control::initialize_called, true );
- // unit_test[218] l7vsd::run normal case 3(debug mode) protocol_module_control finalize call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_control::finalize_called, true );
- // unit_test[219] l7vsd::run normal case 3(debug mode) schedule_module_control initilize call check
- BOOST_CHECK_EQUAL( l7vs::schedule_module_control::initialize_called, true );
- // unit_test[220] l7vsd::run normal case 3(debug mode) schedule_module_control finalize call check
- BOOST_CHECK_EQUAL( l7vs::schedule_module_control::finalize_called, true );
- // unit_test[221] l7vsd::run normal case 3(debug mode) replication initilalize call check
- BOOST_CHECK_EQUAL( l7vs::replication::initialize_called, true );
- // unit_test[222] l7vsd::run normal case 3(debug mode) replication finalize call check
- BOOST_CHECK_EQUAL( l7vs::replication::finalize_called, true );
- // unit_test[223] l7vsd::run normal case 3(debug mode) snmpbridge initilalize call check
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::initialize_called, true );
- // unit_test[224] l7vsd::run normal case 3(debug mode) snmpbridge finalize call check
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::finalize_called, true );
-*/
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ int argc = 2;
+ char *argv[] = { (char *)"l7vsd_test", (char *)"-d" };
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[214] l7vsd::run normal case 3(debug mode) return value check
+ BOOST_CHECK_EQUAL(ret, -1);
+ /* デバッグモード廃止の為、削除
+ // unit_test[215] l7vsd::run normal case 3(debug mode) delp mode check
+ BOOST_CHECK_EQUAL( vsd_test.get_help(), false );
+ // unit_test[216] l7vsd::run normal case 3(debug mode) debug mode check
+ // BOOST_CHECK_EQUAL( vsd_test.get_debug(), true );
+ vsd_test.get_help() = false;
+ // vsd_test.get_debug() = false;
+
+ // unit_test[217] l7vsd::run normal case 3(debug mode) protocol_module_control initialize call check
+ BOOST_CHECK_EQUAL( l7vs::protocol_module_control::initialize_called, true );
+ // unit_test[218] l7vsd::run normal case 3(debug mode) protocol_module_control finalize call check
+ BOOST_CHECK_EQUAL( l7vs::protocol_module_control::finalize_called, true );
+ // unit_test[219] l7vsd::run normal case 3(debug mode) schedule_module_control initilize call check
+ BOOST_CHECK_EQUAL( l7vs::schedule_module_control::initialize_called, true );
+ // unit_test[220] l7vsd::run normal case 3(debug mode) schedule_module_control finalize call check
+ BOOST_CHECK_EQUAL( l7vs::schedule_module_control::finalize_called, true );
+ // unit_test[221] l7vsd::run normal case 3(debug mode) replication initilalize call check
+ BOOST_CHECK_EQUAL( l7vs::replication::initialize_called, true );
+ // unit_test[222] l7vsd::run normal case 3(debug mode) replication finalize call check
+ BOOST_CHECK_EQUAL( l7vs::replication::finalize_called, true );
+ // unit_test[223] l7vsd::run normal case 3(debug mode) snmpbridge initilalize call check
+ BOOST_CHECK_EQUAL( l7vs::snmpbridge::initialize_called, true );
+ // unit_test[224] l7vsd::run normal case 3(debug mode) snmpbridge finalize call check
+ BOOST_CHECK_EQUAL( l7vs::snmpbridge::finalize_called, true );
+ */
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// normal case 4(help and debug mode)
- {
- int argc = 3;
- char* argv[] = { (char*)"l7vsd_test", (char*)"-d", (char*)"-h" };
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[225] l7vsd::run normal case 4(help and debug mode) return value check
- BOOST_CHECK_EQUAL( ret, -1 );
-/*デバッグモード廃止の為、削除
- // unit_test[226] l7vsd::run normal case 4(help and debug mode) delp mode check
- BOOST_CHECK_EQUAL( vsd_test.get_help(), true );
- // unit_test[227] l7vsd::run normal case 4(help and debug mode) debug mode check
-// BOOST_CHECK_EQUAL( vsd_test.get_debug(), true );
- vsd_test.get_help() = false;
-// vsd_test.get_debug() = false;
-
- // unit_test[228] l7vsd::run normal case 4(help and debug mode) protocol_module_control initialize call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_control::initialize_called, false );
- // unit_test[229] l7vsd::run normal case 4(help and debug mode) protocol_module_control finalize call check
- BOOST_CHECK_EQUAL( l7vs::protocol_module_control::finalize_called, false );
- // unit_test[230] l7vsd::run normal case 4(help and debug mode) schedule_module_control initilize call check
- BOOST_CHECK_EQUAL( l7vs::schedule_module_control::initialize_called, false );
- // unit_test[231] l7vsd::run normal case 4(help and debug mode) schedule_module_control finalize call check
- BOOST_CHECK_EQUAL( l7vs::schedule_module_control::finalize_called, false );
- // unit_test[232] l7vsd::run normal case 4(help and debug mode) replication initilalize call check
- BOOST_CHECK_EQUAL( l7vs::replication::initialize_called, false );
- // unit_test[233] l7vsd::run normal case 4(help and debug mode) replication finalize call check
- BOOST_CHECK_EQUAL( l7vs::replication::finalize_called, false );
- // unit_test[234] l7vsd::run normal case 4(help and debug mode) snmpbridge initilalize call check
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::initialize_called, false );
- // unit_test[235] l7vsd::run normal case 4(help and debug mode) snmpbridge finalize call check
- BOOST_CHECK_EQUAL( l7vs::snmpbridge::finalize_called, false );
-*/
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ int argc = 3;
+ char *argv[] = { (char *)"l7vsd_test", (char *)"-d", (char *)"-h" };
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[225] l7vsd::run normal case 4(help and debug mode) return value check
+ BOOST_CHECK_EQUAL(ret, -1);
+ /*デバッグモード廃止の為、削除
+ // unit_test[226] l7vsd::run normal case 4(help and debug mode) delp mode check
+ BOOST_CHECK_EQUAL( vsd_test.get_help(), true );
+ // unit_test[227] l7vsd::run normal case 4(help and debug mode) debug mode check
+ // BOOST_CHECK_EQUAL( vsd_test.get_debug(), true );
+ vsd_test.get_help() = false;
+ // vsd_test.get_debug() = false;
+
+ // unit_test[228] l7vsd::run normal case 4(help and debug mode) protocol_module_control initialize call check
+ BOOST_CHECK_EQUAL( l7vs::protocol_module_control::initialize_called, false );
+ // unit_test[229] l7vsd::run normal case 4(help and debug mode) protocol_module_control finalize call check
+ BOOST_CHECK_EQUAL( l7vs::protocol_module_control::finalize_called, false );
+ // unit_test[230] l7vsd::run normal case 4(help and debug mode) schedule_module_control initilize call check
+ BOOST_CHECK_EQUAL( l7vs::schedule_module_control::initialize_called, false );
+ // unit_test[231] l7vsd::run normal case 4(help and debug mode) schedule_module_control finalize call check
+ BOOST_CHECK_EQUAL( l7vs::schedule_module_control::finalize_called, false );
+ // unit_test[232] l7vsd::run normal case 4(help and debug mode) replication initilalize call check
+ BOOST_CHECK_EQUAL( l7vs::replication::initialize_called, false );
+ // unit_test[233] l7vsd::run normal case 4(help and debug mode) replication finalize call check
+ BOOST_CHECK_EQUAL( l7vs::replication::finalize_called, false );
+ // unit_test[234] l7vsd::run normal case 4(help and debug mode) snmpbridge initilalize call check
+ BOOST_CHECK_EQUAL( l7vs::snmpbridge::initialize_called, false );
+ // unit_test[235] l7vsd::run normal case 4(help and debug mode) snmpbridge finalize call check
+ BOOST_CHECK_EQUAL( l7vs::snmpbridge::finalize_called, false );
+ */
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
//------*******************************************************************************************************--------//
// task scheduler set test PARAM_SCHED_ALGORITHM = none PARAM_SCHED_PRIORITY = none case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.rm_int_parameter(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, err);
- param.rm_int_parameter(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[236] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[237] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 0 );
-
- // unit_test[238] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 0 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.rm_int_parameter(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, err);
+ param.rm_int_parameter(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[236] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[237] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 0);
+
+ // unit_test[238] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 0);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = 99 PARAM_SCHED_PRIORITY = 0 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,99, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,0, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[239] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[240] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 0 );
-
- // unit_test[241] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 0 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 99, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 0, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[239] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[240] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 0);
+
+ // unit_test[241] l7vsd::run task scheduler set test ALGORITHM = 99 PRIORITY = 0 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 0);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_FIFO(1) PARAM_SCHED_PRIORITY = 0 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,1, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,0, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[242] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 0 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[243] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 0 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 1 );
-
- // unit_test[244] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 0 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 1 );
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 1, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 0, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[242] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 0 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[243] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 0 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 1);
+
+ // unit_test[244] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 0 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 1);
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_FIFO(1) PARAM_SCHED_PRIORITY = 1 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,1, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,1, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[245] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 1 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[246] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 1 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 1 );
-
- // unit_test[247] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 1 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 1 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 1, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 1, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[245] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 1 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[246] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 1 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 1);
+
+ // unit_test[247] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 1 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 1);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_FIFO(1) PARAM_SCHED_PRIORITY = 99 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,1, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,99, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[248] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 99 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[249] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 99 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 1 );
-
- // unit_test[250] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 99 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 99 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 1, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 99, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[248] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 99 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[249] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 99 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 1);
+
+ // unit_test[250] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 99 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 99);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_FIFO(1) PARAM_SCHED_PRIORITY = 100 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,1, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,100, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[251] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 100 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[252] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 100 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 1 );
-
- // unit_test[253] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 100 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 1 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 1, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 100, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[251] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 100 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[252] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 100 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 1);
+
+ // unit_test[253] l7vsd::run task scheduler set test ALGORITHM = SCHED_FIFO(1) PRIORITY = 100 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 1);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_RR(2) PARAM_SCHED_PRIORITY = 0 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,2, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,0, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[254] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 0 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[255] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 0 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 2 );
-
- // unit_test[256] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 0 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 1 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 2, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 0, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[254] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 0 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[255] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 0 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 2);
+
+ // unit_test[256] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 0 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 1);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_RR(2) PARAM_SCHED_PRIORITY = 1 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,2, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,1, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[257] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 1 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[258] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 1 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 2 );
-
- // unit_test[259] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 1 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 1 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 2, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 1, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[257] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 1 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[258] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 1 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 2);
+
+ // unit_test[259] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 1 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 1);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_RR(2) PARAM_SCHED_PRIORITY = 99 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,2, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,99, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[260] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 99 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[261] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 99 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 2 );
-
- // unit_test[262] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 99 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 99 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 2, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 99, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[260] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 99 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[261] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 99 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 2);
+
+ // unit_test[262] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 99 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 99);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_RR(2) PARAM_SCHED_PRIORITY = 100 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,2, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,100, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[263] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 100 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[264] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 100 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 2 );
-
- // unit_test[265] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 100 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 1 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 2, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 100, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[263] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 100 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[264] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 100 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 2);
+
+ // unit_test[265] l7vsd::run task scheduler set test ALGORITHM = SCHED_RR(2) PRIORITY = 100 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 1);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_OTHER(0) PARAM_SCHED_PRIORITY = 0 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,0, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,0, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[266] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[267] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 0 );
-
- // unit_test[268] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 0 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 0, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 0, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[266] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[267] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 0);
+
+ // unit_test[268] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 0);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_OTHER(0) PARAM_SCHED_PRIORITY = 1 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,0, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,1, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[269] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[270] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 0 );
-
- // unit_test[271] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 0 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 0, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 1, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[269] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[270] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 0);
+
+ // unit_test[271] l7vsd::run task scheduler set test ALGORITHM = SCHED_OTHER(0) PRIORITY = 0 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 0);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_BATCH(3) PARAM_SCHED_PRIORITY = 0 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,3, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,0, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[272] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[273] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 3 );
-
- // unit_test[274] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 0 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 3, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 0, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[272] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[273] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 3);
+
+ // unit_test[274] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 0);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
// task scheduler set test PARAM_SCHED_ALGORITHM = SCHED_BATCH(3) PARAM_SCHED_PRIORITY = 1 case
// 注意:このテストは実行時にスーパユーザ権限が必要です
- {
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
-
- daemon_ret = 0;
-
- int argc = 1;
- char* argv[] = { (char*)"l7vsd_test" };
-
- l7vs::Parameter param;
- l7vs::error_code err;
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM,3, err);
- param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY,1, err);
-
- vsd_test.set_exit_requested( 1 );
- int ret = vsd_test.run( argc, argv );
- vsd_test.set_exit_requested( 0 );
-
- // unit_test[275] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case reutrn value check
- BOOST_CHECK_EQUAL( ret, 0 );
-
- // unit_test[276] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case set ALGORITHM check
- BOOST_CHECK_EQUAL( sched_getscheduler(0) , 3 );
-
- // unit_test[277] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case set PRIORITY check
- sched_param scheduler_param;
- int ret_val = sched_getparam( 0, &scheduler_param );
- BOOST_CHECK_EQUAL( ret_val , 0 );
- BOOST_CHECK_EQUAL( scheduler_param.__sched_priority , 0 );
-
-
- l7vs::protocol_module_control::initialize_called = false;
- l7vs::protocol_module_control::finalize_called = false;
- l7vs::schedule_module_control::initialize_called = false;
- l7vs::schedule_module_control::finalize_called = false;
- l7vs::replication::initialize_called = false;
- l7vs::replication::initialize_fail = false;
- l7vs::replication::finalize_called = false;
- l7vs::snmpbridge::initialize_called = false;
- l7vs::snmpbridge::initialize_fail = false;
- l7vs::snmpbridge::finalize_called = false;
- }
-
-
- BOOST_MESSAGE( "----- run_test end -----" );
+ {
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+
+ daemon_ret = 0;
+
+ int argc = 1;
+ char *argv[] = { (char *)"l7vsd_test" };
+
+ l7vs::Parameter param;
+ l7vs::error_code err;
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_ALGORITHM, 3, err);
+ param.set_int(l7vs::PARAM_COMP_L7VSD, PARAM_SCHED_PRIORITY, 1, err);
+
+ vsd_test.set_exit_requested(1);
+ int ret = vsd_test.run(argc, argv);
+ vsd_test.set_exit_requested(0);
+
+ // unit_test[275] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case reutrn value check
+ BOOST_CHECK_EQUAL(ret, 0);
+
+ // unit_test[276] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case set ALGORITHM check
+ BOOST_CHECK_EQUAL(sched_getscheduler(0) , 3);
+
+ // unit_test[277] l7vsd::run task scheduler set test ALGORITHM = SCHED_BATCH(3) PRIORITY = 0 case set PRIORITY check
+ sched_param scheduler_param;
+ int ret_val = sched_getparam(0, &scheduler_param);
+ BOOST_CHECK_EQUAL(ret_val , 0);
+ BOOST_CHECK_EQUAL(scheduler_param.__sched_priority , 0);
+
+
+ l7vs::protocol_module_control::initialize_called = false;
+ l7vs::protocol_module_control::finalize_called = false;
+ l7vs::schedule_module_control::initialize_called = false;
+ l7vs::schedule_module_control::finalize_called = false;
+ l7vs::replication::initialize_called = false;
+ l7vs::replication::initialize_fail = false;
+ l7vs::replication::finalize_called = false;
+ l7vs::snmpbridge::initialize_called = false;
+ l7vs::snmpbridge::initialize_fail = false;
+ l7vs::snmpbridge::finalize_called = false;
+ }
+
+
+ BOOST_MESSAGE("----- run_test end -----");
}
-void sig_exit_handler_test(){
- BOOST_MESSAGE( "----- sig_exit_handler test start -----" );
-
- int ret;
- sigset_t newmask;
- sigset_t oldmask;
- sigfillset( &newmask );
- ret = pthread_sigmask( SIG_BLOCK, &newmask, &oldmask );
-
- pthread_t th;
- l7vsd_test vsd_test;
-
- // sig_exit_handler SIGHUP
- vsd_test.set_exit_requested( 0 );
- vsd_test.set_received_sig( 0 );
- pthread_create( &th, NULL, handler_wrapper, &vsd_test );
- usleep( 10 );
- pthread_kill( th, SIGHUP );
- pthread_join( th, NULL );
- // unit_test[278] sig_exit_handler SIGHUP exit_requested check
- BOOST_CHECK_EQUAL( vsd_test.get_exit_requested(), 1 );
- // unit_test[279] sig_exit_handler SIGHUP received_sig check
- BOOST_CHECK_EQUAL( vsd_test.get_received_sig(), 1 );
-
- // sig_exit_handler SIGINT
- vsd_test.set_exit_requested( 0 );
- vsd_test.set_received_sig( 0 );
- pthread_create( &th, NULL, handler_wrapper, &vsd_test );
- usleep( 10 );
- pthread_kill( th, SIGINT );
- pthread_join( th, NULL );
- // unit_test[280] sig_exit_handler SIGINT exit_requested check
- BOOST_CHECK_EQUAL( vsd_test.get_exit_requested(), 1 );
- // unit_test[281] sig_exit_handler SIGINT received_sig check
- BOOST_CHECK_EQUAL( vsd_test.get_received_sig(), 2 );
-
- // sig_exit_handler SIGQUIT
- vsd_test.set_exit_requested( 0 );
- vsd_test.set_received_sig( 0 );
- pthread_create( &th, NULL, handler_wrapper, &vsd_test );
- usleep( 10 );
- pthread_kill( th, SIGQUIT );
- pthread_join( th, NULL );
- // unit_test[282] sig_exit_handler SIGQUIT exit_requested check
- BOOST_CHECK_EQUAL( vsd_test.get_exit_requested(), 1 );
- // unit_test[283] sig_exit_handler SIGQUIT received_sig check
- BOOST_CHECK_EQUAL( vsd_test.get_received_sig(), 3 );
-
- // sig_exit_handler SIGTERM
- vsd_test.set_exit_requested( 0 );
- vsd_test.set_received_sig( 0 );
- pthread_create( &th, NULL, handler_wrapper, &vsd_test );
- usleep( 10 );
- pthread_kill( th, SIGTERM );
- pthread_join( th, NULL );
- // unit_test[284] sig_exit_handler SIGQUIT exit_requested check
- BOOST_CHECK_EQUAL( vsd_test.get_exit_requested(), 1 );
- // unit_test[285] sig_exit_handler SIGQUIT received_sig check
- BOOST_CHECK_EQUAL( vsd_test.get_received_sig(), 15 );
-
- // sig_exit_handler SIGUSR1
- vsd_test.set_exit_requested( 0 );
- vsd_test.set_received_sig( 0 );
- pthread_create( &th, NULL, handler_wrapper, &vsd_test );
- usleep( 10 );
- pthread_kill( th, SIGUSR1 );
- usleep( 10 );
- // unit_test[286] sig_exit_handler SIGUSR1 exit_requested check
- BOOST_CHECK_EQUAL( vsd_test.get_exit_requested(), 0 );
- // unit_test[287] sig_exit_handler SIGUSR1 received_sig check
- BOOST_CHECK_EQUAL( vsd_test.get_received_sig(), 0 );
-
- pthread_kill( th, SIGINT );
- pthread_join( th, NULL );
- vsd_test.set_exit_requested( 0 );
- vsd_test.set_received_sig( 0 );
-
- ret = pthread_sigmask( SIG_SETMASK, &oldmask, NULL );
-
- BOOST_MESSAGE( "----- sig_exit_handler test end -----" );
+void sig_exit_handler_test()
+{
+ BOOST_MESSAGE("----- sig_exit_handler test start -----");
+
+ int ret;
+ sigset_t newmask;
+ sigset_t oldmask;
+ sigfillset(&newmask);
+ ret = pthread_sigmask(SIG_BLOCK, &newmask, &oldmask);
+
+ pthread_t th;
+ l7vsd_test vsd_test;
+
+ // sig_exit_handler SIGHUP
+ vsd_test.set_exit_requested(0);
+ vsd_test.set_received_sig(0);
+ pthread_create(&th, NULL, handler_wrapper, &vsd_test);
+ usleep(10);
+ pthread_kill(th, SIGHUP);
+ pthread_join(th, NULL);
+ // unit_test[278] sig_exit_handler SIGHUP exit_requested check
+ BOOST_CHECK_EQUAL(vsd_test.get_exit_requested(), 1);
+ // unit_test[279] sig_exit_handler SIGHUP received_sig check
+ BOOST_CHECK_EQUAL(vsd_test.get_received_sig(), 1);
+
+ // sig_exit_handler SIGINT
+ vsd_test.set_exit_requested(0);
+ vsd_test.set_received_sig(0);
+ pthread_create(&th, NULL, handler_wrapper, &vsd_test);
+ usleep(10);
+ pthread_kill(th, SIGINT);
+ pthread_join(th, NULL);
+ // unit_test[280] sig_exit_handler SIGINT exit_requested check
+ BOOST_CHECK_EQUAL(vsd_test.get_exit_requested(), 1);
+ // unit_test[281] sig_exit_handler SIGINT received_sig check
+ BOOST_CHECK_EQUAL(vsd_test.get_received_sig(), 2);
+
+ // sig_exit_handler SIGQUIT
+ vsd_test.set_exit_requested(0);
+ vsd_test.set_received_sig(0);
+ pthread_create(&th, NULL, handler_wrapper, &vsd_test);
+ usleep(10);
+ pthread_kill(th, SIGQUIT);
+ pthread_join(th, NULL);
+ // unit_test[282] sig_exit_handler SIGQUIT exit_requested check
+ BOOST_CHECK_EQUAL(vsd_test.get_exit_requested(), 1);
+ // unit_test[283] sig_exit_handler SIGQUIT received_sig check
+ BOOST_CHECK_EQUAL(vsd_test.get_received_sig(), 3);
+
+ // sig_exit_handler SIGTERM
+ vsd_test.set_exit_requested(0);
+ vsd_test.set_received_sig(0);
+ pthread_create(&th, NULL, handler_wrapper, &vsd_test);
+ usleep(10);
+ pthread_kill(th, SIGTERM);
+ pthread_join(th, NULL);
+ // unit_test[284] sig_exit_handler SIGQUIT exit_requested check
+ BOOST_CHECK_EQUAL(vsd_test.get_exit_requested(), 1);
+ // unit_test[285] sig_exit_handler SIGQUIT received_sig check
+ BOOST_CHECK_EQUAL(vsd_test.get_received_sig(), 15);
+
+ // sig_exit_handler SIGUSR1
+ vsd_test.set_exit_requested(0);
+ vsd_test.set_received_sig(0);
+ pthread_create(&th, NULL, handler_wrapper, &vsd_test);
+ usleep(10);
+ pthread_kill(th, SIGUSR1);
+ usleep(10);
+ // unit_test[286] sig_exit_handler SIGUSR1 exit_requested check
+ BOOST_CHECK_EQUAL(vsd_test.get_exit_requested(), 0);
+ // unit_test[287] sig_exit_handler SIGUSR1 received_sig check
+ BOOST_CHECK_EQUAL(vsd_test.get_received_sig(), 0);
+
+ pthread_kill(th, SIGINT);
+ pthread_join(th, NULL);
+ vsd_test.set_exit_requested(0);
+ vsd_test.set_received_sig(0);
+
+ ret = pthread_sigmask(SIG_SETMASK, &oldmask, NULL);
+
+ BOOST_MESSAGE("----- sig_exit_handler test end -----");
}
-void* handler_wrapper( void* args ){
- l7vsd_test* vsd_test = (l7vsd_test*)args;
- vsd_test->sig_exit_handler_wp();
- return NULL;
+void *handler_wrapper(void *args)
+{
+ l7vsd_test *vsd_test = (l7vsd_test *)args;
+ vsd_test->sig_exit_handler_wp();
+ return NULL;
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- //glibc function alias
- org_daemon = (int (*)(int, int)) dlsym(RTLD_NEXT, "daemon");
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ //glibc function alias
+ org_daemon = (int ( *)(int, int)) dlsym(RTLD_NEXT, "daemon");
- test_suite* ts = BOOST_TEST_SUITE( "l7vsd class test" );
+ test_suite *ts = BOOST_TEST_SUITE("l7vsd class test");
- l7vs::Logger logger_instance;
- l7vs::Parameter parameter_instance;
- logger_instance.loadConf();
+ l7vs::Logger logger_instance;
+ l7vs::Parameter parameter_instance;
+ logger_instance.loadConf();
- ts->add( BOOST_TEST_CASE( &list_virtual_service_test ) );
- ts->add( BOOST_TEST_CASE( &list_virtual_service_verbose_test ) );
- ts->add( BOOST_TEST_CASE( &search_vslist_test ) );
- ts->add( BOOST_TEST_CASE( &add_virtual_service_test ) );
- ts->add( BOOST_TEST_CASE( &del_virtual_service_test ) );
- ts->add( BOOST_TEST_CASE( &edit_virtual_service_test ) );
- ts->add( BOOST_TEST_CASE( &add_real_server_test ) );
- ts->add( BOOST_TEST_CASE( &del_real_server_test ) );
- ts->add( BOOST_TEST_CASE( &edit_real_server_test ) );
- ts->add( BOOST_TEST_CASE( &flush_virtual_service_test ) );
+ ts->add(BOOST_TEST_CASE(&list_virtual_service_test));
+ ts->add(BOOST_TEST_CASE(&list_virtual_service_verbose_test));
+ ts->add(BOOST_TEST_CASE(&search_vslist_test));
+ ts->add(BOOST_TEST_CASE(&add_virtual_service_test));
+ ts->add(BOOST_TEST_CASE(&del_virtual_service_test));
+ ts->add(BOOST_TEST_CASE(&edit_virtual_service_test));
+ ts->add(BOOST_TEST_CASE(&add_real_server_test));
+ ts->add(BOOST_TEST_CASE(&del_real_server_test));
+ ts->add(BOOST_TEST_CASE(&edit_real_server_test));
+ ts->add(BOOST_TEST_CASE(&flush_virtual_service_test));
- ts->add( BOOST_TEST_CASE( &replication_command_test ) );
- ts->add( BOOST_TEST_CASE( &set_loglevel_test ) );
- ts->add( BOOST_TEST_CASE( &set_snmp_loglevel_test) );
- ts->add( BOOST_TEST_CASE( &reload_parameter_test ) );
+ ts->add(BOOST_TEST_CASE(&replication_command_test));
+ ts->add(BOOST_TEST_CASE(&set_loglevel_test));
+ ts->add(BOOST_TEST_CASE(&set_snmp_loglevel_test));
+ ts->add(BOOST_TEST_CASE(&reload_parameter_test));
- ts->add( BOOST_TEST_CASE( &run_test ) );
+ ts->add(BOOST_TEST_CASE(&run_test));
- ts->add( BOOST_TEST_CASE( &sig_exit_handler_test ) );
+ ts->add(BOOST_TEST_CASE(&sig_exit_handler_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
using namespace boost::unit_test_framework;
// test class
-class l7vsd_test :public l7vs::l7vsd {
+class l7vsd_test : public l7vs::l7vsd
+{
public:
- vslist_type& get_vslist(){ return vslist; }
- boost::thread_group& get_tg(){ return vs_threads; }
+ vslist_type &get_vslist() {
+ return vslist;
+ }
+ boost::thread_group &get_tg() {
+ return vs_threads;
+ }
- bool& get_help() { return help; }
+ bool &get_help() {
+ return help;
+ }
// bool& get_debug() { return debug; }
- vslist_type::iterator search_vslist( l7vs::virtualservice_element& in_elem ){
- return l7vsd::search_vslist( in_elem );
- }
- void set_replication( boost::shared_ptr< l7vs::replication > inrep ){
- rep = inrep;
- }
- void set_snmpbridge( boost::shared_ptr< l7vs::snmpbridge > inbridge ){
- bridge = inbridge;
- }
+ vslist_type::iterator search_vslist(l7vs::virtualservice_element &in_elem) {
+ return l7vsd::search_vslist(in_elem);
+ }
+ void set_replication(boost::shared_ptr< l7vs::replication > inrep) {
+ rep = inrep;
+ }
+ void set_snmpbridge(boost::shared_ptr< l7vs::snmpbridge > inbridge) {
+ bridge = inbridge;
+ }
};
//variable
-boost::multi_array< l7vs::virtualservice_element, 2 > vselement( boost::extents[2][100] );
+boost::multi_array< l7vs::virtualservice_element, 2 > vselement(boost::extents[2][100]);
int err_count[2] = {0, 0};
l7vsd_test vsd_test;
//util
template< typename InternetProtocol >
-boost::asio::ip::basic_endpoint< InternetProtocol > string_to_endpoint( std::string str ){
- std::string::size_type pos = str.find( ":" );
- std::string hostname = str.substr( 0, pos );
- std::string portname = str.substr( pos+1, str.length() );
- boost::asio::io_service io_service;
- typename InternetProtocol::resolver resolver(io_service);
- typename InternetProtocol::resolver::query query( hostname, portname );
- typename InternetProtocol::resolver::iterator end;
- typename InternetProtocol::resolver::iterator itr = resolver.resolve( query );
- if( itr == end ) return typename InternetProtocol::endpoint();
- return *itr;
+boost::asio::ip::basic_endpoint< InternetProtocol > string_to_endpoint(std::string str)
+{
+ std::string::size_type pos = str.find(":");
+ std::string hostname = str.substr(0, pos);
+ std::string portname = str.substr(pos + 1, str.length());
+ boost::asio::io_service io_service;
+ typename InternetProtocol::resolver resolver(io_service);
+ typename InternetProtocol::resolver::query query(hostname, portname);
+ typename InternetProtocol::resolver::iterator end;
+ typename InternetProtocol::resolver::iterator itr = resolver.resolve(query);
+ if (itr == end) return typename InternetProtocol::endpoint();
+ return *itr;
}
//--tests--
-void list_vs( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- l7vs::error_code err;
- l7vs::l7vsd::vselist_type vselist;
-
- vsd_test.list_virtual_service( &vselist, err );
- if( err ) ++err_count[id];
- }
+void list_vs(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ l7vs::error_code err;
+ l7vs::l7vsd::vselist_type vselist;
+
+ vsd_test.list_virtual_service(&vselist, err);
+ if (err) ++err_count[id];
+ }
}
-void list_vs_verbose( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- l7vs::error_code err;
- l7vs::l7vsd_response response;
+void list_vs_verbose(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ l7vs::error_code err;
+ l7vs::l7vsd_response response;
- vsd_test.list_virtual_service_verbose( &response, err );
- if( err ) ++err_count[id];
- }
+ vsd_test.list_virtual_service_verbose(&response, err);
+ if (err) ++err_count[id];
+ }
}
-void add_vs_del_vs( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &vselement[id][i], err );
- if( err ) ++err_count[id];
+void add_vs_del_vs(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
+ {
+ l7vs::error_code err;
+ vsd_test.del_virtual_service(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
}
- {
- l7vs::error_code err;
- vsd_test.del_virtual_service( &vselement[id][i], err );
- if( err ) ++err_count[id];
- }
- }
}
-void add_vs_edit_vs( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &vselement[id][i], err );
- if( err ) ++err_count[id];
- }
- {
- l7vs::error_code err;
- vsd_test.edit_virtual_service( &vselement[id][i], err );
- if( err ) ++err_count[id];
+void add_vs_edit_vs(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
+ {
+ l7vs::error_code err;
+ vsd_test.edit_virtual_service(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
+ {
+ l7vs::error_code err;
+ vsd_test.del_virtual_service(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
}
- {
- l7vs::error_code err;
- vsd_test.del_virtual_service( &vselement[id][i], err );
- if( err ) ++err_count[id];
- }
- }
}
-void add_vs_add_rs( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &vselement[id][i], err );
- if( err ) ++err_count[id];
- }
- {
- l7vs::error_code err;
- vsd_test.add_real_server( &vselement[id][i], err );
- if( err ) ++err_count[id];
+void add_vs_add_rs(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
+ {
+ l7vs::error_code err;
+ vsd_test.add_real_server(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
+ {
+ l7vs::error_code err;
+ vsd_test.del_virtual_service(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
}
- {
- l7vs::error_code err;
- vsd_test.del_virtual_service( &vselement[id][i], err );
- if( err ) ++err_count[id];
- }
- }
}
-void add_vs_del_rs( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &vselement[id][i], err );
- if( err ) ++err_count[id];
- }
- {
- l7vs::error_code err;
- vsd_test.del_real_server( &vselement[id][i], err );
- if( err ) ++err_count[id];
+void add_vs_del_rs(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
+ {
+ l7vs::error_code err;
+ vsd_test.del_real_server(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
+ {
+ l7vs::error_code err;
+ vsd_test.del_virtual_service(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
}
- {
- l7vs::error_code err;
- vsd_test.del_virtual_service( &vselement[id][i], err );
- if( err ) ++err_count[id];
- }
- }
}
-void add_vs_edit_rs( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- {
- l7vs::error_code err;
- vsd_test.add_virtual_service( &vselement[id][i], err );
- if( err ) ++err_count[id];
- }
- {
- l7vs::error_code err;
- vsd_test.edit_real_server( &vselement[id][i], err );
- if( err ) ++err_count[id];
+void add_vs_edit_rs(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ {
+ l7vs::error_code err;
+ vsd_test.add_virtual_service(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
+ {
+ l7vs::error_code err;
+ vsd_test.edit_real_server(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
+ {
+ l7vs::error_code err;
+ vsd_test.del_virtual_service(&vselement[id][i], err);
+ if (err) ++err_count[id];
+ }
}
- {
- l7vs::error_code err;
- vsd_test.del_virtual_service( &vselement[id][i], err );
- if( err ) ++err_count[id];
- }
- }
}
-void flush_vs( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- l7vs::error_code err;
- vsd_test.flush_virtual_service( err );
- if( err ) ++err_count[id];
- }
+void flush_vs(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ l7vs::error_code err;
+ vsd_test.flush_virtual_service(err);
+ if (err) ++err_count[id];
+ }
}
-void rep_command( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- l7vs::error_code err;
- l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_START;
+void rep_command(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ l7vs::error_code err;
+ l7vs::l7vsadm_request::REPLICATION_COMMAND_TAG cmd = l7vs::l7vsadm_request::REP_START;
- vsd_test.replication_command( &cmd, err );
- if( err ) ++err_count[id];
- }
+ vsd_test.replication_command(&cmd, err);
+ if (err) ++err_count[id];
+ }
}
-void set_loglevel( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- l7vs::error_code err;
- l7vs::LOG_CATEGORY_TAG cat = l7vs::LOG_CAT_L7VSD_NETWORK;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_INFO;
+void set_loglevel(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ l7vs::error_code err;
+ l7vs::LOG_CATEGORY_TAG cat = l7vs::LOG_CAT_L7VSD_NETWORK;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_INFO;
- vsd_test.set_loglevel( &cat, &level, err );
- if( err ) ++err_count[id];
- }
+ vsd_test.set_loglevel(&cat, &level, err);
+ if (err) ++err_count[id];
+ }
}
-void snmp_set_loglevel( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- l7vs::error_code err;
- l7vs::LOG_CATEGORY_TAG cat = l7vs::LOG_CAT_SNMPAGENT_START_STOP;
- l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_INFO;
+void snmp_set_loglevel(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ l7vs::error_code err;
+ l7vs::LOG_CATEGORY_TAG cat = l7vs::LOG_CAT_SNMPAGENT_START_STOP;
+ l7vs::LOG_LEVEL_TAG level = l7vs::LOG_LV_INFO;
- vsd_test.snmp_set_loglevel( &cat, &level, err );
- if( err ) ++err_count[id];
- }
+ vsd_test.snmp_set_loglevel(&cat, &level, err);
+ if (err) ++err_count[id];
+ }
}
-void reload_parameter( unsigned int id ){
- for( size_t i = 0 ; i < 100; ++i ){
- l7vs::error_code err;
- l7vs::PARAMETER_COMPONENT_TAG comp = l7vs::PARAM_COMP_REPLICATION;
+void reload_parameter(unsigned int id)
+{
+ for (size_t i = 0 ; i < 100; ++i) {
+ l7vs::error_code err;
+ l7vs::PARAMETER_COMPONENT_TAG comp = l7vs::PARAM_COMP_REPLICATION;
- vsd_test.reload_parameter( &comp, err );
- if( err ) ++err_count[id];
- }
+ vsd_test.reload_parameter(&comp, err);
+ if (err) ++err_count[id];
+ }
}
-void thread_test(){
- BOOST_MESSAGE( "----- thread_test start -----" );
-
- boost::asio::io_service io;
- boost::shared_ptr< l7vs::replication >
- rep( new l7vs::replication() );
- vsd_test.set_replication( rep );
-
- boost::shared_ptr< l7vs::snmpbridge >
- bridge( new l7vs::snmpbridge( vsd_test, io ) );
- vsd_test.set_snmpbridge( bridge );
-
- //make element
- for( size_t i = 0 ; i < 2; ++i ){
- for( size_t j = 0 ; j < 100; ++j ){
- std::stringstream buf;
- buf << boost::format( "%s.10.10.10:%04d" )
- % (i == 0 ? "10" : "20")
- % ((j + 1) * 10);
- vselement[i][j].tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>( buf.str() );
+void thread_test()
+{
+ BOOST_MESSAGE("----- thread_test start -----");
+
+ boost::asio::io_service io;
+ boost::shared_ptr< l7vs::replication >
+ rep(new l7vs::replication());
+ vsd_test.set_replication(rep);
+
+ boost::shared_ptr< l7vs::snmpbridge >
+ bridge(new l7vs::snmpbridge(vsd_test, io));
+ vsd_test.set_snmpbridge(bridge);
+
+ //make element
+ for (size_t i = 0 ; i < 2; ++i) {
+ for (size_t j = 0 ; j < 100; ++j) {
+ std::stringstream buf;
+ buf << boost::format("%s.10.10.10:%04d")
+ % (i == 0 ? "10" : "20")
+ % ((j + 1) * 10);
+ vselement[i][j].tcp_accept_endpoint = string_to_endpoint<boost::asio::ip::tcp>(buf.str());
+ }
}
- }
-
- typedef std::map<std::string, boost::function<void( unsigned int ) > > func_map_type;
- func_map_type func_map;
-
- func_map["list_vs"] = &list_vs;
- func_map["list_vs_verbose"] = &list_vs_verbose;
- func_map["add_vs_del_vs"] = &add_vs_del_vs;
- func_map["add_vs_edit_vs"] = &add_vs_edit_vs;
- func_map["add_vs_add_rs"] = &add_vs_add_rs;
- func_map["add_vs_del_rs"] = &add_vs_del_rs;
- func_map["add_vs_edit_rs"] = &add_vs_edit_rs;
-
- func_map["rep_command"] = &rep_command;
- func_map["set_loglevel"] = &set_loglevel;
- func_map["snmp_set_loglevel"] = &snmp_set_loglevel;
- func_map["reload_parameter"] = &reload_parameter;
-
- // command combination test
- for( func_map_type::iterator itr = func_map.begin();
- itr != func_map.end();
- ++itr ){
-
- for( func_map_type::iterator itr2 = func_map.begin();
- itr2 != func_map.end();
- ++itr2 ){
-
- err_count[0] = 0;
- err_count[1] = 0;
-
- boost::thread thd1( boost::bind( itr->second, 0 ) );
- boost::thread thd2( boost::bind( itr2->second, 1 ) );
- thd1.join();
- thd2.join();
-
- BOOST_MESSAGE( itr->first + " and " + itr2->first );
- BOOST_CHECK_EQUAL( err_count[0], 0 );
- BOOST_CHECK_EQUAL( err_count[1], 0 );
+ typedef std::map<std::string, boost::function<void(unsigned int) > > func_map_type;
+ func_map_type func_map;
+
+ func_map["list_vs"] = &list_vs;
+ func_map["list_vs_verbose"] = &list_vs_verbose;
+ func_map["add_vs_del_vs"] = &add_vs_del_vs;
+ func_map["add_vs_edit_vs"] = &add_vs_edit_vs;
+ func_map["add_vs_add_rs"] = &add_vs_add_rs;
+ func_map["add_vs_del_rs"] = &add_vs_del_rs;
+ func_map["add_vs_edit_rs"] = &add_vs_edit_rs;
+
+ func_map["rep_command"] = &rep_command;
+ func_map["set_loglevel"] = &set_loglevel;
+ func_map["snmp_set_loglevel"] = &snmp_set_loglevel;
+ func_map["reload_parameter"] = &reload_parameter;
+
+ // command combination test
+ for (func_map_type::iterator itr = func_map.begin();
+ itr != func_map.end();
+ ++itr) {
+
+ for (func_map_type::iterator itr2 = func_map.begin();
+ itr2 != func_map.end();
+ ++itr2) {
+
+ err_count[0] = 0;
+ err_count[1] = 0;
+
+ boost::thread thd1(boost::bind(itr->second, 0));
+ boost::thread thd2(boost::bind(itr2->second, 1));
+ thd1.join();
+ thd2.join();
+
+ BOOST_MESSAGE(itr->first + " and " + itr2->first);
+ BOOST_CHECK_EQUAL(err_count[0], 0);
+ BOOST_CHECK_EQUAL(err_count[1], 0);
+
+ }
}
- }
- // flush vs command combination test
- for( func_map_type::iterator itr = func_map.begin();
- itr != func_map.end();
- ++itr ){
+ // flush vs command combination test
+ for (func_map_type::iterator itr = func_map.begin();
+ itr != func_map.end();
+ ++itr) {
- err_count[0] = 0;
- err_count[1] = 0;
+ err_count[0] = 0;
+ err_count[1] = 0;
- boost::thread thd1( boost::bind( &flush_vs, 0 ) );
- boost::thread thd2( boost::bind( itr->second, 1 ) );
- thd1.join();
- thd2.join();
+ boost::thread thd1(boost::bind(&flush_vs, 0));
+ boost::thread thd2(boost::bind(itr->second, 1));
+ thd1.join();
+ thd2.join();
- BOOST_MESSAGE( "flush and " + itr->first );
- BOOST_CHECK_EQUAL( err_count[0], 0 );
+ BOOST_MESSAGE("flush and " + itr->first);
+ BOOST_CHECK_EQUAL(err_count[0], 0);
- }
+ }
- BOOST_MESSAGE( "----- thread_test end -----" );
+ BOOST_MESSAGE("----- thread_test end -----");
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- test_suite* ts = BOOST_TEST_SUITE( "l7vsd class test" );
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ test_suite *ts = BOOST_TEST_SUITE("l7vsd class test");
- l7vs::Logger logger_instance;
- l7vs::Parameter parameter_instance;
- logger_instance.loadConf();
+ l7vs::Logger logger_instance;
+ l7vs::Parameter parameter_instance;
+ logger_instance.loadConf();
- ts->add( BOOST_TEST_CASE( &thread_test ) );
+ ts->add(BOOST_TEST_CASE(&thread_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
#include "l7vsd.h"
-namespace l7vs{
+namespace l7vs
+{
// virtualservice
bool virtual_service::initialize_fail(false);
bool virtual_service::finalize_fail(false);
bool virtual_service::stop_called(false);
-void virtual_service::finalize( error_code& err )
+void virtual_service::finalize(error_code &err)
{
- finalize_called = true;
- vsd.release_virtual_service( element );
- if( finalize_fail ) err.setter( true, "finalize_fail!" );
+ finalize_called = true;
+ vsd.release_virtual_service(element);
+ if (finalize_fail) err.setter(true, "finalize_fail!");
}
// replication
typedef std::map< std::string , std::string > accesslog_rotate_map_type;
typedef std::map< std::string , std::string >::iterator accesslog_rotate_map_type_iterator;
-namespace l7vs{
+namespace l7vs
+{
// test class
class log_impl_acs_test :
- public l7vs::logger_implement_access
+ public l7vs::logger_implement_access
{
- private:
- bool testflag;
- public:
- log_impl_acs_test(const std::string &access_log_file_name)
- :l7vs::logger_implement_access(access_log_file_name){};
- virtual ~log_impl_acs_test(){};
+private:
+ bool testflag;
+public:
+ log_impl_acs_test(const std::string &access_log_file_name)
+ : l7vs::logger_implement_access(access_log_file_name) {};
+ virtual ~log_impl_acs_test() {};
+
+ bool init(
+ const bool rotate_default_flag,
+ const appender_property &access_log_default_property,
+ accesslog_rotate_map_type &rotatedata);
- bool init(
- const bool rotate_default_flag,
- const appender_property& access_log_default_property,
- accesslog_rotate_map_type& rotatedata);
+ inline void putLog(
+ const std::string &vsinfo,
+ const std::string &cl_con_org,
+ const std::string &rs_con_org,
+ const std::string &rs_con_dest,
+ const std::string &msg = "");
- inline void putLog(
- const std::string& vsinfo,
- const std::string& cl_con_org,
- const std::string& rs_con_org,
- const std::string& rs_con_dest,
- const std::string& msg = "");
+ bool setAcLoggerConf(
+ const appender_property &access_log_default_property,
+ accesslog_rotate_map_type &rotatedata);
- bool setAcLoggerConf(
- const appender_property& access_log_default_property,
- accesslog_rotate_map_type& rotatedata);
+ bool other();
- bool other();
+ //void addRef(){ l7vs::logger_implement_access::addRef() };
- //void addRef(){ l7vs::logger_implement_access::addRef() };
+ //void releaseRef(){ l7vs::logger_implement_access::releaseRef() };
- //void releaseRef(){ l7vs::logger_implement_access::releaseRef() };
+ //bool operator<=(const int access_num ){ };
- //bool operator<=(const int access_num ){ };
+ std::string getAcLogFileName() {
+ return(this->access_log_file_name_);
+ }
- std::string getAcLogFileName(){ return( this->access_log_file_name_ ); }
+ bool checkRotateParameterComp(accesslog_rotate_map_type &rotatedata);
+
+ //bool is_rotate_default_flag();
- bool checkRotateParameterComp(accesslog_rotate_map_type &rotatedata);
-
- //bool is_rotate_default_flag();
-
};
};
//static int (*org_daemon)(int nochdir, int noclose) = NULL;
int daemon_ret = 0;
-int daemon( int nochdir, int noclose ){
- std::cout << "daemon" << std::endl;
- return daemon_ret;
+int daemon(int nochdir, int noclose)
+{
+ std::cout << "daemon" << std::endl;
+ return daemon_ret;
}
// handler_wrapper
-void* handler_wrapper( void* );
+void *handler_wrapper(void *);
// flags
int call_count_test_handler = 0; //test_handlerの呼出回数
//util
template< typename InternetProtocol >
-boost::asio::ip::basic_endpoint< InternetProtocol > string_to_endpoint( std::string str ){
- std::string::size_type pos = str.find( ":" );
- std::string hostname = str.substr( 0, pos );
- std::string portname = str.substr( pos+1, str.length() );
- boost::asio::io_service io_service;
- typename InternetProtocol::resolver resolver(io_service);
- typename InternetProtocol::resolver::query query( hostname, portname );
- typename InternetProtocol::resolver::iterator end;
- typename InternetProtocol::resolver::iterator itr = resolver.resolve( query );
- if( itr == end ) return typename InternetProtocol::endpoint();
- return *itr;
+boost::asio::ip::basic_endpoint< InternetProtocol > string_to_endpoint(std::string str)
+{
+ std::string::size_type pos = str.find(":");
+ std::string hostname = str.substr(0, pos);
+ std::string portname = str.substr(pos + 1, str.length());
+ boost::asio::io_service io_service;
+ typename InternetProtocol::resolver resolver(io_service);
+ typename InternetProtocol::resolver::query query(hostname, portname);
+ typename InternetProtocol::resolver::iterator end;
+ typename InternetProtocol::resolver::iterator itr = resolver.resolve(query);
+ if (itr == end) return typename InternetProtocol::endpoint();
+ return *itr;
}
//--tests--
bool l7vs::log_impl_acs_test::init(
- const bool rotate_default_flag,
- const appender_property& access_log_default_property,
- accesslog_rotate_map_type& rotatedata)
+ const bool rotate_default_flag,
+ const appender_property &access_log_default_property,
+ accesslog_rotate_map_type &rotatedata)
{
- bool result = false;
-
- //////////////////////////////////////////////////////////////
- // Unit Test パターン1 正常確認
- testflag = true;
- result =
- l7vs::logger_implement_access::init(
- rotate_default_flag,
- access_log_default_property,
- rotatedata);
- // 実行結果確認
- BOOST_CHECK( result );
- // rotate_default_flag 設定正常 :1
- BOOST_CHECK( rotate_default_flag );
- // 内部起動している
- // setAcLoggerConf は、この試験では、確認しない。通常に動作するだけでOK
- // rotate_default_flag 設定正常
- //////////////////////////////////////////////////////////////
- // Unit Test パターン2 Exception確認
- // 試験準備
- testflag = false;
-
- result =
- l7vs::logger_implement_access::init(
- rotate_default_flag,
- access_log_default_property,
- rotatedata);
- // 実行結果確認
- BOOST_CHECK( !result );
- // 内部起動している
- // setAcLoggerConf は、この試験では、確認しない。通常に動作するだけでOK
- // rotate_default_flag 設定正常
- //////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////
- // Unit Test パターン3 initialized済の時は、即時リターン
- // 試験準備
- initialized = true;
-
- result =
- l7vs::logger_implement_access::init(
- rotate_default_flag,
- access_log_default_property,
- rotatedata);
- // 実行結果確認
- BOOST_CHECK( result );
- // 内部起動している
- // setAcLoggerConf は、この試験では、確認しない。通常に動作するだけでOK
- // rotate_default_flag 設定正常
- //////////////////////////////////////////////////////////////
-
- return(true);
-
-}
+ bool result = false;
+
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン1 正常確認
+ testflag = true;
+ result =
+ l7vs::logger_implement_access::init(
+ rotate_default_flag,
+ access_log_default_property,
+ rotatedata);
+ // 実行結果確認
+ BOOST_CHECK(result);
+ // rotate_default_flag 設定正常 :1
+ BOOST_CHECK(rotate_default_flag);
+ // 内部起動している
+ // setAcLoggerConf は、この試験では、確認しない。通常に動作するだけでOK
+ // rotate_default_flag 設定正常
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン2 Exception確認
+ // 試験準備
+ testflag = false;
+
+ result =
+ l7vs::logger_implement_access::init(
+ rotate_default_flag,
+ access_log_default_property,
+ rotatedata);
+ // 実行結果確認
+ BOOST_CHECK(!result);
+ // 内部起動している
+ // setAcLoggerConf は、この試験では、確認しない。通常に動作するだけでOK
+ // rotate_default_flag 設定正常
+ //////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン3 initialized済の時は、即時リターン
+ // 試験準備
+ initialized = true;
+
+ result =
+ l7vs::logger_implement_access::init(
+ rotate_default_flag,
+ access_log_default_property,
+ rotatedata);
+ // 実行結果確認
+ BOOST_CHECK(result);
+ // 内部起動している
+ // setAcLoggerConf は、この試験では、確認しない。通常に動作するだけでOK
+ // rotate_default_flag 設定正常
+ //////////////////////////////////////////////////////////////
+
+ return(true);
+
+}
bool l7vs::log_impl_acs_test::setAcLoggerConf(
- const appender_property& access_log_default_property,
- accesslog_rotate_map_type& rotatedata)
+ const appender_property &access_log_default_property,
+ accesslog_rotate_map_type &rotatedata)
{
- // 本関数の試験は、2項目でよい。
- // 処理の関係上「rotate_default_flag」の設定値 ture/falseの2パターン
- // で、全てのルートを確認可能
- bool result = false;
- std::exception e;
-
- // 試験用に機能追加
- if( !testflag ){
- // 試験用に強制的にexceptionを発生させる。
+ // 本関数の試験は、2項目でよい。
+ // 処理の関係上「rotate_default_flag」の設定値 ture/falseの2パターン
+ // で、全てのルートを確認可能
+ bool result = false;
+ std::exception e;
+
+ // 試験用に機能追加
+ if (!testflag) {
+ // 試験用に強制的にexceptionを発生させる。
+ testflag = true;
+ throw e;
+ }
testflag = true;
- throw e;
- }
- testflag = true;
-
-
- //////////////////////////////////////////////////////////////
- // Unit Test パターン4 正常確認
- // rotate_default_flag = true
- rotate_default_flag = true;
- // set_appender実行
-
- result =
- l7vs::logger_implement_access::setAcLoggerConf(
- access_log_default_property,
- rotatedata);
- // 実行結果確認
- BOOST_CHECK( result );
- //////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////
- // Unit Test パターン5 正常確認
- // rotate_default_flag = false
- rotate_default_flag = false;
- // acccess_log_LogrotateParamCheck 実行結果 false にする
- // set_appender未実行
- result =
- l7vs::logger_implement_access::setAcLoggerConf(
- access_log_default_property,
- rotatedata);
- // 実行結果確認
- BOOST_CHECK( !result );
- //////////////////////////////////////////////////////////////
-
- return(true);
+
+
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン4 正常確認
+ // rotate_default_flag = true
+ rotate_default_flag = true;
+ // set_appender実行
+
+ result =
+ l7vs::logger_implement_access::setAcLoggerConf(
+ access_log_default_property,
+ rotatedata);
+ // 実行結果確認
+ BOOST_CHECK(result);
+ //////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン5 正常確認
+ // rotate_default_flag = false
+ rotate_default_flag = false;
+ // acccess_log_LogrotateParamCheck 実行結果 false にする
+ // set_appender未実行
+ result =
+ l7vs::logger_implement_access::setAcLoggerConf(
+ access_log_default_property,
+ rotatedata);
+ // 実行結果確認
+ BOOST_CHECK(!result);
+ //////////////////////////////////////////////////////////////
+
+ return(true);
}
bool l7vs::log_impl_acs_test::other()
{
-
- //////////////////////////////////////////////////////////////
- // Unit Test パターン6 正常確認
- // access_cnt = 1
- l7vs::logger_implement_access::addRef();
- // 実行結果確認
- BOOST_CHECK( 2 == access_cnt );
- //////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////
- // Unit Test パターン7 正常確認
- // access_cnt = 2
- l7vs::logger_implement_access::releaseRef();
- // 実行結果確認
- BOOST_CHECK( 1 == access_cnt );
- //////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////
- // Unit Test パターン8 正常確認
- // access_cnt = 2
- std::string name =
+
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン6 正常確認
+ // access_cnt = 1
+ l7vs::logger_implement_access::addRef();
+ // 実行結果確認
+ BOOST_CHECK(2 == access_cnt);
+ //////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン7 正常確認
+ // access_cnt = 2
+ l7vs::logger_implement_access::releaseRef();
+ // 実行結果確認
+ BOOST_CHECK(1 == access_cnt);
+ //////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン8 正常確認
+ // access_cnt = 2
+ std::string name =
l7vs::logger_implement_access::getAcLogFileName();
-std::cout << "filename:" << name << std::endl;
- // 実行結果確認
- BOOST_CHECK_EQUAL( name, "/tmp/dat" );
+ std::cout << "filename:" << name << std::endl;
+ // 実行結果確認
+ BOOST_CHECK_EQUAL(name, "/tmp/dat");
- return(true);
+ return(true);
}
bool l7vs::log_impl_acs_test::checkRotateParameterComp(
- accesslog_rotate_map_type &rotatedata)
+ accesslog_rotate_map_type &rotatedata)
{
- bool result =false;
- //////////////////////////////////////////////////////////////
- // Unit Test パターン9 正常確認
- rotatedata.insert( std::make_pair("num1", "arg1"));
- rotatedata.insert( std::make_pair("num2", "arg2"));
- rotatedata.insert( std::make_pair("num3", "arg3"));
- rotatedata.insert( std::make_pair("num4", "arg4"));
- rotatedata.insert( std::make_pair("num5", "arg5"));
-
- aclog_args.insert( std::make_pair("num1", "arg1"));
- aclog_args.insert( std::make_pair("num2", "arg2"));
- aclog_args.insert( std::make_pair("num3", "arg3"));
- aclog_args.insert( std::make_pair("num4", "arg4"));
- aclog_args.insert( std::make_pair("num5", "arg5"));
- result =
- l7vs::logger_implement_access::checkRotateParameterComp(
- rotatedata);
- // 実行結果確認
- BOOST_CHECK( true == result );
- rotatedata.clear();
- aclog_args.clear();
- //////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////
- // Unit Test パターン10 正常確認
- rotatedata.insert( std::make_pair("num1", "arg1"));
- rotatedata.insert( std::make_pair("num2", "argERR"));
- rotatedata.insert( std::make_pair("num3", "arg3"));
- rotatedata.insert( std::make_pair("num4", "arg4"));
- rotatedata.insert( std::make_pair("num5", "arg5"));
-
- aclog_args.insert( std::make_pair("num1", "arg1"));
- aclog_args.insert( std::make_pair("num2", "arg2"));
- aclog_args.insert( std::make_pair("num3", "arg3"));
- aclog_args.insert( std::make_pair("num4", "arg4"));
- aclog_args.insert( std::make_pair("num5", "arg5"));
- result =
- l7vs::logger_implement_access::checkRotateParameterComp(
- rotatedata);
- // 実行結果確認
- BOOST_CHECK( false == result );
- rotatedata.clear();
- aclog_args.clear();
- //////////////////////////////////////////////////////////////
- // Unit Test パターン11 正常確認
- rotatedata.insert( std::make_pair("num1", "arg1"));
- rotatedata.insert( std::make_pair("num2", "arg2"));
- rotatedata.insert( std::make_pair("num3", "arg3"));
- rotatedata.insert( std::make_pair("num4", "arg4"));
- rotatedata.insert( std::make_pair("num5", "arg5"));
-
- result =
- l7vs::logger_implement_access::checkRotateParameterComp(
- rotatedata);
- // 実行結果確認
- BOOST_CHECK( false == result );
- rotatedata.clear();
- aclog_args.clear();
-
- return(true);
+ bool result = false;
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン9 正常確認
+ rotatedata.insert(std::make_pair("num1", "arg1"));
+ rotatedata.insert(std::make_pair("num2", "arg2"));
+ rotatedata.insert(std::make_pair("num3", "arg3"));
+ rotatedata.insert(std::make_pair("num4", "arg4"));
+ rotatedata.insert(std::make_pair("num5", "arg5"));
+
+ aclog_args.insert(std::make_pair("num1", "arg1"));
+ aclog_args.insert(std::make_pair("num2", "arg2"));
+ aclog_args.insert(std::make_pair("num3", "arg3"));
+ aclog_args.insert(std::make_pair("num4", "arg4"));
+ aclog_args.insert(std::make_pair("num5", "arg5"));
+ result =
+ l7vs::logger_implement_access::checkRotateParameterComp(
+ rotatedata);
+ // 実行結果確認
+ BOOST_CHECK(true == result);
+ rotatedata.clear();
+ aclog_args.clear();
+ //////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン10 正常確認
+ rotatedata.insert(std::make_pair("num1", "arg1"));
+ rotatedata.insert(std::make_pair("num2", "argERR"));
+ rotatedata.insert(std::make_pair("num3", "arg3"));
+ rotatedata.insert(std::make_pair("num4", "arg4"));
+ rotatedata.insert(std::make_pair("num5", "arg5"));
+
+ aclog_args.insert(std::make_pair("num1", "arg1"));
+ aclog_args.insert(std::make_pair("num2", "arg2"));
+ aclog_args.insert(std::make_pair("num3", "arg3"));
+ aclog_args.insert(std::make_pair("num4", "arg4"));
+ aclog_args.insert(std::make_pair("num5", "arg5"));
+ result =
+ l7vs::logger_implement_access::checkRotateParameterComp(
+ rotatedata);
+ // 実行結果確認
+ BOOST_CHECK(false == result);
+ rotatedata.clear();
+ aclog_args.clear();
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン11 正常確認
+ rotatedata.insert(std::make_pair("num1", "arg1"));
+ rotatedata.insert(std::make_pair("num2", "arg2"));
+ rotatedata.insert(std::make_pair("num3", "arg3"));
+ rotatedata.insert(std::make_pair("num4", "arg4"));
+ rotatedata.insert(std::make_pair("num5", "arg5"));
+
+ result =
+ l7vs::logger_implement_access::checkRotateParameterComp(
+ rotatedata);
+ // 実行結果確認
+ BOOST_CHECK(false == result);
+ rotatedata.clear();
+ aclog_args.clear();
+
+ return(true);
}
inline void l7vs::log_impl_acs_test::putLog(
- const std::string& vsinfo,
- const std::string& cl_con_org,
- const std::string& rs_con_org,
- const std::string& rs_con_dest,
- const std::string& msg)
+ const std::string &vsinfo,
+ const std::string &cl_con_org,
+ const std::string &rs_con_org,
+ const std::string &rs_con_dest,
+ const std::string &msg)
{
//#define LOGGER_LAYOUT "%d{%Y/%m/%d %H:%M:%S} [%p] %c %m %t %F:%L%n"
#define LOGGER_LAYOUT "%d{%Y/%m/%d %H:%M:%S} [%p] %m%n"
- log4cxx::LoggerPtr root = log4cxx::Logger::getRootLogger();
- log4cxx::LayoutPtr layout = new log4cxx::PatternLayout(LOGGER_LAYOUT);
- // create console appender from layout
- log4cxx::WriterAppender* consoleAppender
- = new log4cxx::ConsoleAppender(
- layout,
- log4cxx::ConsoleAppender::getSystemErr() );
- root->addAppender(consoleAppender);
- //////////////////////////////////////////////////////////////
- // Unit Test パターン12 正常確認
- l7vs::logger_implement_access::putLog(
- vsinfo,
- cl_con_org,
- rs_con_org,
- rs_con_dest,
- msg);
- // ログフォーマット:
- // 2008/12/07 20:08:31 [INFO] [[AccessLog] (CL)192.168.2.1 --> 192.168.2.2 --UM-- 192.168.1.101:37259 --> (RS-DST)192.168.1.106:80 ]
- // (CL)192.168.2.1
- // 192.168.2.2
- // 192.168.1.101:37259
- // (RS-DST)192.168.1.106:80 ]
- std::cout << "ログフォーマット 目で確認" << std::endl;
- std::cout <<
- "2008/12/07 20:08:31 [INFO] [ [AccessLog] (CL)192.168.2.1:9898 --> 192.168.2.2:80 --UM-- 192.168.1.101:37259 --> (RS-DST)192.168.1.106:80 msghogehotge-piiiiii]"
- << std::endl;
- //////////////////////////////////////////////////////////////
- // Unit Test パターン13 Exception確認
- l7vs::logger_implement_access::putLog(
- vsinfo,
- cl_con_org,
- rs_con_org,
- rs_con_dest,
- msg);
- // ログフォーマット:
- std::cout << "実行不可" << std::endl;
+ log4cxx::LoggerPtr root = log4cxx::Logger::getRootLogger();
+ log4cxx::LayoutPtr layout = new log4cxx::PatternLayout(LOGGER_LAYOUT);
+ // create console appender from layout
+ log4cxx::WriterAppender *consoleAppender
+ = new log4cxx::ConsoleAppender(
+ layout,
+ log4cxx::ConsoleAppender::getSystemErr());
+ root->addAppender(consoleAppender);
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン12 正常確認
+ l7vs::logger_implement_access::putLog(
+ vsinfo,
+ cl_con_org,
+ rs_con_org,
+ rs_con_dest,
+ msg);
+ // ログフォーマット:
+ // 2008/12/07 20:08:31 [INFO] [[AccessLog] (CL)192.168.2.1 --> 192.168.2.2 --UM-- 192.168.1.101:37259 --> (RS-DST)192.168.1.106:80 ]
+ // (CL)192.168.2.1
+ // 192.168.2.2
+ // 192.168.1.101:37259
+ // (RS-DST)192.168.1.106:80 ]
+ std::cout << "ログフォーマット 目で確認" << std::endl;
+ std::cout <<
+ "2008/12/07 20:08:31 [INFO] [ [AccessLog] (CL)192.168.2.1:9898 --> 192.168.2.2:80 --UM-- 192.168.1.101:37259 --> (RS-DST)192.168.1.106:80 msghogehotge-piiiiii]"
+ << std::endl;
+ //////////////////////////////////////////////////////////////
+ // Unit Test パターン13 Exception確認
+ l7vs::logger_implement_access::putLog(
+ vsinfo,
+ cl_con_org,
+ rs_con_org,
+ rs_con_dest,
+ msg);
+ // ログフォーマット:
+ std::cout << "実行不可" << std::endl;
}
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
void logger_main()
{
- std::string fname = "/tmp/dat";
- // new
- l7vs::log_impl_acs_test log_inst(fname);
- l7vs::appender_property access_log_default_property;
- accesslog_rotate_map_type rotatedata;
-
- // test 1,2
- log_inst.init(
- true,
- access_log_default_property,
- rotatedata);
-
- // test 3,4
- log_inst.setAcLoggerConf(
- access_log_default_property,
- rotatedata);
-
- // test 5,6,7
- log_inst.other();
-
- // test 8,9,10
- rotatedata.clear();
-
- log_inst.checkRotateParameterComp(rotatedata);
-
- log_inst.putLog(
- "192.168.2.2:80",
- "192.168.2.1:9898",
- "192.168.1.101:37259",
- "192.168.1.106:80",
- "msghogehotge-piiiiii");
-
- // delete log_inst;
+ std::string fname = "/tmp/dat";
+ // new
+ l7vs::log_impl_acs_test log_inst(fname);
+ l7vs::appender_property access_log_default_property;
+ accesslog_rotate_map_type rotatedata;
+
+ // test 1,2
+ log_inst.init(
+ true,
+ access_log_default_property,
+ rotatedata);
+
+ // test 3,4
+ log_inst.setAcLoggerConf(
+ access_log_default_property,
+ rotatedata);
+
+ // test 5,6,7
+ log_inst.other();
+
+ // test 8,9,10
+ rotatedata.clear();
+
+ log_inst.checkRotateParameterComp(rotatedata);
+
+ log_inst.putLog(
+ "192.168.2.2:80",
+ "192.168.2.1:9898",
+ "192.168.1.101:37259",
+ "192.168.1.106:80",
+ "msghogehotge-piiiiii");
+
+ // delete log_inst;
}
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // org_daemon = (int (*)(int, int)) dlsym(RTLD_NEXT, "daemon");
+ // org_daemon = (int (*)(int, int)) dlsym(RTLD_NEXT, "daemon");
- test_suite* ts = BOOST_TEST_SUITE( "l7vsd class test" );
+ test_suite *ts = BOOST_TEST_SUITE("l7vsd class test");
- // l7vs::log_impl_acs_test log_impl_acs_test_instance("/tmp/work");
+ // l7vs::log_impl_acs_test log_impl_acs_test_instance("/tmp/work");
- //logger_instance.loadConf();
+ //logger_instance.loadConf();
- ts->add( BOOST_TEST_CASE( &logger_main ) );
+ ts->add(BOOST_TEST_CASE(&logger_main));
- return ts;
+ return ts;
}
////////////////////////////////////////////////////////////////////
LOG_ROTATION_TAG logger_logrotate_utility::check_rotate_type(const std::string &rotation_type)
{
- LOG_ROTATION_TAG rotation_value = LOG_ROT_SIZE;
-
- // get rotation
- if( rotation_type != "" ){
- if ("size" == rotation_type) rotation_value = LOG_ROT_SIZE;
- else if ("date" == rotation_type) rotation_value = LOG_ROT_DATE;
- else if ("datesize" == rotation_type) rotation_value = LOG_ROT_DATESIZE;
- else {
- std::stringstream ss;
- ss << "Invalid Log Rotation Setting : " << rotation_type;
- logger_logrotate_utility::loglotation_utility_logic_error( 51, ss.str(), __FILE__, __LINE__ );
+ LOG_ROTATION_TAG rotation_value = LOG_ROT_SIZE;
+
+ // get rotation
+ if (rotation_type != "") {
+ if ("size" == rotation_type) rotation_value = LOG_ROT_SIZE;
+ else if ("date" == rotation_type) rotation_value = LOG_ROT_DATE;
+ else if ("datesize" == rotation_type) rotation_value = LOG_ROT_DATESIZE;
+ else {
+ std::stringstream ss;
+ ss << "Invalid Log Rotation Setting : " << rotation_type;
+ logger_logrotate_utility::loglotation_utility_logic_error(51, ss.str(), __FILE__, __LINE__);
+ }
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(52, "Not Exist Log Rotation Setting.", __FILE__, __LINE__);
}
- }
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 52, "Not Exist Log Rotation Setting.", __FILE__, __LINE__ );
- }
-
- return( rotation_value );
+
+ return(rotation_value);
}
unsigned int logger_logrotate_utility::check_max_backup_index(const std::string &max_backup_index)
{
- unsigned int max_backup_index_value = 0;
-
- if( max_backup_index != "" ) {
- try {
- max_backup_index_value = boost::lexical_cast<unsigned int>(max_backup_index);
- }
- catch (const boost::bad_lexical_cast& bc) {
- std::stringstream ss;
- ss << "Invalid MaxBackupIndex Value : " << max_backup_index << ".";
- logger_logrotate_utility::loglotation_utility_logic_error( 53, ss.str(), __FILE__, __LINE__ );
- }
- if (LOGGER_BACKUP_INDEX_LOWER_LIMIT > max_backup_index_value) {
- std::stringstream ss;
- ss << "Max Backup Index must at least " << LOGGER_BACKUP_INDEX_LOWER_LIMIT << ".";
- logger_logrotate_utility::loglotation_utility_logic_error( 54, ss.str(), __FILE__, __LINE__ );
- }
- if (LOGGER_BACKUP_INDEX_LIMIT < max_backup_index_value) {
- std::stringstream ss;
- ss << "Max Backup Index must at most " << LOGGER_BACKUP_INDEX_LIMIT << ".";
- logger_logrotate_utility::loglotation_utility_logic_error( 55, ss.str(), __FILE__, __LINE__ );
+ unsigned int max_backup_index_value = 0;
+
+ if (max_backup_index != "") {
+ try {
+ max_backup_index_value = boost::lexical_cast<unsigned int>(max_backup_index);
+ } catch (const boost::bad_lexical_cast &bc) {
+ std::stringstream ss;
+ ss << "Invalid MaxBackupIndex Value : " << max_backup_index << ".";
+ logger_logrotate_utility::loglotation_utility_logic_error(53, ss.str(), __FILE__, __LINE__);
+ }
+ if (LOGGER_BACKUP_INDEX_LOWER_LIMIT > max_backup_index_value) {
+ std::stringstream ss;
+ ss << "Max Backup Index must at least " << LOGGER_BACKUP_INDEX_LOWER_LIMIT << ".";
+ logger_logrotate_utility::loglotation_utility_logic_error(54, ss.str(), __FILE__, __LINE__);
+ }
+ if (LOGGER_BACKUP_INDEX_LIMIT < max_backup_index_value) {
+ std::stringstream ss;
+ ss << "Max Backup Index must at most " << LOGGER_BACKUP_INDEX_LIMIT << ".";
+ logger_logrotate_utility::loglotation_utility_logic_error(55, ss.str(), __FILE__, __LINE__);
+ }
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(56, "Not Exist Log MaxBackupIndex Setting.", __FILE__, __LINE__);
}
- }
- else {
- logger_logrotate_utility::loglotation_utility_logic_error( 56, "Not Exist Log MaxBackupIndex Setting.", __FILE__, __LINE__ );
- }
- return( max_backup_index_value );
+ return(max_backup_index_value);
}
unsigned long long logger_logrotate_utility::check_max_file_size(const std::string &max_file_size)
{
- unsigned long long max_file_size_value = 0;
-
- if( max_file_size == "" ) {
- logger_logrotate_utility::loglotation_utility_logic_error( 57, "Not Exist Log MaxFileSize Setting.", __FILE__, __LINE__ );
- }
-
- std::string size_val;
- int maxFileSizeStr_length = max_file_size.length();
- if( maxFileSizeStr_length <= 0 ) {
- logger_logrotate_utility::loglotation_utility_logic_error( 58, "Invalid FileSize Value.", __FILE__, __LINE__ );
- }
-
- std::string last_str = max_file_size.substr(maxFileSizeStr_length - 1, 1);
- // when unit was specified
- if (("K" == last_str) || ("M" == last_str) || ("G" == last_str))
- size_val = max_file_size.substr(0, max_file_size.length() - 1);
- else
- size_val = max_file_size;
-
- try {
- max_file_size_value = boost::lexical_cast<size_t>(size_val);
- }
- catch (const boost::bad_lexical_cast& bc){
- logger_logrotate_utility::loglotation_utility_logic_error( 59, "Invalid FileSize Value.", __FILE__, __LINE__ );
- }
-
- if ("K" == last_str) {
- if ((ULLONG_MAX / 1024) < max_file_size_value){
- logger_logrotate_utility::loglotation_utility_logic_error( 60, "Invalid FileSize Value.", __FILE__, __LINE__);
+ unsigned long long max_file_size_value = 0;
+
+ if (max_file_size == "") {
+ logger_logrotate_utility::loglotation_utility_logic_error(57, "Not Exist Log MaxFileSize Setting.", __FILE__, __LINE__);
}
- max_file_size_value = max_file_size_value * 1024;
- }
- else if ("M" == last_str) {
- if ((ULLONG_MAX / 1024 / 1024) < max_file_size_value)
- logger_logrotate_utility::loglotation_utility_logic_error( 61, "Invalid FileSize Value.", __FILE__, __LINE__);
- max_file_size_value = max_file_size_value * 1024 * 1024;
- }
- else if ("G" == last_str) {
- if ((ULLONG_MAX / 1024 / 1024 / 1024) < max_file_size_value)
- logger_logrotate_utility::loglotation_utility_logic_error( 62, "Invalid FileSize Value.", __FILE__, __LINE__);
- max_file_size_value = max_file_size_value * 1024 * 1024 * 1024;
- }
- if (LOGGER_FILESIZE_LOWER_LIMIT > max_file_size_value){
- int limit = LOGGER_FILESIZE_LOWER_LIMIT;
- std::ostringstream oss;
- oss << "FileSize must at least " << limit << " bytes.";
- logger_logrotate_utility::loglotation_utility_logic_error( 63, oss.str(), __FILE__, __LINE__);
- }
-
-
- return( max_file_size_value );
-}
-LOG_ROTATION_TIMING_TAG logger_logrotate_utility::check_rotate_timing( const std::string &rotation_timing )
-{
+ std::string size_val;
+ int maxFileSizeStr_length = max_file_size.length();
+ if (maxFileSizeStr_length <= 0) {
+ logger_logrotate_utility::loglotation_utility_logic_error(58, "Invalid FileSize Value.", __FILE__, __LINE__);
+ }
- LOG_ROTATION_TIMING_TAG rotation_timing_value = LOG_TIM_YEAR;
-
- if( rotation_timing != "" ){
- if ("year" == rotation_timing) rotation_timing_value = LOG_TIM_YEAR;
- else if ("month" == rotation_timing) rotation_timing_value = LOG_TIM_MONTH;
- else if ("week" == rotation_timing) rotation_timing_value = LOG_TIM_WEEK;
- else if ("date" == rotation_timing) rotation_timing_value = LOG_TIM_DATE;
- else if ("hour" == rotation_timing) rotation_timing_value = LOG_TIM_HOUR;
- else logger_logrotate_utility::loglotation_utility_logic_error( 64, "Invalid Log RotationTiming Setting.", __FILE__, __LINE__);
- }
- else{ logger_logrotate_utility::loglotation_utility_logic_error( 65, "Not Exist Log RotaionTiming Setting.", __FILE__, __LINE__);}
-
-
- return( rotation_timing_value );
-}
+ std::string last_str = max_file_size.substr(maxFileSizeStr_length - 1, 1);
+ // when unit was specified
+ if (("K" == last_str) || ("M" == last_str) || ("G" == last_str))
+ size_val = max_file_size.substr(0, max_file_size.length() - 1);
+ else
+ size_val = max_file_size;
-std::string logger_logrotate_utility::check_rotate_timing_value(const std::string rotation_timing_value_key,const LOG_ROTATION_TIMING_TAG rotation_timing)
-{
- std::string rotation_timing_value_value = "";
- std::string ret = rotation_timing_value_key;
-
- if(LOG_TIM_YEAR == rotation_timing ){
- if( rotation_timing_value_key != "" ){
- std::string::size_type fpos = 0;
- std::string::size_type rpos = 0;
- int month = 0;
- int date = 0;
- int hour = 0;
- int minute = 0;
- // find month
- rpos = ret.find_first_of('/', fpos);
- if (std::string::npos != rpos) {
- std::string monthStr = ret.substr(fpos, rpos - fpos);
- try {
- month = boost::lexical_cast<int>(monthStr);
- }
- catch (const boost::bad_lexical_cast& bc) {
- logger_logrotate_utility::loglotation_utility_logic_error( 66, "Parse Timing Year Error.", __FILE__, __LINE__);
- }
- if (1 > month || month > 12) {
- logger_logrotate_utility::loglotation_utility_logic_error( 67, "Parse Timing Year Error.", __FILE__, __LINE__);
- }
- fpos = rpos + 1;
- // find date
- rpos = ret.find_first_of(' ', fpos);
- if (std::string::npos != rpos){
- std::string dateStr = ret.substr(fpos, rpos - fpos);
- try {
- date = boost::lexical_cast<int>(dateStr);
- }
- catch (const boost::bad_lexical_cast& bc) {
- logger_logrotate_utility::loglotation_utility_logic_error( 68, "Parse Timing Year Error.", __FILE__, __LINE__);
- }
- }
- if (1 > date || date > 31) logger_logrotate_utility::loglotation_utility_logic_error( 69, "Parse Timing Year Error.", __FILE__, __LINE__);
-
- int dates[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
- if (date > dates[month - 1]) logger_logrotate_utility::loglotation_utility_logic_error( 70, "Parse Timing Year Error.", __FILE__, __LINE__);
-
- fpos = rpos + 1;
- // find hour
- rpos = ret.find_first_of(':', fpos);
- if(std::string::npos != rpos) {
- std::string hourStr = ret.substr(fpos, rpos - fpos);
- try{
- hour = boost::lexical_cast<int>(hourStr);
- }
- catch(const boost::bad_lexical_cast& bc){
- logger_logrotate_utility::loglotation_utility_logic_error( 71, "Parse Timing Year Error.", __FILE__, __LINE__);
- }
- if(0 > hour || hour > 23) logger_logrotate_utility::loglotation_utility_logic_error( 72, "Parse Timing Year Error.", __FILE__, __LINE__);
-
- // minute
- std::string minuteStr = ret.substr(rpos + 1);
- try {
- minute = boost::lexical_cast<int>(minuteStr);
- }
- catch(const boost::bad_lexical_cast& bc){
- logger_logrotate_utility::loglotation_utility_logic_error( 73, "Parse Timing Year Error.", __FILE__, __LINE__);
- }
- if (0 > minute || minute > 59) logger_logrotate_utility::loglotation_utility_logic_error( 74, "Parse Timing Year Error.", __FILE__, __LINE__);
- }
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 75, "Parse Timing Year Error.", __FILE__, __LINE__);
+ try {
+ max_file_size_value = boost::lexical_cast<size_t>(size_val);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(59, "Invalid FileSize Value.", __FILE__, __LINE__);
+ }
+
+ if ("K" == last_str) {
+ if ((ULLONG_MAX / 1024) < max_file_size_value) {
+ logger_logrotate_utility::loglotation_utility_logic_error(60, "Invalid FileSize Value.", __FILE__, __LINE__);
}
- }
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 76, "Parse Timing Year Error.", __FILE__, __LINE__);
- }
+ max_file_size_value = max_file_size_value * 1024;
+ } else if ("M" == last_str) {
+ if ((ULLONG_MAX / 1024 / 1024) < max_file_size_value)
+ logger_logrotate_utility::loglotation_utility_logic_error(61, "Invalid FileSize Value.", __FILE__, __LINE__);
+ max_file_size_value = max_file_size_value * 1024 * 1024;
+ } else if ("G" == last_str) {
+ if ((ULLONG_MAX / 1024 / 1024 / 1024) < max_file_size_value)
+ logger_logrotate_utility::loglotation_utility_logic_error(62, "Invalid FileSize Value.", __FILE__, __LINE__);
+ max_file_size_value = max_file_size_value * 1024 * 1024 * 1024;
+ }
+ if (LOGGER_FILESIZE_LOWER_LIMIT > max_file_size_value) {
+ int limit = LOGGER_FILESIZE_LOWER_LIMIT;
+ std::ostringstream oss;
+ oss << "FileSize must at least " << limit << " bytes.";
+ logger_logrotate_utility::loglotation_utility_logic_error(63, oss.str(), __FILE__, __LINE__);
+ }
+
- // format to internal rotation timing value expresson
- std::ostringstream oss;
- oss << std::setfill('0') << std::setw(2) << month
- << std::setfill('0') << std::setw(2) << date
- << std::setfill('0') << std::setw(2) << hour
- << std::setfill('0') << std::setw(2) << minute;
+ return(max_file_size_value);
+}
- rotation_timing_value_value = oss.str();
+LOG_ROTATION_TIMING_TAG logger_logrotate_utility::check_rotate_timing(const std::string &rotation_timing)
+{
+ LOG_ROTATION_TIMING_TAG rotation_timing_value = LOG_TIM_YEAR;
+
+ if (rotation_timing != "") {
+ if ("year" == rotation_timing) rotation_timing_value = LOG_TIM_YEAR;
+ else if ("month" == rotation_timing) rotation_timing_value = LOG_TIM_MONTH;
+ else if ("week" == rotation_timing) rotation_timing_value = LOG_TIM_WEEK;
+ else if ("date" == rotation_timing) rotation_timing_value = LOG_TIM_DATE;
+ else if ("hour" == rotation_timing) rotation_timing_value = LOG_TIM_HOUR;
+ else logger_logrotate_utility::loglotation_utility_logic_error(64, "Invalid Log RotationTiming Setting.", __FILE__, __LINE__);
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(65, "Not Exist Log RotaionTiming Setting.", __FILE__, __LINE__);
}
- else {
- logger_logrotate_utility::loglotation_utility_logic_error( 77, "Not Exist Log RotaionTiming Year Setting.", __FILE__, __LINE__);
- }
- }
-
-
- if (LOG_TIM_MONTH == rotation_timing ) {
- if( rotation_timing_value_key != "" ){
- std::string::size_type fpos = 0;
- std::string::size_type rpos = 0;
- int date = 0;
- int hour = 0;
- int minute = 0;
- // find day
- rpos = ret.find_first_of(' ', fpos);
- if(std::string::npos != rpos) {
- std::string dateStr = ret.substr(fpos, rpos - fpos);
- try{
- date = boost::lexical_cast<int>(dateStr);
- }
- catch(const boost::bad_lexical_cast& bc) {
- logger_logrotate_utility::loglotation_utility_logic_error( 78, "Parse Timing Month Error.", __FILE__, __LINE__);
- }
- if(1 > date || date > 31) {
- logger_logrotate_utility::loglotation_utility_logic_error( 79, "Parse Timing Month Error.", __FILE__, __LINE__);
- }
- fpos = rpos + 1;
- // find hour
- rpos = ret.find_first_of(':', fpos);
- if(std::string::npos != rpos) {
- std::string hourStr = ret.substr(fpos, rpos - fpos);
- try{
- hour = boost::lexical_cast<int>(hourStr);
- }
- catch(const boost::bad_lexical_cast& bc) {
- logger_logrotate_utility::loglotation_utility_logic_error( 80, "Parse Timing Month Error.", __FILE__, __LINE__);
- }
- if(0 > hour || hour > 23) {
- logger_logrotate_utility::loglotation_utility_logic_error( 81, "Parse Timing Month Error.", __FILE__, __LINE__);
- }
- // minute
- std::string minuteStr = ret.substr(rpos + 1);
- try{
- minute = boost::lexical_cast<int>(minuteStr);
- }
- catch(const boost::bad_lexical_cast& bc) {
- logger_logrotate_utility::loglotation_utility_logic_error( 82, "Parse Timing Month Error.", __FILE__, __LINE__);
- }
- if(0 > minute || minute > 59) {
- logger_logrotate_utility::loglotation_utility_logic_error( 83, "Parse Timing Month Error.", __FILE__, __LINE__);
- }
- }
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 84, "Parse Timing Month Error.", __FILE__, __LINE__);
- }
- }
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 85, "Parse Timing Month Error.", __FILE__, __LINE__);
- }
- // format to internal rotation timing value expresson
- std::stringstream oss;
- oss << std::setfill('0') << std::setw(2) << date
- << std::setfill('0') << std::setw(2) << hour
- << std::setfill('0') << std::setw(2) << minute;
- rotation_timing_value_value = oss.str();
+ return(rotation_timing_value);
+}
- }
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 86, "Not Exist Log RotaionTiming Month Setting.", __FILE__, __LINE__);
- }
- }
-
- if(LOG_TIM_WEEK == rotation_timing ){
- if( rotation_timing_value_key != "" ){
- std::string::size_type fpos = 0;
- std::string::size_type rpos = 0;
- int week = 0;
- int hour = 0;
- int minute = 0;
- rpos = ret.find_first_of(' ', fpos);
- //find week
- if (std::string::npos != rpos) {
- std::string weekStr = ret.substr(fpos, rpos - fpos);
-
- if ("sun" == weekStr) week = 0;
- else if("mon" == weekStr) week = 1;
- else if("tue" == weekStr) week = 2;
- else if("wed" == weekStr) week = 3;
- else if("thu" == weekStr) week = 4;
- else if("fri" == weekStr) week = 5;
- else if("sat" == weekStr) week = 6;
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 87, "Parse Timing Week Error.", __FILE__, __LINE__);
- }
- fpos = rpos + 1;
- // find hour
- rpos = ret.find_first_of(':', fpos);
- if(std::string::npos != rpos) {
- std::string hourStr = ret.substr(fpos, rpos - fpos);
- try{
- hour = boost::lexical_cast<int>(hourStr);
- }
- catch (const boost::bad_lexical_cast& bc) {
- logger_logrotate_utility::loglotation_utility_logic_error( 88, "Parse Timing Week Error.", __FILE__, __LINE__);
- }
- if(0 > hour || hour > 23) {
- logger_logrotate_utility::loglotation_utility_logic_error( 89, "Parse Timing Week Error.", __FILE__, __LINE__);
- }
- // minute
- std::string minuteStr = ret.substr(rpos + 1);
- try{
- minute = boost::lexical_cast<int>(minuteStr);
- }
- catch(const boost::bad_lexical_cast& bc) {
- logger_logrotate_utility::loglotation_utility_logic_error( 90, "Parse Timing Week Error.", __FILE__, __LINE__);
- }
- if(0 > minute || minute > 59) {
- logger_logrotate_utility::loglotation_utility_logic_error( 91, "Parse Timing Week Error.", __FILE__, __LINE__);
- }
- }
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 92, "Parse Timing Week Error.", __FILE__, __LINE__);
+std::string logger_logrotate_utility::check_rotate_timing_value(const std::string rotation_timing_value_key, const LOG_ROTATION_TIMING_TAG rotation_timing)
+{
+ std::string rotation_timing_value_value = "";
+ std::string ret = rotation_timing_value_key;
+
+ if (LOG_TIM_YEAR == rotation_timing) {
+ if (rotation_timing_value_key != "") {
+ std::string::size_type fpos = 0;
+ std::string::size_type rpos = 0;
+ int month = 0;
+ int date = 0;
+ int hour = 0;
+ int minute = 0;
+ // find month
+ rpos = ret.find_first_of('/', fpos);
+ if (std::string::npos != rpos) {
+ std::string monthStr = ret.substr(fpos, rpos - fpos);
+ try {
+ month = boost::lexical_cast<int>(monthStr);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(66, "Parse Timing Year Error.", __FILE__, __LINE__);
+ }
+ if (1 > month || month > 12) {
+ logger_logrotate_utility::loglotation_utility_logic_error(67, "Parse Timing Year Error.", __FILE__, __LINE__);
+ }
+ fpos = rpos + 1;
+ // find date
+ rpos = ret.find_first_of(' ', fpos);
+ if (std::string::npos != rpos) {
+ std::string dateStr = ret.substr(fpos, rpos - fpos);
+ try {
+ date = boost::lexical_cast<int>(dateStr);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(68, "Parse Timing Year Error.", __FILE__, __LINE__);
+ }
+ }
+ if (1 > date || date > 31) logger_logrotate_utility::loglotation_utility_logic_error(69, "Parse Timing Year Error.", __FILE__, __LINE__);
+
+ int dates[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
+ if (date > dates[month - 1]) logger_logrotate_utility::loglotation_utility_logic_error(70, "Parse Timing Year Error.", __FILE__, __LINE__);
+
+ fpos = rpos + 1;
+ // find hour
+ rpos = ret.find_first_of(':', fpos);
+ if (std::string::npos != rpos) {
+ std::string hourStr = ret.substr(fpos, rpos - fpos);
+ try {
+ hour = boost::lexical_cast<int>(hourStr);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(71, "Parse Timing Year Error.", __FILE__, __LINE__);
+ }
+ if (0 > hour || hour > 23) logger_logrotate_utility::loglotation_utility_logic_error(72, "Parse Timing Year Error.", __FILE__, __LINE__);
+
+ // minute
+ std::string minuteStr = ret.substr(rpos + 1);
+ try {
+ minute = boost::lexical_cast<int>(minuteStr);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(73, "Parse Timing Year Error.", __FILE__, __LINE__);
+ }
+ if (0 > minute || minute > 59) logger_logrotate_utility::loglotation_utility_logic_error(74, "Parse Timing Year Error.", __FILE__, __LINE__);
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(75, "Parse Timing Year Error.", __FILE__, __LINE__);
+ }
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(76, "Parse Timing Year Error.", __FILE__, __LINE__);
+ }
+
+ // format to internal rotation timing value expresson
+ std::ostringstream oss;
+ oss << std::setfill('0') << std::setw(2) << month
+ << std::setfill('0') << std::setw(2) << date
+ << std::setfill('0') << std::setw(2) << hour
+ << std::setfill('0') << std::setw(2) << minute;
+
+ rotation_timing_value_value = oss.str();
+
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(77, "Not Exist Log RotaionTiming Year Setting.", __FILE__, __LINE__);
}
- }
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 93, "Parse Timing Week Error.", __FILE__, __LINE__);
- }
-
- // format to internal rotation timing value expresson
- std::ostringstream oss;
- oss << std::setfill('0') << std::setw(1) << week
- << std::setfill('0') << std::setw(2) << hour
- << std::setfill('0') << std::setw(2) << minute;
-
- rotation_timing_value_value = oss.str();
- }
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 94, "Not Exist Log RotaionTiming Week Setting.", __FILE__, __LINE__);
}
- }
-
- if(LOG_TIM_DATE == rotation_timing){
- if( rotation_timing_value_key != "" ){
- std::string::size_type fpos = 0;
- std::string::size_type rpos = 0;
- int hour = 0;
- int minute = 0;
- //find time
- rpos = ret.find_first_of(':', fpos);
- if(std::string::npos != rpos) {
- std::string hourStr = ret.substr(fpos, rpos - fpos);
- try{
- hour = boost::lexical_cast<int>(hourStr);
- }
- catch(const boost::bad_lexical_cast& bc) {
- logger_logrotate_utility::loglotation_utility_logic_error( 95, "Parse Timing Date Error.", __FILE__, __LINE__);
- }
- if(0 > hour || hour > 23) {
- logger_logrotate_utility::loglotation_utility_logic_error( 96, "Parse Timing Date Error.", __FILE__, __LINE__);
- }
- // minute
- std::string minuteStr = ret.substr(rpos + 1);
- try{
- minute = boost::lexical_cast<int>(minuteStr);
- }
- catch(const boost::bad_lexical_cast& bc) {
- logger_logrotate_utility::loglotation_utility_logic_error( 97, "Parse Timing Date Error.", __FILE__, __LINE__);
- }
- if(0 > minute || minute > 59) {
- logger_logrotate_utility::loglotation_utility_logic_error( 98, "Parse Timing Date Error.", __FILE__, __LINE__);
- }
- }
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 99, "Parse Timing Date Error.", __FILE__, __LINE__);
- }
- // format to internal rotation timing value expresson
- std::ostringstream oss;
- oss << std::setfill('0') << std::setw(2) << hour
- << std::setfill('0') << std::setw(2) << minute;
- rotation_timing_value_value = oss.str();
+ if (LOG_TIM_MONTH == rotation_timing) {
+ if (rotation_timing_value_key != "") {
+ std::string::size_type fpos = 0;
+ std::string::size_type rpos = 0;
+ int date = 0;
+ int hour = 0;
+ int minute = 0;
+ // find day
+ rpos = ret.find_first_of(' ', fpos);
+ if (std::string::npos != rpos) {
+ std::string dateStr = ret.substr(fpos, rpos - fpos);
+ try {
+ date = boost::lexical_cast<int>(dateStr);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(78, "Parse Timing Month Error.", __FILE__, __LINE__);
+ }
+ if (1 > date || date > 31) {
+ logger_logrotate_utility::loglotation_utility_logic_error(79, "Parse Timing Month Error.", __FILE__, __LINE__);
+ }
+ fpos = rpos + 1;
+ // find hour
+ rpos = ret.find_first_of(':', fpos);
+ if (std::string::npos != rpos) {
+ std::string hourStr = ret.substr(fpos, rpos - fpos);
+ try {
+ hour = boost::lexical_cast<int>(hourStr);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(80, "Parse Timing Month Error.", __FILE__, __LINE__);
+ }
+ if (0 > hour || hour > 23) {
+ logger_logrotate_utility::loglotation_utility_logic_error(81, "Parse Timing Month Error.", __FILE__, __LINE__);
+ }
+ // minute
+ std::string minuteStr = ret.substr(rpos + 1);
+ try {
+ minute = boost::lexical_cast<int>(minuteStr);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(82, "Parse Timing Month Error.", __FILE__, __LINE__);
+ }
+ if (0 > minute || minute > 59) {
+ logger_logrotate_utility::loglotation_utility_logic_error(83, "Parse Timing Month Error.", __FILE__, __LINE__);
+ }
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(84, "Parse Timing Month Error.", __FILE__, __LINE__);
+ }
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(85, "Parse Timing Month Error.", __FILE__, __LINE__);
+ }
+
+ // format to internal rotation timing value expresson
+ std::stringstream oss;
+ oss << std::setfill('0') << std::setw(2) << date
+ << std::setfill('0') << std::setw(2) << hour
+ << std::setfill('0') << std::setw(2) << minute;
+
+ rotation_timing_value_value = oss.str();
+
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(86, "Not Exist Log RotaionTiming Month Setting.", __FILE__, __LINE__);
+ }
}
- else{
- logger_logrotate_utility::loglotation_utility_logic_error( 100, "Not Exist Log RotaionTiming Date Setting.", __FILE__, __LINE__);
+
+ if (LOG_TIM_WEEK == rotation_timing) {
+ if (rotation_timing_value_key != "") {
+ std::string::size_type fpos = 0;
+ std::string::size_type rpos = 0;
+ int week = 0;
+ int hour = 0;
+ int minute = 0;
+ rpos = ret.find_first_of(' ', fpos);
+ //find week
+ if (std::string::npos != rpos) {
+ std::string weekStr = ret.substr(fpos, rpos - fpos);
+
+ if ("sun" == weekStr) week = 0;
+ else if ("mon" == weekStr) week = 1;
+ else if ("tue" == weekStr) week = 2;
+ else if ("wed" == weekStr) week = 3;
+ else if ("thu" == weekStr) week = 4;
+ else if ("fri" == weekStr) week = 5;
+ else if ("sat" == weekStr) week = 6;
+ else {
+ logger_logrotate_utility::loglotation_utility_logic_error(87, "Parse Timing Week Error.", __FILE__, __LINE__);
+ }
+ fpos = rpos + 1;
+ // find hour
+ rpos = ret.find_first_of(':', fpos);
+ if (std::string::npos != rpos) {
+ std::string hourStr = ret.substr(fpos, rpos - fpos);
+ try {
+ hour = boost::lexical_cast<int>(hourStr);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(88, "Parse Timing Week Error.", __FILE__, __LINE__);
+ }
+ if (0 > hour || hour > 23) {
+ logger_logrotate_utility::loglotation_utility_logic_error(89, "Parse Timing Week Error.", __FILE__, __LINE__);
+ }
+ // minute
+ std::string minuteStr = ret.substr(rpos + 1);
+ try {
+ minute = boost::lexical_cast<int>(minuteStr);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(90, "Parse Timing Week Error.", __FILE__, __LINE__);
+ }
+ if (0 > minute || minute > 59) {
+ logger_logrotate_utility::loglotation_utility_logic_error(91, "Parse Timing Week Error.", __FILE__, __LINE__);
+ }
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(92, "Parse Timing Week Error.", __FILE__, __LINE__);
+ }
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(93, "Parse Timing Week Error.", __FILE__, __LINE__);
+ }
+
+ // format to internal rotation timing value expresson
+ std::ostringstream oss;
+ oss << std::setfill('0') << std::setw(1) << week
+ << std::setfill('0') << std::setw(2) << hour
+ << std::setfill('0') << std::setw(2) << minute;
+
+ rotation_timing_value_value = oss.str();
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(94, "Not Exist Log RotaionTiming Week Setting.", __FILE__, __LINE__);
+ }
}
- }
-
- if(LOG_TIM_HOUR == rotation_timing) {
- if( rotation_timing_value_key != "" ){
- // minute
- int minute = 0;
- try {
- minute = boost::lexical_cast<int>(ret);
- }
- catch(const boost::bad_lexical_cast& bc){
- logger_logrotate_utility::loglotation_utility_logic_error( 101, "Parse Timing Hour Error.", __FILE__, __LINE__);
- }
- if (0 > minute || minute > 59) {
- logger_logrotate_utility::loglotation_utility_logic_error( 102, "Parse Timing Hour Error.", __FILE__, __LINE__);
- }
-
- // format to internal rotation timing value expresson
- std::ostringstream oss;
- oss << std::setfill('0') << std::setw(2) << minute;
-
- rotation_timing_value_value = oss.str();
+
+ if (LOG_TIM_DATE == rotation_timing) {
+ if (rotation_timing_value_key != "") {
+ std::string::size_type fpos = 0;
+ std::string::size_type rpos = 0;
+ int hour = 0;
+ int minute = 0;
+ //find time
+ rpos = ret.find_first_of(':', fpos);
+ if (std::string::npos != rpos) {
+ std::string hourStr = ret.substr(fpos, rpos - fpos);
+ try {
+ hour = boost::lexical_cast<int>(hourStr);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(95, "Parse Timing Date Error.", __FILE__, __LINE__);
+ }
+ if (0 > hour || hour > 23) {
+ logger_logrotate_utility::loglotation_utility_logic_error(96, "Parse Timing Date Error.", __FILE__, __LINE__);
+ }
+ // minute
+ std::string minuteStr = ret.substr(rpos + 1);
+ try {
+ minute = boost::lexical_cast<int>(minuteStr);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(97, "Parse Timing Date Error.", __FILE__, __LINE__);
+ }
+ if (0 > minute || minute > 59) {
+ logger_logrotate_utility::loglotation_utility_logic_error(98, "Parse Timing Date Error.", __FILE__, __LINE__);
+ }
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(99, "Parse Timing Date Error.", __FILE__, __LINE__);
+ }
+
+ // format to internal rotation timing value expresson
+ std::ostringstream oss;
+ oss << std::setfill('0') << std::setw(2) << hour
+ << std::setfill('0') << std::setw(2) << minute;
+
+ rotation_timing_value_value = oss.str();
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(100, "Not Exist Log RotaionTiming Date Setting.", __FILE__, __LINE__);
+ }
}
- else {
- logger_logrotate_utility::loglotation_utility_logic_error( 103, "Not Exist Log RotaionTiming Hour Setting.", __FILE__, __LINE__);
+
+ if (LOG_TIM_HOUR == rotation_timing) {
+ if (rotation_timing_value_key != "") {
+ // minute
+ int minute = 0;
+ try {
+ minute = boost::lexical_cast<int>(ret);
+ } catch (const boost::bad_lexical_cast &bc) {
+ logger_logrotate_utility::loglotation_utility_logic_error(101, "Parse Timing Hour Error.", __FILE__, __LINE__);
+ }
+ if (0 > minute || minute > 59) {
+ logger_logrotate_utility::loglotation_utility_logic_error(102, "Parse Timing Hour Error.", __FILE__, __LINE__);
+ }
+
+ // format to internal rotation timing value expresson
+ std::ostringstream oss;
+ oss << std::setfill('0') << std::setw(2) << minute;
+
+ rotation_timing_value_value = oss.str();
+ } else {
+ logger_logrotate_utility::loglotation_utility_logic_error(103, "Not Exist Log RotaionTiming Hour Setting.", __FILE__, __LINE__);
+ }
}
- }
- return( rotation_timing_value_value );
+ return(rotation_timing_value_value);
}
void logger_logrotate_utility::set_appender(
- const appender_property& log_property,
- const char *logger_layout,
- const std::string& log_category)
+ const appender_property &log_property,
+ const char *logger_layout,
+ const std::string &log_category)
{
}
bool logger_logrotate_utility::acccess_log_LogrotateParamCheck(
- accesslog_rotate_map_type& rotatedata,
- appender_property &access_log_property)
+ accesslog_rotate_map_type &rotatedata,
+ appender_property &access_log_property)
{
- return( false );
+ return(false);
}
-void logger_logrotate_utility::loglotation_utility_logic_error( const unsigned int logno, const std::string& str, const char* file , const unsigned int line){
+void logger_logrotate_utility::loglotation_utility_logic_error(const unsigned int logno, const std::string &str, const char *file , const unsigned int line)
+{
#if defined(LOGGER_PROCESS_VSD)
- Logger::putLogError( l7vs::LOG_CAT_L7VSD_LOGGER, logno, str, file, line );
+ Logger::putLogError(l7vs::LOG_CAT_L7VSD_LOGGER, logno, str, file, line);
#elif defined(LOGGER_PROCESS_ADM)
- Logger::putLogError( l7vs::LOG_CAT_L7VSADM_LOGGER,logno, str, file, line );
+ Logger::putLogError(l7vs::LOG_CAT_L7VSADM_LOGGER, logno, str, file, line);
#elif defined(LOGGER_PROCESS_SNM)
- Logger::putLogError( l7vs::LOG_CAT_SNMPAGENT_LOGGER, logno, str, file, line );
+ Logger::putLogError(l7vs::LOG_CAT_SNMPAGENT_LOGGER, logno, str, file, line);
#else
- Logger::putLogError( l7vs::LOG_CAT_L7VSD_LOGGER, logno, str, file, line );
+ Logger::putLogError(l7vs::LOG_CAT_L7VSD_LOGGER, logno, str, file, line);
#endif
- throw std::logic_error( str );
+ throw std::logic_error(str);
}
using namespace l7vs;
extern int strictPolicyCtorCalled;
-extern void* strictPolicyCreated;
+extern void *strictPolicyCreated;
IMPLEMENT_LOG4CXX_OBJECT(StrictTimeBasedRollingPolicy)
StrictTimeBasedRollingPolicy::StrictTimeBasedRollingPolicy() :
- nextCheck(0), rotationTiming(LOG_TIM_YEAR), rotationTimingValue("")
+ nextCheck(0), rotationTiming(LOG_TIM_YEAR), rotationTimingValue("")
{
- ++strictPolicyCtorCalled;
- strictPolicyCreated = this;
+ ++strictPolicyCtorCalled;
+ strictPolicyCreated = this;
}
void StrictTimeBasedRollingPolicy::addRef() const
{
}
-void StrictTimeBasedRollingPolicy::activateOptions(log4cxx::helpers::Pool& pool)
+void StrictTimeBasedRollingPolicy::activateOptions(log4cxx::helpers::Pool &pool)
{
}
std::string StrictTimeBasedRollingPolicy::getRotationTimingValue()
{
- return rotationTimingValue;
+ return rotationTimingValue;
}
-
-void StrictTimeBasedRollingPolicy::setRotationTimingValue(const std::string& val)
+
+void StrictTimeBasedRollingPolicy::setRotationTimingValue(const std::string &val)
{
- rotationTimingValue = val;
+ rotationTimingValue = val;
}
LOG_ROTATION_TIMING_TAG StrictTimeBasedRollingPolicy::getRotationTiming()
{
- return rotationTiming;
+ return rotationTiming;
}
-
+
void StrictTimeBasedRollingPolicy::setRotationTiming(const LOG_ROTATION_TIMING_TAG val)
{
- rotationTiming = val;
+ rotationTiming = val;
}
-void StrictTimeBasedRollingPolicy::setOption(const LogString& option, const LogString& value)
+void StrictTimeBasedRollingPolicy::setOption(const LogString &option, const LogString &value)
{
}
RolloverDescriptionPtr StrictTimeBasedRollingPolicy::initialize(
- const LogString& currentActiveFile,
- const bool append,
- Pool& pool)
+ const LogString ¤tActiveFile,
+ const bool append,
+ Pool &pool)
{
- RolloverDescriptionPtr desc;
- return desc;
+ RolloverDescriptionPtr desc;
+ return desc;
}
time_t StrictTimeBasedRollingPolicy::getNextCheck(time_t timeNow)
{
- return 0;
+ return 0;
}
RolloverDescriptionPtr StrictTimeBasedRollingPolicy::rollover(
- const LogString& currentActiveFile,
- Pool& pool)
+ const LogString ¤tActiveFile,
+ Pool &pool)
{
- RolloverDescriptionPtr desc;
- return desc;
+ RolloverDescriptionPtr desc;
+ return desc;
}
bool StrictTimeBasedRollingPolicy::isTriggeringEvent(
- Appender* /* appender */,
- const log4cxx::spi::LoggingEventPtr& /* event */,
- const LogString& /* filename */,
- size_t /* fileLength */)
+ Appender* /* appender */,
+ const log4cxx::spi::LoggingEventPtr& /* event */,
+ const LogString& /* filename */,
+ size_t /* fileLength */)
{
- return true;
+ return true;
}
#include "l7vsd.h"
-namespace l7vs{
+namespace l7vs
+{
// virtualservice
bool virtual_service::initialize_fail(false);
bool virtual_service::finalize_fail(false);
bool virtual_service::stop_called(false);
-void virtual_service::finalize( error_code& err )
+void virtual_service::finalize(error_code &err)
{
- finalize_called = true;
- vsd.release_virtual_service( element );
- if( finalize_fail ) err.setter( true, "finalize_fail!" );
+ finalize_called = true;
+ vsd.release_virtual_service(element);
+ if (finalize_fail) err.setter(true, "finalize_fail!");
}
// replication
using namespace log4cxx::pattern;
extern int timeSizePolicyCtorCalled;
-extern void* timeSizePolicyCreated;
+extern void *timeSizePolicyCreated;
IMPLEMENT_LOG4CXX_OBJECT(TimeAndSizeBasedRollingPolicy)
TimeAndSizeBasedRollingPolicy::TimeAndSizeBasedRollingPolicy() :
- maxFileSize(DEFAULT_MAX_FILE_SIZE)
+ maxFileSize(DEFAULT_MAX_FILE_SIZE)
{
- ++timeSizePolicyCtorCalled;
- timeSizePolicyCreated = this;
+ ++timeSizePolicyCtorCalled;
+ timeSizePolicyCreated = this;
}
size_t TimeAndSizeBasedRollingPolicy::getMaxFileSize()
{
- return maxFileSize;
+ return maxFileSize;
}
-
+
void TimeAndSizeBasedRollingPolicy::setMaxFileSize(size_t size)
{
- maxFileSize = size;
+ maxFileSize = size;
}
-void TimeAndSizeBasedRollingPolicy::setOption(const LogString& option, const LogString& value)
+void TimeAndSizeBasedRollingPolicy::setOption(const LogString &option, const LogString &value)
{
}
bool TimeAndSizeBasedRollingPolicy::isTriggeringEvent(
- Appender* appender,
- const log4cxx::spi::LoggingEventPtr& event,
- const LogString& filename,
- size_t fileLength)
+ Appender *appender,
+ const log4cxx::spi::LoggingEventPtr &event,
+ const LogString &filename,
+ size_t fileLength)
{
- return true;
+ return true;
}
// このテストコードでは、Atomicとwrlock.の確認を同時に実施します。
#define THREAD_COUNT 10
-#define CHECK(a,b,c,d) do { \
- if (a != b) { \
- std::cout << "error " << c << ": "; \
- std::cout << a << " != " << b; \
- std::cout << ", line:" << d <<std::endl; \
+#define CHECK(a,b,c,d) do { \
+ if (a != b) { \
+ std::cout << "error " << c << ": "; \
+ std::cout << a << " != " << b; \
+ std::cout << ", line:" << d <<std::endl; \
ret = 1; \
- } \
- } while (0)
+ } \
+ } while (0)
using namespace boost::unit_test_framework;
static int ret = 0;
-void* thread_func_atomic_i( void* param ){
- int temp;
-
+void *thread_func_atomic_i(void *param)
+{
+ int temp;
+
// ++int_value;
// --int_value;
- int_value = 0;
- temp = int_value.get();
+ int_value = 0;
+ temp = int_value.get();
//std::cout << "int_value=(:0):" << temp << std::endl;
- CHECK(0, temp, "get", __LINE__);
+ CHECK(0, temp, "get", __LINE__);
// BOOST_CHECK( 0 == temp );
- int_value++;
- temp = int_value.get();
+ int_value++;
+ temp = int_value.get();
//std::cout << "int_value++(:1):" << temp << std::endl;
// BOOST_CHECK( 1 == temp );
- CHECK(1, temp, "++", __LINE__);
- int_value--;
- temp = int_value.get();
+ CHECK(1, temp, "++", __LINE__);
+ int_value--;
+ temp = int_value.get();
//std::cout << "int_value--(:0):" << temp << std::endl;
// BOOST_CHECK( 0 == temp );
- CHECK(0, temp, "--", __LINE__);
- int_value += 1000;
- temp = int_value.get();
+ CHECK(0, temp, "--", __LINE__);
+ int_value += 1000;
+ temp = int_value.get();
//std::cout << "int_value+=(:999):" << temp << std::endl;
// BOOST_CHECK( 1000 == temp );
- CHECK(1000, temp, "+=", __LINE__);
- int_value -= 1000;
- temp = int_value.get();
+ CHECK(1000, temp, "+=", __LINE__);
+ int_value -= 1000;
+ temp = int_value.get();
//std::cout << "int_value-=(:0):" << temp << std::endl;
// BOOST_CHECK( 0 == temp );
- CHECK(0, temp, "-=", __LINE__);
- int_value += 1000;
+ CHECK(0, temp, "-=", __LINE__);
+ int_value += 1000;
//std::cout << "int_value< (:0)" << (int_value< 1000) << std::endl;
// BOOST_CHECK( 0 == (int_value< 1000) );
- CHECK(0, (int_value< 1000), "<", __LINE__);
+ CHECK(0, (int_value < 1000), "<", __LINE__);
//std::cout << "int_value<=(:1)" << (int_value<=1000) << std::endl;
// BOOST_CHECK( 1 == (int_value<=1000) );
- CHECK(1, (int_value<=1000), "<=", __LINE__);
+ CHECK(1, (int_value <= 1000), "<=", __LINE__);
//std::cout << "int_value> (:0)" << (int_value> 1000) << std::endl;
// BOOST_CHECK( 0 == (int_value> 1000) );
- CHECK(0, (int_value> 1000), ">", __LINE__);
+ CHECK(0, (int_value > 1000), ">", __LINE__);
//std::cout << "int_value>=(:1)" << (int_value>=1000) << std::endl;
// BOOST_CHECK( 1 == (int_value>=1000) );
- CHECK(1, (int_value>=1000), ">=", __LINE__);
+ CHECK(1, (int_value >= 1000), ">=", __LINE__);
//std::cout << "int_value==(:1)" << (int_value==1000) << std::endl;
// BOOST_CHECK( 1 == (int_value==1000) );
- CHECK(1, (int_value==1000), "==", __LINE__);
+ CHECK(1, (int_value == 1000), "==", __LINE__);
//std::cout << "int_value!==(:0)" << (int_value!=1000) << std::endl;
// BOOST_CHECK( 0 == (int_value!=1000) );
- CHECK(0, (int_value!=1000), "!=", __LINE__);
+ CHECK(0, (int_value != 1000), "!=", __LINE__);
//std::cout << "int_value< (:0)" << (int_value< 999) << std::endl;
// BOOST_CHECK( 0 == (int_value< 999) );
- CHECK(0, (int_value< 999), "<", __LINE__);
+ CHECK(0, (int_value < 999), "<", __LINE__);
//std::cout << "int_value<=(:0)" << (int_value<=999) << std::endl;
// BOOST_CHECK( 0 == (int_value<=999) );
- CHECK(0, (int_value<=999), "<=", __LINE__);
+ CHECK(0, (int_value <= 999), "<=", __LINE__);
//std::cout << "int_value> (:1)" << (int_value> 999) << std::endl;
// BOOST_CHECK( 1 == (int_value> 999) );
- CHECK(1, (int_value> 999), ">", __LINE__);
+ CHECK(1, (int_value > 999), ">", __LINE__);
//std::cout << "int_value>=(:1)" << (int_value>=999) << std::endl;
// BOOST_CHECK( 1 == (int_value>=999) );
- CHECK(1, (int_value>=999), ">=", __LINE__);
+ CHECK(1, (int_value >= 999), ">=", __LINE__);
//std::cout << "int_value==(:0)" << (int_value==999) << std::endl;
// BOOST_CHECK( 0 == (int_value==999) );
- CHECK(0, (int_value==999), "==", __LINE__);
+ CHECK(0, (int_value == 999), "==", __LINE__);
//std::cout << "int_value!==(:1)" << (int_value!=999) << std::endl;
// BOOST_CHECK( 1 == (int_value!=999) );
- CHECK(1, (int_value!=999), "!=", __LINE__);
+ CHECK(1, (int_value != 999), "!=", __LINE__);
//std::cout << "int_value< (:1)" << (int_value <1001) << std::endl;
// BOOST_CHECK( 1 == (int_value <1001) );
- CHECK(1, (int_value <1001), "<", __LINE__);
+ CHECK(1, (int_value < 1001), "<", __LINE__);
//std::cout << "int_value<=(:1)" << (int_value<=1001) << std::endl;
// BOOST_CHECK( 0 == (int_value<=1001) );
- CHECK(1, (int_value<=1001), "<=", __LINE__);
+ CHECK(1, (int_value <= 1001), "<=", __LINE__);
//std::cout << "int_value> (:0)" << (int_value >1001) << std::endl;
// BOOST_CHECK( 0 == (int_value >1001) );
- CHECK(0, (int_value >1001), ">", __LINE__);
+ CHECK(0, (int_value > 1001), ">", __LINE__);
//std::cout << "int_value>=(:0)" << (int_value>=1001) << std::endl;
// BOOST_CHECK( 0 == (int_value>=1001) );
- CHECK(0, (int_value>=1001), ">=", __LINE__);
+ CHECK(0, (int_value >= 1001), ">=", __LINE__);
//std::cout << "int_value==(:0)" << (int_value==1001) << std::endl;
// BOOST_CHECK( 0 == (int_value==1001) );
- CHECK(0, (int_value==1001), "==", __LINE__);
+ CHECK(0, (int_value == 1001), "==", __LINE__);
//std::cout << "int_value!==(:1)" << (int_value!=1001) << std::endl;
// BOOST_CHECK( 1 == (int_value!=1001) );
- CHECK(1, (int_value!=1001), "!=", __LINE__);
+ CHECK(1, (int_value != 1001), "!=", __LINE__);
}
-void* thread_func_atomic_ll( void* param ){
- long long temp;
-
+void *thread_func_atomic_ll(void *param)
+{
+ long long temp;
+
// ++long_value;
// --long_value;
- long_value = 0;
- temp = long_value.get();
+ long_value = 0;
+ temp = long_value.get();
//std::cout << "long_value=(:0):" << temp << std::endl;
// BOOST_CHECK( 0 == temp );
- CHECK(0, temp, "get", __LINE__);
- long_value++;
- temp = long_value.get();
+ CHECK(0, temp, "get", __LINE__);
+ long_value++;
+ temp = long_value.get();
//std::cout << "long_value++(:1):" << temp << std::endl;
// BOOST_CHECK( 1 == temp );
- CHECK(1, temp, "++", __LINE__);
- long_value--;
- temp = long_value.get();
+ CHECK(1, temp, "++", __LINE__);
+ long_value--;
+ temp = long_value.get();
//std::cout << "long_value--(:0):" << temp << std::endl;
// BOOST_CHECK( 0 == temp );
- CHECK(0, temp, "--", __LINE__);
- long_value += 1000;
- temp = long_value.get();
+ CHECK(0, temp, "--", __LINE__);
+ long_value += 1000;
+ temp = long_value.get();
//std::cout << "long_value+=(:1000):" << temp << std::endl;
// BOOST_CHECK( 1000 == temp );
- CHECK(1000, temp, "+=", __LINE__);
- long_value -= 1000;
- temp = long_value.get();
+ CHECK(1000, temp, "+=", __LINE__);
+ long_value -= 1000;
+ temp = long_value.get();
//std::cout << "long_value-=(:0):" << temp << std::endl;
// BOOST_CHECK( 0 == temp );
- CHECK(0, temp, "-=", __LINE__);
- long_value += 1000;
+ CHECK(0, temp, "-=", __LINE__);
+ long_value += 1000;
//std::cout << "long_value< (:0)" << (long_value< 1000) << std::endl;
// BOOST_CHECK( 0 == (long_value< 1000) );
- CHECK(0, (long_value< 1000), "<", __LINE__);
+ CHECK(0, (long_value < 1000), "<", __LINE__);
//std::cout << "long_value<=(:1)" << (long_value<=1000) << std::endl;
// BOOST_CHECK( 1 == (long_value<=1000) );
- CHECK(1, (long_value<= 1000), "<=", __LINE__);
+ CHECK(1, (long_value <= 1000), "<=", __LINE__);
//std::cout << "long_value> (:0)" << (long_value> 1000) << std::endl;
// BOOST_CHECK( 0 == (long_value> 1000) );
- CHECK(0, (long_value> 1000), ">", __LINE__);
+ CHECK(0, (long_value > 1000), ">", __LINE__);
//std::cout << "long_value>=(:1)" << (long_value>=1000) << std::endl;
// BOOST_CHECK( 1 == (long_value>=1000) );
- CHECK(1, (long_value>= 1000), ">=", __LINE__);
+ CHECK(1, (long_value >= 1000), ">=", __LINE__);
//std::cout << "long_value==(:1)" << (long_value==1000) << std::endl;
// BOOST_CHECK( 1 == (long_value==1000) );
- CHECK(1, (long_value== 1000), "==", __LINE__);
+ CHECK(1, (long_value == 1000), "==", __LINE__);
//std::cout << "long_value!==(:0)" << (long_value!=1000) << std::endl;
// BOOST_CHECK( 0 == (long_value!=1000) );
- CHECK(0, (long_value!= 1000), "!=", __LINE__);
+ CHECK(0, (long_value != 1000), "!=", __LINE__);
//std::cout << "long_value< (:0)" << (long_value< 999) << std::endl;
// BOOST_CHECK( 0 == (long_value< 999) );
- CHECK(0, (long_value< 999), "<", __LINE__);
+ CHECK(0, (long_value < 999), "<", __LINE__);
//std::cout << "long_value<=(:0)" << (long_value<=999) << std::endl;
// BOOST_CHECK( 0 == (long_value<=999) );
- CHECK(0, (long_value<= 999), "<=", __LINE__);
+ CHECK(0, (long_value <= 999), "<=", __LINE__);
//std::cout << "long_value> (:1)" << (long_value> 999) << std::endl;
// BOOST_CHECK( 1 == (long_value> 999) );
- CHECK(1, (long_value> 999), ">", __LINE__);
+ CHECK(1, (long_value > 999), ">", __LINE__);
//std::cout << "long_value>=(:1)" << (long_value>=999) << std::endl;
// BOOST_CHECK( 1 == (long_value>=999) );
- CHECK(1, (long_value>= 999), ">=", __LINE__);
+ CHECK(1, (long_value >= 999), ">=", __LINE__);
//std::cout << "long_value==(:0)" << (long_value==999) << std::endl;
// BOOST_CHECK( 0 == (long_value==999) );
- CHECK(0, (long_value== 999), "==", __LINE__);
+ CHECK(0, (long_value == 999), "==", __LINE__);
//std::cout << "long_value!==(:1)" << (long_value!=999) << std::endl;
// BOOST_CHECK( 1 == (long_value!=999) );
- CHECK(1, (long_value!= 999), "!=", __LINE__);
+ CHECK(1, (long_value != 999), "!=", __LINE__);
//std::cout << "long_value< (:1)" << (long_value <1001) << std::endl;
// BOOST_CHECK( 1 == (long_value <1001) );
- CHECK(1, (long_value< 1001), "<", __LINE__);
+ CHECK(1, (long_value < 1001), "<", __LINE__);
//std::cout << "long_value<=(:1)" << (long_value<=1001) << std::endl;
// BOOST_CHECK( 1 == (long_value<=1001) );
- CHECK(1, (long_value<= 1001), "<=", __LINE__);
+ CHECK(1, (long_value <= 1001), "<=", __LINE__);
//std::cout << "long_value> (:0)" << (long_value >1001) << std::endl;
// BOOST_CHECK( 0 == (long_value >1001) );
- CHECK(0, (long_value> 1001), ">", __LINE__);
+ CHECK(0, (long_value > 1001), ">", __LINE__);
//std::cout << "long_value>=(:0)" << (long_value>=1001) << std::endl;
// BOOST_CHECK( 0 == (long_value>=1001) );
- CHECK(0, (long_value>= 1001), ">=", __LINE__);
+ CHECK(0, (long_value >= 1001), ">=", __LINE__);
//std::cout << "long_value==(:0)" << (long_value==1001) << std::endl;
// BOOST_CHECK( 0 == (long_value==1001) );
- CHECK(0, (long_value== 1001), "==", __LINE__);
+ CHECK(0, (long_value == 1001), "==", __LINE__);
//std::cout << "long_value!==(:1)" << (long_value!=1001) << std::endl;
// BOOST_CHECK( 1 == (long_value!=1001) );
- CHECK(1, (long_value!= 1001), "!=", __LINE__);
+ CHECK(1, (long_value != 1001), "!=", __LINE__);
}
-void* thread_func_atomic_ull( void* param ){
- unsigned long long temp;
-
+void *thread_func_atomic_ull(void *param)
+{
+ unsigned long long temp;
+
// ++ulong_value;
// --ulong_value;
- ulong_value = 0;
- temp = ulong_value.get();
+ ulong_value = 0;
+ temp = ulong_value.get();
//std::cout << "ulong_value=(:0):" << temp << std::endl;
// BOOST_CHECK( 0 == temp );
- CHECK(0, temp, "get", __LINE__);
- ulong_value++;
- temp = ulong_value.get();
+ CHECK(0, temp, "get", __LINE__);
+ ulong_value++;
+ temp = ulong_value.get();
//std::cout << "ulong_value++(:1):" << temp << std::endl;
// BOOST_CHECK( 1 == temp );
- CHECK(1, temp, "++", __LINE__);
- ulong_value--;
- temp = ulong_value.get();
+ CHECK(1, temp, "++", __LINE__);
+ ulong_value--;
+ temp = ulong_value.get();
//std::cout << "ulong_value--(:0):" << temp << std::endl;
// BOOST_CHECK( 0 == temp );
- CHECK(0, temp, "--", __LINE__);
- ulong_value += 1000;
- temp = ulong_value.get();
+ CHECK(0, temp, "--", __LINE__);
+ ulong_value += 1000;
+ temp = ulong_value.get();
//std::cout << "ulong_value+=(:1000):" << temp << std::endl;
// BOOST_CHECK( 1000 == temp );
- CHECK(1000, temp, "+=", __LINE__);
- ulong_value -= 1000;
- temp = ulong_value.get();
+ CHECK(1000, temp, "+=", __LINE__);
+ ulong_value -= 1000;
+ temp = ulong_value.get();
//std::cout << "ulong_value-=(:0):" << temp << std::endl;
// BOOST_CHECK( 0 == temp );
- CHECK(0, temp, "-=", __LINE__);
- ulong_value += 1000;
+ CHECK(0, temp, "-=", __LINE__);
+ ulong_value += 1000;
//std::cout << "ulong_value< (:0)" << (ulong_value< 1000) << std::endl;
// BOOST_CHECK( 0 == (ulong_value< 1000) );
- CHECK(0, (ulong_value< 1000), "<", __LINE__);
+ CHECK(0, (ulong_value < 1000), "<", __LINE__);
//std::cout << "ulong_value<=(:1)" << (ulong_value<=1000) << std::endl;
// BOOST_CHECK( 1 == (ulong_value<=1000) );
- CHECK(1, (ulong_value<= 1000), "<=", __LINE__);
+ CHECK(1, (ulong_value <= 1000), "<=", __LINE__);
//std::cout << "ulong_value> (:0)" << (ulong_value> 1000) << std::endl;
// BOOST_CHECK( 0 == (ulong_value> 1000) );
- CHECK(0, (ulong_value> 1000), ">", __LINE__);
+ CHECK(0, (ulong_value > 1000), ">", __LINE__);
//std::cout << "ulong_value>=(:1)" << (ulong_value>=1000) << std::endl;
// BOOST_CHECK( 1 == (ulong_value>=1000) );
- CHECK(1, (ulong_value>= 1000), ">=", __LINE__);
+ CHECK(1, (ulong_value >= 1000), ">=", __LINE__);
//std::cout << "ulong_value==(:1)" << (ulong_value==1000) << std::endl;
// BOOST_CHECK( 1 == (ulong_value==1000) );
- CHECK(1, (ulong_value== 1000), "==", __LINE__);
+ CHECK(1, (ulong_value == 1000), "==", __LINE__);
//std::cout << "ulong_valu!==(:0)" << (ulong_value!=1000) << std::endl;
// BOOST_CHECK( 0 == (ulong_value!=1000) );
- CHECK(0, (ulong_value!= 1000), "!=", __LINE__);
+ CHECK(0, (ulong_value != 1000), "!=", __LINE__);
//std::cout << "ulong_value< (:0)" << (ulong_value< 999) << std::endl;
// BOOST_CHECK( 0 == (ulong_value< 999) );
- CHECK(0, (ulong_value< 999), "<", __LINE__);
+ CHECK(0, (ulong_value < 999), "<", __LINE__);
//std::cout << "ulong_value<=(:0)" << (ulong_value<=999) << std::endl;
// BOOST_CHECK( 0 == (ulong_value<=999) );
- CHECK(0, (ulong_value<= 999), "<=", __LINE__);
+ CHECK(0, (ulong_value <= 999), "<=", __LINE__);
//std::cout << "ulong_value> (:1)" << (ulong_value> 999) << std::endl;
// BOOST_CHECK( 1 == (ulong_value> 999) );
- CHECK(1, (ulong_value> 999), ">", __LINE__);
+ CHECK(1, (ulong_value > 999), ">", __LINE__);
//std::cout << "ulong_value>=(:1)" << (ulong_value>=999) << std::endl;
// BOOST_CHECK( 1 == (ulong_value>=999) );
- CHECK(1, (ulong_value>= 999), ">=", __LINE__);
+ CHECK(1, (ulong_value >= 999), ">=", __LINE__);
//std::cout << "ulong_value==(:0)" << (ulong_value==999) << std::endl;
// BOOST_CHECK( 0 == (ulong_value==999) );
- CHECK(0, (ulong_value== 999), "==", __LINE__);
+ CHECK(0, (ulong_value == 999), "==", __LINE__);
//std::cout << "ulong_valu!==(:1)" << (ulong_value!=999) << std::endl;
// BOOST_CHECK( 1 == (ulong_value!=999) );
- CHECK(1, (ulong_value!= 999), "!=", __LINE__);
+ CHECK(1, (ulong_value != 999), "!=", __LINE__);
//std::cout << "ulong_value< (:1)" << (ulong_value <1001) << std::endl;
// BOOST_CHECK( 1 == (ulong_value <1001) );
- CHECK(1, (ulong_value< 1001), "<", __LINE__);
+ CHECK(1, (ulong_value < 1001), "<", __LINE__);
//std::cout << "ulong_value<=(:1)" << (ulong_value<=1001) << std::endl;
// BOOST_CHECK( 1 == (ulong_value<=1001) );
- CHECK(1, (ulong_value<= 1001), "<=", __LINE__);
+ CHECK(1, (ulong_value <= 1001), "<=", __LINE__);
//std::cout << "ulong_value> (:0)" << (ulong_value >1001) << std::endl;
// BOOST_CHECK( 0 == (ulong_value >1001) );
- CHECK(0, (ulong_value> 1001), ">", __LINE__);
+ CHECK(0, (ulong_value > 1001), ">", __LINE__);
//std::cout << "ulong_value>=(:0)" << (ulong_value>=1001) << std::endl;
// BOOST_CHECK( 0 == (ulong_value>=1001) );
- CHECK(0, (ulong_value>= 1001), ">=", __LINE__);
+ CHECK(0, (ulong_value >= 1001), ">=", __LINE__);
//std::cout << "ulong_value==(:0)" << (ulong_value==1001) << std::endl;
// BOOST_CHECK( 0 == (ulong_value==1001) );
- CHECK(0, (ulong_value== 1001), "==", __LINE__);
+ CHECK(0, (ulong_value == 1001), "==", __LINE__);
//std::cout << "ulong_valu!==(:1)" << (ulong_value!=1001) << std::endl;
// BOOST_CHECK( 1 == (ulong_value!=1001) );
- CHECK(1, (ulong_value!= 1001), "!=", __LINE__);
+ CHECK(1, (ulong_value != 1001), "!=", __LINE__);
}
-void run_test(void* (*func)(void*)) {
- pthread_t thd[THREAD_COUNT];
+void run_test(void*(*func)(void *))
+{
+ pthread_t thd[THREAD_COUNT];
- for( int i = 0; i < THREAD_COUNT; ++i ){
- pthread_create(&thd[i], NULL, func, NULL);
- }
- for( int i = 0; i < THREAD_COUNT; ++i ){
- pthread_join(thd[i], NULL);
- }
+ for (int i = 0; i < THREAD_COUNT; ++i) {
+ pthread_create(&thd[i], NULL, func, NULL);
+ }
+ for (int i = 0; i < THREAD_COUNT; ++i) {
+ pthread_join(thd[i], NULL);
+ }
}
-void atomic_test() {
- //atomic version
- std::cout << "atomic func time start" << std::endl;
- run_test(thread_func_atomic_i);
- run_test(thread_func_atomic_ll);
- run_test(thread_func_atomic_ull);
- BOOST_CHECK( 0 == ret );
+void atomic_test()
+{
+ //atomic version
+ std::cout << "atomic func time start" << std::endl;
+ run_test(thread_func_atomic_i);
+ run_test(thread_func_atomic_ll);
+ run_test(thread_func_atomic_ull);
+ BOOST_CHECK(0 == ret);
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- ulong_value = 0;
- lock_ulong_value = 0;
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ ulong_value = 0;
+ lock_ulong_value = 0;
- test_suite* ts = BOOST_TEST_SUITE( "atomic class test" );
- ts->add( BOOST_TEST_CASE( &atomic_test ) );
- framework::master_test_suite().add( ts );
+ test_suite *ts = BOOST_TEST_SUITE("atomic class test");
+ ts->add(BOOST_TEST_CASE(&atomic_test));
+ framework::master_test_suite().add(ts);
}
/*!
- * @file error_code.h
- * @brief error code and error messege impliment class
+ * @file error_code.h
+ * @brief error code and error messege impliment class
*
* L7VSD: Linux Virtual Server for Layer7 Load Balancing
* Copyright (C) 2009 NTT COMWARE Corporation.
*
**********************************************************************/
-#ifndef ERROR_CODE_H
-#define ERROR_CODE_H
+#ifndef ERROR_CODE_H
+#define ERROR_CODE_H
#include <string>
namespace l7vs{
-//! @class error_code
-//! @brief getValue error
-//! @brief this class is POD
-class error_code{
+//! @class error_code
+//! @brief getValue error
+//! @brief this class is POD
+class error_code{
protected:
- bool flag; //!< errorcode flag
- std::string msg; //!< errorcode message
+ bool flag; //!< errorcode flag
+ std::string msg; //!< errorcode message
public:
- error_code() : flag(false){} //!< constractor
- //! setter constractor
- //! @param[in] flags
- //! @param[in] error message
- error_code( const bool inflg, const std::string& instr ){
- flag = inflg;
- msg = instr;
- }
- bool operator==( const bool in )const { return ( flag == in ); } //!< operator== orverload
- bool operator!=( const bool in )const { return ( flag != in ); } //!< operator!= orverload
- bool operator!() const { return !flag; } //!< operator! orverload
- typedef void (*unspecified_bool_type)(); //!< if return function
- static void unspecified_bool_true() {} //!< if true orverload function
- operator unspecified_bool_type() const { return flag == 0 ? 0 : unspecified_bool_true; } //!< if() orverload
- const std::string& get_message() const { return msg; } //!< message getter
- //! error setter
- //! @param[in] flags
- //! @param[in] error message
- void setter( const bool flg, const std::string& instr ){
- flag = flg;
- msg = instr;
- }
+ error_code() : flag(false){} //!< constractor
+ //! setter constractor
+ //! @param[in] flags
+ //! @param[in] error message
+ error_code( const bool inflg, const std::string& instr ){
+ flag = inflg;
+ msg = instr;
+ }
+ bool operator==( const bool in )const { return ( flag == in ); } //!< operator== orverload
+ bool operator!=( const bool in )const { return ( flag != in ); } //!< operator!= orverload
+ bool operator!() const { return !flag; } //!< operator! orverload
+ typedef void (*unspecified_bool_type)(); //!< if return function
+ static void unspecified_bool_true() {} //!< if true orverload function
+ operator unspecified_bool_type() const { return flag == 0 ? 0 : unspecified_bool_true; } //!< if() orverload
+ const std::string& get_message() const { return msg; } //!< message getter
+ //! error setter
+ //! @param[in] flags
+ //! @param[in] error message
+ void setter( const bool flg, const std::string& instr ){
+ flag = flg;
+ msg = instr;
+ }
};
}
//! @brief this class create Logger Inmlement class and mediate function.
class Logger{
protected:
- const LOG_CATEGORY_TAG scopedLogCategory;
- const unsigned int scopedLogId;
- const std::string scopedLogMessage;
- const char* scopedLogFile;
- const int scopedLogLine;
+ const LOG_CATEGORY_TAG scopedLogCategory;
+ const unsigned int scopedLogId;
+ const std::string scopedLogMessage;
+ const char* scopedLogFile;
+ const int scopedLogLine;
public:
- //! default constructor creates implement class.
- Logger();
-
- //! log output constractor
- //! scoped log output( Logger destractor output log)
- //! @param[in] Log output category tag
- //! @param[in] log id
- //! @param[in] log message
- //! @param[in] filename (=__FILE__)
- //! @param[in] lineno (=__LINE__)
- Logger( LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int);
-
- //! destructor.(output log then use log output constractor)
- ~Logger();
-
- //! load Configuration.
- void loadConf();
-
- //! retrieve category's log level.
- //! @param[in] logcategory
- //! @return loglevel
- static LOG_LEVEL_TAG getLogLevel( LOG_CATEGORY_TAG );
-
- //! retrieve all category's log level.
- //! @param[in] logcategory
- //! @return loglevel
- static void getLogLevelAll( category_level_list_type& );
-
- //! set category's log level.
- //! @param[in] logcategory
- //! @param[in] loglevel
- //! @return true success loglevel change
- //! @return false failer loglevel change
- static bool setLogLevel(LOG_CATEGORY_TAG cat, LOG_LEVEL_TAG level);
-
- //! set all category's log level.
- //! @param[in] logcategory
- //! @param[in] loglevel
- //! @return true success loglevel change
- //! @return false failer loglevel change
- static bool setLogLevelAll( LOG_LEVEL_TAG level );
-
- //! output fatal log.
- //! @param[in] Log output category tag
- //! @param[in] log id
- //! @param[in] log message
- //! @param[in] filename (=__FILE__)
- //! @param[in] lineno (=__LINE__)
- static void putLogFatal( LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int );
-
- //! output error log.
- //! @param[in] Log output category tag
- //! @param[in] log id
- //! @param[in] log message
- //! @param[in] filename (=__FILE__)
- //! @param[in] lineno (=__LINE__)
- static void putLogError(LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int );
-
- //! output warn log.
- //! @param[in] Log output category tag
- //! @param[in] log id
- //! @param[in] log message
- //! @param[in] filename (=__FILE__)
- //! @param[in] lineno (=__LINE__)
- static void putLogWarn(LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int );
-
- //! output info log.
- //! @param[in] Log output category tag
- //! @param[in] log id
- //! @param[in] log message
- //! @param[in] filename (=__FILE__)
- //! @param[in] lineno (=__LINE__)
- static void putLogInfo(LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int );
-
- //! output debug log.
- //! @param[in] Log output category tag
- //! @param[in] log id
- //! @param[in] log message
- //! @param[in] filename (=__FILE__)
- //! @param[in] lineno (=__LINE__)
- static void putLogDebug(LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int );
-
- //! set snmp sendtrap function
- //! @param snmp send trap function object
- //! @retrun void
- static void setSnmpSendtrap( const snmpSendtrapFuncType func );
+ //! default constructor creates implement class.
+ Logger();
+
+ //! log output constractor
+ //! scoped log output( Logger destractor output log)
+ //! @param[in] Log output category tag
+ //! @param[in] log id
+ //! @param[in] log message
+ //! @param[in] filename (=__FILE__)
+ //! @param[in] lineno (=__LINE__)
+ Logger( LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int);
+
+ //! destructor.(output log then use log output constractor)
+ ~Logger();
+
+ //! load Configuration.
+ void loadConf();
+
+ //! retrieve category's log level.
+ //! @param[in] logcategory
+ //! @return loglevel
+ static LOG_LEVEL_TAG getLogLevel( LOG_CATEGORY_TAG );
+
+ //! retrieve all category's log level.
+ //! @param[in] logcategory
+ //! @return loglevel
+ static void getLogLevelAll( category_level_list_type& );
+
+ //! set category's log level.
+ //! @param[in] logcategory
+ //! @param[in] loglevel
+ //! @return true success loglevel change
+ //! @return false failer loglevel change
+ static bool setLogLevel(LOG_CATEGORY_TAG cat, LOG_LEVEL_TAG level);
+
+ //! set all category's log level.
+ //! @param[in] logcategory
+ //! @param[in] loglevel
+ //! @return true success loglevel change
+ //! @return false failer loglevel change
+ static bool setLogLevelAll( LOG_LEVEL_TAG level );
+
+ //! output fatal log.
+ //! @param[in] Log output category tag
+ //! @param[in] log id
+ //! @param[in] log message
+ //! @param[in] filename (=__FILE__)
+ //! @param[in] lineno (=__LINE__)
+ static void putLogFatal( LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int );
+
+ //! output error log.
+ //! @param[in] Log output category tag
+ //! @param[in] log id
+ //! @param[in] log message
+ //! @param[in] filename (=__FILE__)
+ //! @param[in] lineno (=__LINE__)
+ static void putLogError(LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int );
+
+ //! output warn log.
+ //! @param[in] Log output category tag
+ //! @param[in] log id
+ //! @param[in] log message
+ //! @param[in] filename (=__FILE__)
+ //! @param[in] lineno (=__LINE__)
+ static void putLogWarn(LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int );
+
+ //! output info log.
+ //! @param[in] Log output category tag
+ //! @param[in] log id
+ //! @param[in] log message
+ //! @param[in] filename (=__FILE__)
+ //! @param[in] lineno (=__LINE__)
+ static void putLogInfo(LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int );
+
+ //! output debug log.
+ //! @param[in] Log output category tag
+ //! @param[in] log id
+ //! @param[in] log message
+ //! @param[in] filename (=__FILE__)
+ //! @param[in] lineno (=__LINE__)
+ static void putLogDebug(LOG_CATEGORY_TAG, const unsigned int, const std::string&, const char*, int );
+
+ //! set snmp sendtrap function
+ //! @param snmp send trap function object
+ //! @retrun void
+ static void setSnmpSendtrap( const snmpSendtrapFuncType func );
};
-} //namespace l7vs
+} //namespace l7vs
-#endif //LOGGER_H
+#endif //LOGGER_H
namespace l7vs{
-//! @enum LOG_LV_TAG
-//! @brief LogLevel enumeration.
-enum LOG_LEVEL_TAG {
- LOG_LV_NONE = 0, //!< loglevel is none
- LOG_LV_DEBUG, //!< loglevel is debug
- LOG_LV_INFO, //!< loglevel is info
- LOG_LV_WARN, //!< loglevel is warn
- LOG_LV_ERROR, //!< loglevel is error
- LOG_LV_FATAL //!< loglevel is fatal
+//! @enum LOG_LV_TAG
+//! @brief LogLevel enumeration.
+enum LOG_LEVEL_TAG {
+ LOG_LV_NONE = 0, //!< loglevel is none
+ LOG_LV_DEBUG, //!< loglevel is debug
+ LOG_LV_INFO, //!< loglevel is info
+ LOG_LV_WARN, //!< loglevel is warn
+ LOG_LV_ERROR, //!< loglevel is error
+ LOG_LV_FATAL //!< loglevel is fatal
};
//! loglevel enum incliment function
-//! @param[in] logleveltag refarence
-//! @return logleveltag reference
+//! @param[in] logleveltag refarence
+//! @return logleveltag reference
inline LOG_LEVEL_TAG& operator++(LOG_LEVEL_TAG& level) {
- level = static_cast<LOG_LEVEL_TAG>(level + 1);
- return level;
+ level = static_cast<LOG_LEVEL_TAG>(level + 1);
+ return level;
}
-//! @enum LOG_CATEGORY_TAG
-//! @brief Category enumeration.
+//! @enum LOG_CATEGORY_TAG
+//! @brief Category enumeration.
enum LOG_CATEGORY_TAG{
- LOG_CAT_NONE = 0, //!< logcategory is none
- LOG_CAT_L7VSD_NETWORK, //!< logcategory is network
- LOG_CAT_L7VSD_NETWORK_QOS, //!< logcategory is QoS
- LOG_CAT_L7VSD_NETWORK_BANDWIDTH, //!< logcategory is bps
- LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION, //!< logcategory is connection count
- LOG_CAT_L7VSD_NETWORK_ACCESS, //!< logcategory is access log
- LOG_CAT_L7VSD_MAINTHREAD, //!< logcategory is mainthread
- LOG_CAT_L7VSD_VIRTUALSERVICE, //!< logcategory is virtualservice
- LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, //!< logcategory is virtualservice thread
- LOG_CAT_L7VSD_SESSION, //!< logcategory is session
- LOG_CAT_L7VSD_SESSION_THREAD, //!< logcategory is session thread
- LOG_CAT_L7VSD_REALSERVER, //!< logcategory is realserver
- LOG_CAT_L7VSD_SORRYSERVER, //!< logcategory is sollyserver
- LOG_CAT_L7VSD_MODULE, //!< logcategory is module controler
- LOG_CAT_L7VSD_REPLICATION, //!< logcategory is replication
- LOG_CAT_L7VSD_REPLICATION_SENDTHREAD, //!< logcategory is replication send thread
- LOG_CAT_L7VSD_PARAMETER, //!< logcategory is parameter
- LOG_CAT_L7VSD_LOGGER, //!< logcategory is logger
- LOG_CAT_L7VSD_COMMAND, //!< logcategory is command reciver
- LOG_CAT_L7VSD_START_STOP, //!< logcategory is main function used
- LOG_CAT_L7VSD_SYSTEM, //!< logcategory is systemcall other
- LOG_CAT_L7VSD_SYSTEM_MEMORY, //!< logcategory is systemcall memory
- LOG_CAT_L7VSD_SYSTEM_ENDPOINT, //!< logcategory is systemcall socket
- LOG_CAT_L7VSD_SYSTEM_SIGNAL, //!< logcategory is systemcall signal
- LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT, //!< logcategory is systemcall env
- LOG_CAT_L7VSD_SNMPBRIDGE, //!< logcategory is snmp_bridge
-
- LOG_CAT_PROTOCOL, //!< logcategory is protocol.
- LOG_CAT_SCHEDULE, //!< logcategory is schedule
-
- LOG_CAT_L7VSADM_PARSE, //!< logcategory is parse
- LOG_CAT_L7VSADM_OPERATE, //!< logcategory is operate
- LOG_CAT_L7VSADM_CONFIG_RESULT, //!< logcategory is configure
- LOG_CAT_L7VSADM_COMMON, //!< logcategory is other
- LOG_CAT_L7VSADM_LOGGER, //!< logcategory is logger
- LOG_CAT_L7VSADM_PARAMETER, //!< logcategory is parameter
- LOG_CAT_L7VSADM_MODULE, //!< logcategory is module control
-
- LOG_CAT_SNMPAGENT_START_STOP, //!< logcategory is snmpagent main
- LOG_CAT_SNMPAGENT_MANAGER_RECEIVE, //!< logcategory is manager send
- LOG_CAT_SNMPAGENT_MANAGER_SEND, //!< logcategory is manager recv
- LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, //!< logcategory is snmpbrigde recv
- LOG_CAT_SNMPAGENT_L7VSD_SEND, //!< logcategory is snmpbrigre send
- LOG_CAT_SNMPAGENT_LOGGER, //!< logcategory is manager logger
- LOG_CAT_SNMPAGENT_PARAMETER, //!< logcategory is manager parameter
- LOG_CAT_SNMPAGENT_SYSTEM, //!< logcategory is snmpagent systemcall other
- LOG_CAT_SNMPAGENT_SYSTEM_MEMORY, //!< logcategory is snmpagent systemcall memory
- LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT, //!< logcategory is snmpagent systemcall socket
- LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL, //!< logcategory is snmpagent systemcall signal
- LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT, //!< logcategory is snmpagent systemcall env
- LOG_CAT_END, //!< end of logcategory
+ LOG_CAT_NONE = 0, //!< logcategory is none
+ LOG_CAT_L7VSD_NETWORK, //!< logcategory is network
+ LOG_CAT_L7VSD_NETWORK_QOS, //!< logcategory is QoS
+ LOG_CAT_L7VSD_NETWORK_BANDWIDTH, //!< logcategory is bps
+ LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION, //!< logcategory is connection count
+ LOG_CAT_L7VSD_NETWORK_ACCESS, //!< logcategory is access log
+ LOG_CAT_L7VSD_MAINTHREAD, //!< logcategory is mainthread
+ LOG_CAT_L7VSD_VIRTUALSERVICE, //!< logcategory is virtualservice
+ LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, //!< logcategory is virtualservice thread
+ LOG_CAT_L7VSD_SESSION, //!< logcategory is session
+ LOG_CAT_L7VSD_SESSION_THREAD, //!< logcategory is session thread
+ LOG_CAT_L7VSD_REALSERVER, //!< logcategory is realserver
+ LOG_CAT_L7VSD_SORRYSERVER, //!< logcategory is sollyserver
+ LOG_CAT_L7VSD_MODULE, //!< logcategory is module controler
+ LOG_CAT_L7VSD_REPLICATION, //!< logcategory is replication
+ LOG_CAT_L7VSD_REPLICATION_SENDTHREAD, //!< logcategory is replication send thread
+ LOG_CAT_L7VSD_PARAMETER, //!< logcategory is parameter
+ LOG_CAT_L7VSD_LOGGER, //!< logcategory is logger
+ LOG_CAT_L7VSD_COMMAND, //!< logcategory is command reciver
+ LOG_CAT_L7VSD_START_STOP, //!< logcategory is main function used
+ LOG_CAT_L7VSD_SYSTEM, //!< logcategory is systemcall other
+ LOG_CAT_L7VSD_SYSTEM_MEMORY, //!< logcategory is systemcall memory
+ LOG_CAT_L7VSD_SYSTEM_ENDPOINT, //!< logcategory is systemcall socket
+ LOG_CAT_L7VSD_SYSTEM_SIGNAL, //!< logcategory is systemcall signal
+ LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT, //!< logcategory is systemcall env
+ LOG_CAT_L7VSD_SNMPBRIDGE, //!< logcategory is snmp_bridge
+
+ LOG_CAT_PROTOCOL, //!< logcategory is protocol.
+ LOG_CAT_SCHEDULE, //!< logcategory is schedule
+
+ LOG_CAT_L7VSADM_PARSE, //!< logcategory is parse
+ LOG_CAT_L7VSADM_OPERATE, //!< logcategory is operate
+ LOG_CAT_L7VSADM_CONFIG_RESULT, //!< logcategory is configure
+ LOG_CAT_L7VSADM_COMMON, //!< logcategory is other
+ LOG_CAT_L7VSADM_LOGGER, //!< logcategory is logger
+ LOG_CAT_L7VSADM_PARAMETER, //!< logcategory is parameter
+ LOG_CAT_L7VSADM_MODULE, //!< logcategory is module control
+
+ LOG_CAT_SNMPAGENT_START_STOP, //!< logcategory is snmpagent main
+ LOG_CAT_SNMPAGENT_MANAGER_RECEIVE, //!< logcategory is manager send
+ LOG_CAT_SNMPAGENT_MANAGER_SEND, //!< logcategory is manager recv
+ LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, //!< logcategory is snmpbrigde recv
+ LOG_CAT_SNMPAGENT_L7VSD_SEND, //!< logcategory is snmpbrigre send
+ LOG_CAT_SNMPAGENT_LOGGER, //!< logcategory is manager logger
+ LOG_CAT_SNMPAGENT_PARAMETER, //!< logcategory is manager parameter
+ LOG_CAT_SNMPAGENT_SYSTEM, //!< logcategory is snmpagent systemcall other
+ LOG_CAT_SNMPAGENT_SYSTEM_MEMORY, //!< logcategory is snmpagent systemcall memory
+ LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT, //!< logcategory is snmpagent systemcall socket
+ LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL, //!< logcategory is snmpagent systemcall signal
+ LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT, //!< logcategory is snmpagent systemcall env
+ LOG_CAT_END, //!< end of logcategory
};
//! logcategory enum incliment function
-//! @param[in] logcategorytag refarence
-//! @return logcategorytag reference
+//! @param[in] logcategorytag refarence
+//! @return logcategorytag reference
inline LOG_CATEGORY_TAG& operator++(LOG_CATEGORY_TAG& cat) {
- cat = static_cast<LOG_CATEGORY_TAG>(cat + 1);
- return cat;
+ cat = static_cast<LOG_CATEGORY_TAG>(cat + 1);
+ return cat;
}
//! typedef category level pair list
-typedef std::list< std::pair< LOG_CATEGORY_TAG, LOG_LEVEL_TAG > >
- category_level_list_type;
+typedef std::list< std::pair< LOG_CATEGORY_TAG, LOG_LEVEL_TAG > >
+ category_level_list_type;
//! typedef snmp send trap func type
typedef boost::function<void( const std::string& )>
- snmpSendtrapFuncType;
+ snmpSendtrapFuncType;
} //namespace l7vs
-#endif //__LOGGER_ENUM_H__
+#endif //__LOGGER_ENUM_H__
namespace log4cxx
{
- typedef helpers::ObjectPtrT<RollingFileAppender> RollingFileAppenderPtr;
+ typedef helpers::ObjectPtrT<RollingFileAppender> RollingFileAppenderPtr;
}
namespace l7vs{
//! @brief this class manage logger setting and logging by log4cxx.
class LoggerImpl{
protected:
- //! typedef category <-> level map
- typedef std::map< LOG_CATEGORY_TAG, LOG_LEVEL_TAG>
- category_level_map_type;
- //! typedef category <-> level map read only
- typedef std::tr1::unordered_map< LOG_CATEGORY_TAG, LOG_LEVEL_TAG>
- category_level_read_map_type;
- //! typedef categoryname <-> CATEGORY_TAG map
- typedef std::map< std::string, LOG_CATEGORY_TAG>
- name_category_map_type;
- //! typedef CATEGORY_TAG <-> categoryname map
- typedef std::map< LOG_CATEGORY_TAG, std::string>
- category_name_map_type;
+ //! typedef category <-> level map
+ typedef std::map< LOG_CATEGORY_TAG, LOG_LEVEL_TAG>
+ category_level_map_type;
+ //! typedef category <-> level map read only
+ typedef std::tr1::unordered_map< LOG_CATEGORY_TAG, LOG_LEVEL_TAG>
+ category_level_read_map_type;
+ //! typedef categoryname <-> CATEGORY_TAG map
+ typedef std::map< std::string, LOG_CATEGORY_TAG>
+ name_category_map_type;
+ //! typedef CATEGORY_TAG <-> categoryname map
+ typedef std::map< LOG_CATEGORY_TAG, std::string>
+ category_name_map_type;
public:
- //! returns current instance.
- static LoggerImpl& getInstance();
-
- //! initialze function
- virtual bool init();
-
- //! Configuration function
- virtual void loadConf();
-
- /*!
- * retrieve category's log level.
- *
- * @param category that want to know
- * @return log level
- */
- virtual inline LOG_LEVEL_TAG getLogLevel(LOG_CATEGORY_TAG cat){
- return category_level_read_map[cat];
- }
-
- /*!
- * retrieve all category's log level.
- *
- * @param[out] category level list
- */
- virtual inline void getLogLevelAll( category_level_list_type& list ){
- category_level_read_map.clear();
- BOOST_FOREACH( category_level_map_type::value_type const& itr, category_level_map ){
- category_level_read_map[itr.first] = itr.second;
- list.push_back( std::make_pair( itr.first, itr.second ) );
- }
- }
-
- /*!
- * set category's log level.
- *
- * @param category to set log level
- * @param level
- * @retval true succeed
- * @retval false failed
- */
- virtual inline bool setLogLevel(LOG_CATEGORY_TAG cat, LOG_LEVEL_TAG level){
- category_level_map_type::iterator lv_itr = category_level_map.find( cat );
- lv_itr->second = level;
-
- category_level_read_map.clear();
- BOOST_FOREACH( category_level_map_type::value_type const& itr, category_level_map ){
- category_level_read_map[itr.first] = itr.second;
- }
-
- category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
-
- try {
- log4cxx::Logger::getLogger(categoryname_itr->second)->setLevel( log4cxx::Level::toLevel( levelTable[level] ) );
- }
- catch (const std::exception& ex) {
- return false;
- }
- return true;
- }
-
- /*!
- * set all category's log level.
- *
- * @param category to set log level
- * @param level
- * @retval true succeed
- * @retval false failed
- */
- virtual inline bool setLogLevelAll( LOG_LEVEL_TAG level ){
- category_level_read_map.clear();
- BOOST_FOREACH( category_level_map_type::value_type& itr, category_level_map ){
- itr.second = level;
- category_level_read_map[itr.first] = itr.second;
-
- category_name_map_type::iterator categoryname_itr = category_name_map.find( itr.first );
- try {
- log4cxx::Logger::getLogger(categoryname_itr->second)->setLevel( log4cxx::Level::toLevel( levelTable[level] ) );
- }
- catch (const std::exception& ex) {
- return false;
- }
- }
- return true;
- }
-
- /*!
- * output fatal log.
- *
- * @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
- * @param current line
- * @retrun void
- */
- virtual inline void putLogFatal( LOG_CATEGORY_TAG cat,
- const unsigned int message_id,
- const std::string& message,
- const char *file,
- int line){
- std::stringstream buf;
- switch( cat ){
- case LOG_CAT_PROTOCOL:
- buf << boost::format( "%s%d%06d %s %s" )
- % "PM"
- % LOG_LV_FATAL
- % message_id
- % message.c_str()
- % hostname;
- break;
- case LOG_CAT_SCHEDULE:
- buf << boost::format( "%s%d%06d %s %s" )
- % "SM"
- % LOG_LV_FATAL
- % message_id
- % message.c_str()
- % hostname;
- break;
- default:
- buf << boost::format( "%s%d%02d%05d %s %s" )
- % LOGGER_PROCESS_ID
- % LOG_LV_FATAL
- % cat
- % message_id
- % message.c_str()
- % hostname;
- }
- try {
- category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
- log4cxx::Logger::getLogger(categoryname_itr->second)->forcedLog( log4cxx::Level::getFatal(),
- buf.str(),
- log4cxx::spi::LocationInfo(file, "", line));
- // send_trap
- if( snmpSendtrap && ( LOG_CAT_L7VSD_SNMPBRIDGE != cat ) ){
- snmpSendtrap( buf.str() );
- }
- }
- catch (const std::exception& ex) {
- std::ostringstream oss;
- oss << "Logging Error (Fatal Log) : " << ex.what();
- errorConf( 3, oss.str(), __FILE__, __LINE__);
- }
- }
- /*!
- * output error log.
- *
- * @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
- * @param current line
- * @retrun void
- */
- virtual inline void putLogError( LOG_CATEGORY_TAG cat,
- const unsigned int message_id,
- const std::string& message,
- const char *file,
- int line){
- std::stringstream buf;
- switch( cat ){
- case LOG_CAT_PROTOCOL:
- buf << boost::format( "%s%d%06d %s %s" )
- % "PM"
- % LOG_LV_ERROR
- % message_id
- % message.c_str()
- % hostname;
- break;
- case LOG_CAT_SCHEDULE:
- buf << boost::format( "%s%d%06d %s %s" )
- % "SM"
- % LOG_LV_ERROR
- % message_id
- % message.c_str()
- % hostname;
- break;
- default:
- buf << boost::format( "%s%d%02d%05d %s %s" )
- % LOGGER_PROCESS_ID
- % LOG_LV_ERROR
- % cat
- % message_id
- % message.c_str()
- % hostname;
- }
- try {
- category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
- log4cxx::Logger::getLogger(categoryname_itr->second)->forcedLog( log4cxx::Level::getError(),
- buf.str(),
- log4cxx::spi::LocationInfo(file, "", line));
- // send_trap
- if( snmpSendtrap && ( LOG_CAT_L7VSD_SNMPBRIDGE != cat ) ){
- snmpSendtrap( buf.str() );
- }
- }
- catch (const std::exception& ex) {
- std::ostringstream oss;
- oss << "Logging Error (Error Log) : " << ex.what();
- errorConf( 4, oss.str(), __FILE__, __LINE__);
- }
- }
- /*!
- * output warn log.
- *
- * @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
- * @param current line
- * @retrun void
- */
- virtual inline void putLogWarn( LOG_CATEGORY_TAG cat,
- const unsigned int message_id,
- const std::string& message,
- const char *file,
- int line){
- std::stringstream buf;
- switch( cat ){
- case LOG_CAT_PROTOCOL:
- buf << boost::format( "%s%d%06d %s %s" )
- % "PM"
- % LOG_LV_WARN
- % message_id
- % message.c_str()
- % hostname;
- break;
- case LOG_CAT_SCHEDULE:
- buf << boost::format( "%s%d%06d %s %s" )
- % "SM"
- % LOG_LV_WARN
- % message_id
- % message.c_str()
- % hostname;
- break;
- default:
- buf << boost::format( "%s%d%02d%05d %s %s" )
- % LOGGER_PROCESS_ID
- % LOG_LV_WARN
- % cat
- % message_id
- % message.c_str()
- % hostname;
- }
- try {
- category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
- log4cxx::Logger::getLogger(categoryname_itr->second)->forcedLog( log4cxx::Level::getWarn(),
- buf.str(),
- log4cxx::spi::LocationInfo(file, "", line));
- }
- catch (const std::exception& ex) {
- std::ostringstream oss;
- oss << "Logging Error (Warn Log) : " << ex.what();
- errorConf( 5, oss.str(), __FILE__, __LINE__);
- }
- }
- /*!
- * output info log.
- *
- * @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
- * @param current line
- * @retrun void
- */
- virtual inline void putLogInfo( LOG_CATEGORY_TAG cat,
- const unsigned int message_id,
- const std::string& message,
- const char *file,
- int line){
- std::stringstream buf;
- switch( cat ){
- case LOG_CAT_PROTOCOL:
- buf << boost::format( "%s%d%06d %s %s" )
- % "PM"
- % LOG_LV_INFO
- % message_id
- % message.c_str()
- % hostname;
- break;
- case LOG_CAT_SCHEDULE:
- buf << boost::format( "%s%d%06d %s %s" )
- % "SM"
- % LOG_LV_INFO
- % message_id
- % message.c_str()
- % hostname;
- break;
- default:
- buf << boost::format( "%s%d%02d%05d %s %s" )
- % LOGGER_PROCESS_ID
- % LOG_LV_INFO
- % cat
- % message_id
- % message.c_str()
- % hostname;
- }
- try {
- category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
- log4cxx::Logger::getLogger(categoryname_itr->second)->forcedLog( log4cxx::Level::getInfo(),
- buf.str(),
- log4cxx::spi::LocationInfo(file, "", line));
- }
- catch (const std::exception& ex) {
- std::ostringstream oss;
- oss << "Logging Error (Info Log) : " << ex.what();
- errorConf( 6, oss.str(), __FILE__, __LINE__);
- }
- }
- /*!
- * output debug log.
- *
- * @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
- * @param current line
- * @retrun void
- */
- virtual inline void putLogDebug( LOG_CATEGORY_TAG cat,
- const unsigned int message_id,
- const std::string& message,
- const char *file,
- int line){
- std::stringstream buf;
- switch( cat ){
- case LOG_CAT_PROTOCOL:
- buf << boost::format( "%s%d%06d %s %s" )
- % "PM"
- % LOG_LV_DEBUG
- % message_id
- % message.c_str()
- % hostname;
- break;
- case LOG_CAT_SCHEDULE:
- buf << boost::format( "%s%d%06d %s %s" )
- % "SM"
- % LOG_LV_DEBUG
- % message_id
- % message.c_str()
- % hostname;
- break;
- default:
- buf << boost::format( "%s%d%02d%05d %s %s" )
- % LOGGER_PROCESS_ID
- % LOG_LV_DEBUG
- % cat
- % message_id
- % message.c_str()
- % hostname;
- }
- try {
- category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
- log4cxx::Logger::getLogger(categoryname_itr->second)->forcedLog( log4cxx::Level::getDebug(),
- buf.str(), log4cxx::spi::LocationInfo(file,"", line));
- }
- catch (const std::exception& ex) {
- std::ostringstream oss;
- oss << "Logging Error (Debug Log) : " << ex.what();
- errorConf( 7, oss.str(), __FILE__, __LINE__);
- }
- }
-
- /*!
- * set snmp sendtrap function
- *
- * @param snmp send trap function object
- * @retrun void
- */
- void setSnmpSendtrap( const snmpSendtrapFuncType func ){
- snmpSendtrap = func;
- }
+ //! returns current instance.
+ static LoggerImpl& getInstance();
+
+ //! initialze function
+ virtual bool init();
+
+ //! Configuration function
+ virtual void loadConf();
+
+ /*!
+ * retrieve category's log level.
+ *
+ * @param category that want to know
+ * @return log level
+ */
+ virtual inline LOG_LEVEL_TAG getLogLevel(LOG_CATEGORY_TAG cat){
+ return category_level_read_map[cat];
+ }
+
+ /*!
+ * retrieve all category's log level.
+ *
+ * @param[out] category level list
+ */
+ virtual inline void getLogLevelAll( category_level_list_type& list ){
+ category_level_read_map.clear();
+ BOOST_FOREACH( category_level_map_type::value_type const& itr, category_level_map ){
+ category_level_read_map[itr.first] = itr.second;
+ list.push_back( std::make_pair( itr.first, itr.second ) );
+ }
+ }
+
+ /*!
+ * set category's log level.
+ *
+ * @param category to set log level
+ * @param level
+ * @retval true succeed
+ * @retval false failed
+ */
+ virtual inline bool setLogLevel(LOG_CATEGORY_TAG cat, LOG_LEVEL_TAG level){
+ category_level_map_type::iterator lv_itr = category_level_map.find( cat );
+ lv_itr->second = level;
+
+ category_level_read_map.clear();
+ BOOST_FOREACH( category_level_map_type::value_type const& itr, category_level_map ){
+ category_level_read_map[itr.first] = itr.second;
+ }
+
+ category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
+
+ try {
+ log4cxx::Logger::getLogger(categoryname_itr->second)->setLevel( log4cxx::Level::toLevel( levelTable[level] ) );
+ }
+ catch (const std::exception& ex) {
+ return false;
+ }
+ return true;
+ }
+
+ /*!
+ * set all category's log level.
+ *
+ * @param category to set log level
+ * @param level
+ * @retval true succeed
+ * @retval false failed
+ */
+ virtual inline bool setLogLevelAll( LOG_LEVEL_TAG level ){
+ category_level_read_map.clear();
+ BOOST_FOREACH( category_level_map_type::value_type& itr, category_level_map ){
+ itr.second = level;
+ category_level_read_map[itr.first] = itr.second;
+
+ category_name_map_type::iterator categoryname_itr = category_name_map.find( itr.first );
+ try {
+ log4cxx::Logger::getLogger(categoryname_itr->second)->setLevel( log4cxx::Level::toLevel( levelTable[level] ) );
+ }
+ catch (const std::exception& ex) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /*!
+ * output fatal log.
+ *
+ * @param category that logging matter occured
+ * @param log message id
+ * @param log message
+ * @param current file
+ * @param current line
+ * @retrun void
+ */
+ virtual inline void putLogFatal( LOG_CATEGORY_TAG cat,
+ const unsigned int message_id,
+ const std::string& message,
+ const char *file,
+ int line){
+ std::stringstream buf;
+ switch( cat ){
+ case LOG_CAT_PROTOCOL:
+ buf << boost::format( "%s%d%06d %s %s" )
+ % "PM"
+ % LOG_LV_FATAL
+ % message_id
+ % message.c_str()
+ % hostname;
+ break;
+ case LOG_CAT_SCHEDULE:
+ buf << boost::format( "%s%d%06d %s %s" )
+ % "SM"
+ % LOG_LV_FATAL
+ % message_id
+ % message.c_str()
+ % hostname;
+ break;
+ default:
+ buf << boost::format( "%s%d%02d%05d %s %s" )
+ % LOGGER_PROCESS_ID
+ % LOG_LV_FATAL
+ % cat
+ % message_id
+ % message.c_str()
+ % hostname;
+ }
+ try {
+ category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
+ log4cxx::Logger::getLogger(categoryname_itr->second)->forcedLog( log4cxx::Level::getFatal(),
+ buf.str(),
+ log4cxx::spi::LocationInfo(file, "", line));
+ // send_trap
+ if( snmpSendtrap && ( LOG_CAT_L7VSD_SNMPBRIDGE != cat ) ){
+ snmpSendtrap( buf.str() );
+ }
+ }
+ catch (const std::exception& ex) {
+ std::ostringstream oss;
+ oss << "Logging Error (Fatal Log) : " << ex.what();
+ errorConf( 3, oss.str(), __FILE__, __LINE__);
+ }
+ }
+ /*!
+ * output error log.
+ *
+ * @param category that logging matter occured
+ * @param log message id
+ * @param log message
+ * @param current file
+ * @param current line
+ * @retrun void
+ */
+ virtual inline void putLogError( LOG_CATEGORY_TAG cat,
+ const unsigned int message_id,
+ const std::string& message,
+ const char *file,
+ int line){
+ std::stringstream buf;
+ switch( cat ){
+ case LOG_CAT_PROTOCOL:
+ buf << boost::format( "%s%d%06d %s %s" )
+ % "PM"
+ % LOG_LV_ERROR
+ % message_id
+ % message.c_str()
+ % hostname;
+ break;
+ case LOG_CAT_SCHEDULE:
+ buf << boost::format( "%s%d%06d %s %s" )
+ % "SM"
+ % LOG_LV_ERROR
+ % message_id
+ % message.c_str()
+ % hostname;
+ break;
+ default:
+ buf << boost::format( "%s%d%02d%05d %s %s" )
+ % LOGGER_PROCESS_ID
+ % LOG_LV_ERROR
+ % cat
+ % message_id
+ % message.c_str()
+ % hostname;
+ }
+ try {
+ category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
+ log4cxx::Logger::getLogger(categoryname_itr->second)->forcedLog( log4cxx::Level::getError(),
+ buf.str(),
+ log4cxx::spi::LocationInfo(file, "", line));
+ // send_trap
+ if( snmpSendtrap && ( LOG_CAT_L7VSD_SNMPBRIDGE != cat ) ){
+ snmpSendtrap( buf.str() );
+ }
+ }
+ catch (const std::exception& ex) {
+ std::ostringstream oss;
+ oss << "Logging Error (Error Log) : " << ex.what();
+ errorConf( 4, oss.str(), __FILE__, __LINE__);
+ }
+ }
+ /*!
+ * output warn log.
+ *
+ * @param category that logging matter occured
+ * @param log message id
+ * @param log message
+ * @param current file
+ * @param current line
+ * @retrun void
+ */
+ virtual inline void putLogWarn( LOG_CATEGORY_TAG cat,
+ const unsigned int message_id,
+ const std::string& message,
+ const char *file,
+ int line){
+ std::stringstream buf;
+ switch( cat ){
+ case LOG_CAT_PROTOCOL:
+ buf << boost::format( "%s%d%06d %s %s" )
+ % "PM"
+ % LOG_LV_WARN
+ % message_id
+ % message.c_str()
+ % hostname;
+ break;
+ case LOG_CAT_SCHEDULE:
+ buf << boost::format( "%s%d%06d %s %s" )
+ % "SM"
+ % LOG_LV_WARN
+ % message_id
+ % message.c_str()
+ % hostname;
+ break;
+ default:
+ buf << boost::format( "%s%d%02d%05d %s %s" )
+ % LOGGER_PROCESS_ID
+ % LOG_LV_WARN
+ % cat
+ % message_id
+ % message.c_str()
+ % hostname;
+ }
+ try {
+ category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
+ log4cxx::Logger::getLogger(categoryname_itr->second)->forcedLog( log4cxx::Level::getWarn(),
+ buf.str(),
+ log4cxx::spi::LocationInfo(file, "", line));
+ }
+ catch (const std::exception& ex) {
+ std::ostringstream oss;
+ oss << "Logging Error (Warn Log) : " << ex.what();
+ errorConf( 5, oss.str(), __FILE__, __LINE__);
+ }
+ }
+ /*!
+ * output info log.
+ *
+ * @param category that logging matter occured
+ * @param log message id
+ * @param log message
+ * @param current file
+ * @param current line
+ * @retrun void
+ */
+ virtual inline void putLogInfo( LOG_CATEGORY_TAG cat,
+ const unsigned int message_id,
+ const std::string& message,
+ const char *file,
+ int line){
+ std::stringstream buf;
+ switch( cat ){
+ case LOG_CAT_PROTOCOL:
+ buf << boost::format( "%s%d%06d %s %s" )
+ % "PM"
+ % LOG_LV_INFO
+ % message_id
+ % message.c_str()
+ % hostname;
+ break;
+ case LOG_CAT_SCHEDULE:
+ buf << boost::format( "%s%d%06d %s %s" )
+ % "SM"
+ % LOG_LV_INFO
+ % message_id
+ % message.c_str()
+ % hostname;
+ break;
+ default:
+ buf << boost::format( "%s%d%02d%05d %s %s" )
+ % LOGGER_PROCESS_ID
+ % LOG_LV_INFO
+ % cat
+ % message_id
+ % message.c_str()
+ % hostname;
+ }
+ try {
+ category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
+ log4cxx::Logger::getLogger(categoryname_itr->second)->forcedLog( log4cxx::Level::getInfo(),
+ buf.str(),
+ log4cxx::spi::LocationInfo(file, "", line));
+ }
+ catch (const std::exception& ex) {
+ std::ostringstream oss;
+ oss << "Logging Error (Info Log) : " << ex.what();
+ errorConf( 6, oss.str(), __FILE__, __LINE__);
+ }
+ }
+ /*!
+ * output debug log.
+ *
+ * @param category that logging matter occured
+ * @param log message id
+ * @param log message
+ * @param current file
+ * @param current line
+ * @retrun void
+ */
+ virtual inline void putLogDebug( LOG_CATEGORY_TAG cat,
+ const unsigned int message_id,
+ const std::string& message,
+ const char *file,
+ int line){
+ std::stringstream buf;
+ switch( cat ){
+ case LOG_CAT_PROTOCOL:
+ buf << boost::format( "%s%d%06d %s %s" )
+ % "PM"
+ % LOG_LV_DEBUG
+ % message_id
+ % message.c_str()
+ % hostname;
+ break;
+ case LOG_CAT_SCHEDULE:
+ buf << boost::format( "%s%d%06d %s %s" )
+ % "SM"
+ % LOG_LV_DEBUG
+ % message_id
+ % message.c_str()
+ % hostname;
+ break;
+ default:
+ buf << boost::format( "%s%d%02d%05d %s %s" )
+ % LOGGER_PROCESS_ID
+ % LOG_LV_DEBUG
+ % cat
+ % message_id
+ % message.c_str()
+ % hostname;
+ }
+ try {
+ category_name_map_type::iterator categoryname_itr = category_name_map.find( cat );
+ log4cxx::Logger::getLogger(categoryname_itr->second)->forcedLog( log4cxx::Level::getDebug(),
+ buf.str(), log4cxx::spi::LocationInfo(file,"", line));
+ }
+ catch (const std::exception& ex) {
+ std::ostringstream oss;
+ oss << "Logging Error (Debug Log) : " << ex.what();
+ errorConf( 7, oss.str(), __FILE__, __LINE__);
+ }
+ }
+
+ /*!
+ * set snmp sendtrap function
+ *
+ * @param snmp send trap function object
+ * @retrun void
+ */
+ void setSnmpSendtrap( const snmpSendtrapFuncType func ){
+ snmpSendtrap = func;
+ }
protected:
- //! default constructor initialize member variables.
- LoggerImpl();
+ //! default constructor initialize member variables.
+ LoggerImpl();
- //! cpoy constructor disable
- LoggerImpl( const LoggerImpl& );
+ //! cpoy constructor disable
+ LoggerImpl( const LoggerImpl& );
- //! operator= disable
- LoggerImpl& operator=( const LoggerImpl& );
+ //! operator= disable
+ LoggerImpl& operator=( const LoggerImpl& );
- //! LOG_LEVEL_TAG to log4cxx::LevelPtr transrator
- virtual inline const log4cxx::LevelPtr toLevel(LOG_LEVEL_TAG level) {
- return log4cxx::Level::toLevel( levelTable[level] );
- }
+ //! LOG_LEVEL_TAG to log4cxx::LevelPtr transrator
+ virtual inline const log4cxx::LevelPtr toLevel(LOG_LEVEL_TAG level) {
+ return log4cxx::Level::toLevel( levelTable[level] );
+ }
- //! if error occured, switch appenders to syslogappender and fileappender(/dev/console)
- virtual void errorConf( unsigned int messageId,
- const std::string& errorMessage,
- const char* file,
- int line);
+ //! if error occured, switch appenders to syslogappender and fileappender(/dev/console)
+ virtual void errorConf( unsigned int messageId,
+ const std::string& errorMessage,
+ const char* file,
+ int line);
- virtual void logic_error( const unsigned int, const std::string&, const char*, const unsigned int);
+ virtual void logic_error( const unsigned int, const std::string&, const char*, const unsigned int);
/*
- //! log4cxx::LevelPtr to LOG_LEVEL_TAG transrator
- virtual inline LOG_LEVEL_TAG toLevelTag(const log4cxx::LevelPtr level){
- int levelInt = level->toInt();
- switch (levelInt) {
- case log4cxx::Level::DEBUG_INT:
- return LOG_LV_DEBUG;
- case log4cxx::Level::INFO_INT:
- return LOG_LV_INFO;
- case log4cxx::Level::WARN_INT:
- return LOG_LV_WARN;
- case log4cxx::Level::ERROR_INT:
- return LOG_LV_ERROR;
- case log4cxx::Level::FATAL_INT:
- return LOG_LV_FATAL;
- default:
- return LOG_LV_DEBUG;
- }
- }
+ //! log4cxx::LevelPtr to LOG_LEVEL_TAG transrator
+ virtual inline LOG_LEVEL_TAG toLevelTag(const log4cxx::LevelPtr level){
+ int levelInt = level->toInt();
+ switch (levelInt) {
+ case log4cxx::Level::DEBUG_INT:
+ return LOG_LV_DEBUG;
+ case log4cxx::Level::INFO_INT:
+ return LOG_LV_INFO;
+ case log4cxx::Level::WARN_INT:
+ return LOG_LV_WARN;
+ case log4cxx::Level::ERROR_INT:
+ return LOG_LV_ERROR;
+ case log4cxx::Level::FATAL_INT:
+ return LOG_LV_FATAL;
+ default:
+ return LOG_LV_DEBUG;
+ }
+ }
*/
- //! destructor.
- virtual ~LoggerImpl() {}
- //! initialized flag
- bool initialized;
- //! hostname
- std::string hostname;
-
- //log4cxx::Level* levelTable[LOGGER_LEVEL_NUM];
- int levelTable[LOGGER_LEVEL_NUM];
-
- //! category - loglevel hash map
- category_level_map_type category_level_map;
- category_level_read_map_type category_level_read_map;
- //! category string -> logcateogry hash map
- name_category_map_type name_category_map;
- //! log_category -> category string hash map
- category_name_map_type category_name_map;
-
- struct appender_property{
- std::string log_filename_key; //!< parameter logfile key
- std::string log_filename_value; //!< parameter logfile value
- std::string rotation_key; //!< parameter rotation kind key
- LOG_ROTATION_TAG
- rotation_value; //!< parameter rotation kind value
- std::string max_backup_index_key; //!< parameter backup maximam number key
- unsigned int max_backup_index_value; //!< parameter backup maximam number value
- std::string max_file_size_key; //!< parameter maximam backup size key
- unsigned long long
- max_file_size_value; //!< parameter maximam backup size value
- std::string rotation_timing_key; //!< parameter rotation timing key
- LOG_ROTATION_TIMING_TAG
- rotation_timing_value; //!< parameter rotation timing value
-
- std::string rotation_timing_value_key; //!< parameter rotation timing value key
- std::string rotation_timing_value_value; //!< parameter rotation timing value value
- appender_property() : //!< constractor
- rotation_value(LOG_ROT_SIZE),
- max_backup_index_value(0),
- max_file_size_value(0),
- rotation_timing_value(LOG_TIM_YEAR)
- {}
- };
- appender_property normal_log_property;
- appender_property access_log_property;
-
- //! snmp trap function
- snmpSendtrapFuncType snmpSendtrap;
+ //! destructor.
+ virtual ~LoggerImpl() {}
+ //! initialized flag
+ bool initialized;
+ //! hostname
+ std::string hostname;
+
+ //log4cxx::Level* levelTable[LOGGER_LEVEL_NUM];
+ int levelTable[LOGGER_LEVEL_NUM];
+
+ //! category - loglevel hash map
+ category_level_map_type category_level_map;
+ category_level_read_map_type category_level_read_map;
+ //! category string -> logcateogry hash map
+ name_category_map_type name_category_map;
+ //! log_category -> category string hash map
+ category_name_map_type category_name_map;
+
+ struct appender_property{
+ std::string log_filename_key; //!< parameter logfile key
+ std::string log_filename_value; //!< parameter logfile value
+ std::string rotation_key; //!< parameter rotation kind key
+ LOG_ROTATION_TAG
+ rotation_value; //!< parameter rotation kind value
+ std::string max_backup_index_key; //!< parameter backup maximam number key
+ unsigned int max_backup_index_value; //!< parameter backup maximam number value
+ std::string max_file_size_key; //!< parameter maximam backup size key
+ unsigned long long
+ max_file_size_value; //!< parameter maximam backup size value
+ std::string rotation_timing_key; //!< parameter rotation timing key
+ LOG_ROTATION_TIMING_TAG
+ rotation_timing_value; //!< parameter rotation timing value
+
+ std::string rotation_timing_value_key; //!< parameter rotation timing value key
+ std::string rotation_timing_value_value; //!< parameter rotation timing value value
+ appender_property() : //!< constractor
+ rotation_value(LOG_ROT_SIZE),
+ max_backup_index_value(0),
+ max_file_size_value(0),
+ rotation_timing_value(LOG_TIM_YEAR)
+ {}
+ };
+ appender_property normal_log_property;
+ appender_property access_log_property;
+
+ //! snmp trap function
+ snmpSendtrapFuncType snmpSendtrap;
};
-} //namespace l7vs
-#endif //__LOGGER_IMPL_H__
+} //namespace l7vs
+#endif //__LOGGER_IMPL_H__
namespace l7vs{
-//! @enum LOG_ROTATION_TAG
-//! @brief Rotation kind enumeration
+//! @enum LOG_ROTATION_TAG
+//! @brief Rotation kind enumeration
enum LOG_ROTATION_TAG {
- LOG_ROT_SIZE, //!< rotate by filesize
- LOG_ROT_DATE, //!< rotate by date
- LOG_ROT_DATESIZE //!< rotate by date and filesize
+ LOG_ROT_SIZE, //!< rotate by filesize
+ LOG_ROT_DATE, //!< rotate by date
+ LOG_ROT_DATESIZE //!< rotate by date and filesize
};
-//! @enum LOG_ROTATION_TAG
-//! @brief RotationTiming enumeration
+//! @enum LOG_ROTATION_TAG
+//! @brief RotationTiming enumeration
enum LOG_ROTATION_TIMING_TAG {
- LOG_TIM_YEAR, //!< rotate yearly
- LOG_TIM_MONTH, //!< rotate monthly
- LOG_TIM_WEEK, //!< rotate weekly
- LOG_TIM_DATE, //!< rotate daily
- LOG_TIM_HOUR //!< rotate hourly
+ LOG_TIM_YEAR, //!< rotate yearly
+ LOG_TIM_MONTH, //!< rotate monthly
+ LOG_TIM_WEEK, //!< rotate weekly
+ LOG_TIM_DATE, //!< rotate daily
+ LOG_TIM_HOUR //!< rotate hourly
};
-} //namespace l7vs
-#endif //__LOGGER_ROTATION_ENUM_H__
+} //namespace l7vs
+#endif //__LOGGER_ROTATION_ENUM_H__
using namespace boost::unit_test;
-class parameter_impl_test : public l7vs::ParameterImpl{
+class parameter_impl_test : public l7vs::ParameterImpl
+{
public:
- std::multimap<std::string, std::string>&
- getMultiStringMap(){ return multistringMap; }
- std::map<std::string, int>&
- getIntMap(){ return intMap; }
- std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string>&
- get_section_map(){ return tag_section_table_map;}
-
- static parameter_impl_test& get_instance(){
- boost::mutex::scoped_lock( param_mutex );
- static parameter_impl_test instance;
- return instance;
- }
+ std::multimap<std::string, std::string>&
+ getMultiStringMap() {
+ return multistringMap;
+ }
+ std::map<std::string, int>&
+ getIntMap() {
+ return intMap;
+ }
+ std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string>&
+ get_section_map() {
+ return tag_section_table_map;
+ }
+
+ static parameter_impl_test &get_instance() {
+ boost::mutex::scoped_lock(param_mutex);
+ static parameter_impl_test instance;
+ return instance;
+ }
};
// ParameterImpl::init() test & read_file()test
-void parameter_impl_init_test(){
- parameter_impl_test& impl = parameter_impl_test::get_instance();
-
- std::multimap<std::string, std::string>& strmap = impl.getMultiStringMap();
- std::map<std::string, int>& intmap = impl.getIntMap();
- std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string >&
- sectionmap = impl.get_section_map();
-
- // create dummy data
- strmap.insert( std::pair< std::string, std::string >( "abc", "def" ) );
- intmap.insert( std::pair< std::string, int >( "abc", 65000 ) );
- sectionmap.insert( std::pair< l7vs::PARAMETER_COMPONENT_TAG, std::string >( l7vs::PARAM_COMP_NOCAT, "sample" ) );
- // create init files.
- std::string sectionstrings[10];
- sectionstrings[0] = "l7vsd";
- sectionstrings[1] = "command";
- sectionstrings[2] = "session";
- sectionstrings[3] = "virtualservice";
- sectionstrings[4] = "module";
- sectionstrings[5] = "replication";
- sectionstrings[6] = "logger";
- sectionstrings[7] = "l7vsadm";
- sectionstrings[8] = "snmpagent";
- sectionstrings[9] = "ssl";
- std::string keystr[2];
- keystr[0] = "key1";
- keystr[1] = "key2";
- std::string valuestr[2];
- valuestr[0] = "1";
- valuestr[1] = "\"strings\"";
-
- // unit_test[0] no create,init no file
- BOOST_CHECK_EQUAL( impl.init(), false );
-
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "# comment1" << std::endl;
- ofs << " # spase comment2" << std::endl;
- ofs << " # tab comment3" << std::endl;
- for( int i = 0 ; i < 10; ++i ){
- ofs << "[" << sectionstrings[i] << "]\n";
- ofs << keystr[0] << "=" << valuestr[0] << "# comment4\n";
- ofs << keystr[1] << " = " << valuestr[1] << " #comment5\n";
- ofs << " #comment 6 \n";
- }
- ofs << "[" << sectionstrings[0] << "]\n";
- ofs << keystr[0] << "=2" << std::endl; // overwrite check
- ofs << keystr[1] << " =\"strings2\"" << std::endl; // overwrite check
- ofs << " #comment 7 \n";
-
- ofs.close();
-
- // unit_test[1] no create,init(filename)
- BOOST_CHECK_EQUAL( impl.init( l7vs::PARAM_COMP_SSL, "./ssl.cf" ), false );
-
- // unit_test[2] file load check(default filename)
- // unit_test[3] comment line erase check
- // unit_test[4] first space comment line check
- // unit_test[5] first tab comment line check
- // unit_test[6] section - section comment line check
- // unit_test[7] last comment line check
- BOOST_CHECK_EQUAL( impl.init(), true );
-
- // unit_test[8] created map, init call
- BOOST_CHECK_EQUAL( impl.init(), true );
-
- // unit_test[9] stringmap size check(loaded files.)
- // unit_test[10] int last comment erase check(loaded files)
- // unit_test[11] sama key overwrite(init)
- BOOST_CHECK_EQUAL( strmap.size(), (unsigned int) 10 );
-
- // unit_test[12] integermap size check(loaded files)
- // unit_test[13] sama key overwrite(string)
- BOOST_CHECK_EQUAL( intmap.size(), (unsigned int) 10 );
- // unit_test[14] sectionmap size check(loaded files)
- BOOST_CHECK_EQUAL( sectionmap.size(), (unsigned int) 10);
-
- for( unsigned int i = 0 ; i < 10; ++i ){
- std::string key = PARAMETER_FILE;
- key += "#";
- key += sectionstrings[i];
- key += ".";
- key += keystr[0];
- // unit test[15] int value check(loaded file)
- if( i == 0 )
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 2 );
- else
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 1 );
- key = PARAMETER_FILE;
- key += "#";
- key += sectionstrings[i];
- key += ".";
- key += keystr[1];
- // unit_test[16] string value check(loaded file)
- // unit_test[17] double cautation erase check(loaded file)
- if( i == 0 )
- BOOST_CHECK_EQUAL( strmap.find( key )->second , "strings2" );
- else
- BOOST_CHECK_EQUAL( strmap.find( key )->second , "strings" );
- }
-
- // unit_test[18] created init(filename) no file check
- BOOST_CHECK_EQUAL( impl.init( l7vs::PARAM_COMP_SSL, "./add.cf" ), false);
-
- std::ofstream ofs2( "./add.cf" );
- ofs2 << "# comment1" << std::endl;
- ofs2 << " # spase comment2" << std::endl;
- ofs2 << " # tab comment3" << std::endl;
- ofs2 << "[" << sectionstrings[0] << "]\n";
- ofs2 << "key1" << "=" << valuestr[0] << std::endl; //non target tag
- ofs2 << "key2" << "=" << valuestr[1] << std::endl; //non target tag
- ofs2 << "key3" << "=" << valuestr[0] << std::endl; //non target tag
- ofs2 << "key4" << "=" << valuestr[1] << std::endl; //non target tag
- ofs2 << "[" << sectionstrings[9] << "]\n";
- ofs2 << "key1" << "=" << valuestr[0] << std::endl; //overwrite int
- ofs2 << "key2" << "=" << valuestr[1] << std::endl; //add string
- ofs2 << "key3" << "=" << valuestr[0] << std::endl; //add int
- ofs2 << "key4" << "=" << valuestr[1] << std::endl; //add string
- ofs2.close();
-
- // unit_test[19] init(filename)
- BOOST_CHECK_EQUAL( impl.init( l7vs::PARAM_COMP_SSL, "./add.cf" ), true );
-
- // unit_test[20] stringmap size check(+loaded files)
- BOOST_CHECK_EQUAL( strmap.size(), (unsigned int) 12 );
- // unit_test[21] integermap size check(+loaded files)
- BOOST_CHECK_EQUAL( intmap.size(), (unsigned int) 12 );
- // unit_test[22] sectionmap size check(+loaded files)
- BOOST_CHECK_EQUAL( sectionmap.size(), (unsigned int) 10 );
-
- for( unsigned int i = 0 ; i < 10; ++i ){
- std::string key = PARAMETER_FILE;
- key += "#";
- key += sectionstrings[i];
- key += ".";
- key += keystr[0];
- // unit test[23] int value check(loaded file)
- if( i == 0 )
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 2 );
- else
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 1 );
- key = PARAMETER_FILE;
- key += "#";
- key += sectionstrings[i];
- key += ".";
- key += keystr[1];
- // unit_test[24] string value check(loaded file)
- // unit_test[25] double cautation erase check(loaded file)
- if( i == 0 )
- BOOST_CHECK_EQUAL( strmap.find( key )->second , "strings2" );
- else
- BOOST_CHECK_EQUAL( strmap.find( key )->second , "strings" );
- }
- // unit_test[26] int value check(+loaded files)
- std::string key = "./add.cf#" + sectionstrings[0] + ".key1";
- BOOST_CHECK_EQUAL( intmap.count( key ) , (unsigned int) 0 );
- key = "./add.cf#" + sectionstrings[0] + ".key3";
- BOOST_CHECK_EQUAL( intmap.count( key ) , (unsigned int) 0 );
- // unit_test[27] int value check(+loaded files)
- key = "./add.cf#" + sectionstrings[9] + ".key1";
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 1 );
- key = "./add.cf#" + sectionstrings[9] + ".key3";
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 1 );
- // unit_test[28] string value check(+loaded files)
- key = "./add.cf#" + sectionstrings[0] + ".key2";
- BOOST_CHECK_EQUAL( strmap.count( key ), (unsigned int) 0 );
- key = "./add.cf#" + sectionstrings[0] + ".key4";
- BOOST_CHECK_EQUAL( strmap.count( key ), (unsigned int) 0 );
- // unit_test[29] string value check(+loaded files)
- key = "./add.cf#" + sectionstrings[9] + ".key2";
- BOOST_CHECK_EQUAL( strmap.find( key )->second, "strings" );
- // unit_test[30] string value check(+loaded files)
- key = "./add.cf#" + sectionstrings[9] + ".key4";
- BOOST_CHECK_EQUAL( strmap.find( key )->second , "strings" );
-
- unlink( "./add.cf" );
-
- std::ofstream ofs3( "./add.cf" );
- ofs3 << "# comment1" << std::endl;
- ofs3 << " # spase comment2" << std::endl;
- ofs3 << " # tab comment3" << std::endl;
- ofs3 << "[" << sectionstrings[9] << "]\n";
- ofs3 << "key1" << "=11" << std::endl; //overwrite int
- ofs3 << "key2" << "=\"strings22\"" << std::endl; //overwrite string
- ofs3 << "key5" << "=55" << std::endl; //add int
- ofs3 << "key6" << "=\"strings66\"" << std::endl; //add string
- ofs3.close();
-
- // unit_test[31] init(filename) readed check
- BOOST_CHECK_EQUAL( impl.init( l7vs::PARAM_COMP_SSL, "./add.cf" ), true);
-
- BOOST_CHECK_EQUAL( strmap.size(), (unsigned int) 12 );
- BOOST_CHECK_EQUAL( intmap.size(), (unsigned int) 12 );
- BOOST_CHECK_EQUAL( sectionmap.size(), (unsigned int) 10 );
- for( unsigned int i = 0 ; i < 10; ++i ){
- std::string key = PARAMETER_FILE;
- key += "#";
- key += sectionstrings[i];
- key += ".";
- key += keystr[0];
- if( i == 0 )
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 2 );
- else
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 1 );
- key = PARAMETER_FILE;
- key += "#";
- key += sectionstrings[i];
- key += ".";
- key += keystr[1];
- if( i == 0 )
- BOOST_CHECK_EQUAL( strmap.find( key )->second , "strings2" );
- else
- BOOST_CHECK_EQUAL( strmap.find( key )->second , "strings" );
- }
- key = "./add.cf#" + sectionstrings[0] + ".key1";
- BOOST_CHECK_EQUAL( intmap.count( key ) , (unsigned int) 0 );
- key = "./add.cf#" + sectionstrings[0] + ".key3";
- BOOST_CHECK_EQUAL( intmap.count( key ) , (unsigned int) 0 );
- key = "./add.cf#" + sectionstrings[9] + ".key1";
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 11 );
- key = "./add.cf#" + sectionstrings[9] + ".key3";
- BOOST_CHECK_EQUAL( intmap.count( key ) , (unsigned int) 0 );
- key = "./add.cf#" + sectionstrings[9] + ".key5";
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 55 );
- key = "./add.cf#" + sectionstrings[0] + ".key2";
- BOOST_CHECK_EQUAL( strmap.count( key ), (unsigned int) 0 );
- key = "./add.cf#" + sectionstrings[0] + ".key4";
- BOOST_CHECK_EQUAL( strmap.count( key ), (unsigned int) 0 );
- key = "./add.cf#" + sectionstrings[9] + ".key2";
- BOOST_CHECK_EQUAL( strmap.find( key )->second, "strings22" );
- key = "./add.cf#" + sectionstrings[0] + ".key4";
- BOOST_CHECK_EQUAL( strmap.count( key ), (unsigned int) 0 );
- key = "./add.cf#" + sectionstrings[9] + ".key6";
- BOOST_CHECK_EQUAL( strmap.find( key )->second , "strings66" );
-
- // unit_test[32] non read file check
- unlink( PARAMETER_FILE );
- BOOST_CHECK_EQUAL( impl.read_file( l7vs::PARAM_COMP_ALL, PARAMETER_FILE ),
- false );
-
- unlink( "./add.cf" );
-
- // unit_test[33] strmap is no change check
- BOOST_CHECK_EQUAL( strmap.size(), (unsigned int) 12 );
- // unit_test[34] intmap is no change check
- BOOST_CHECK_EQUAL( intmap.size(), (unsigned int) 12 );
- // unit_test[35] sectionmap is change check
- BOOST_CHECK_EQUAL( sectionmap.size(), (unsigned int) 10);
- for( unsigned int i = 0 ; i < 10; ++i ){
- std::string key = PARAMETER_FILE;
- key += "#";
- key += sectionstrings[i];
- key += ".";
- key += keystr[0];
- // unit test[36] int value check(loaded file)
- if( i == 0 )
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 2 );
- else
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 1 );
- key = PARAMETER_FILE;
- key += "#";
- key += sectionstrings[i];
- key += ".";
- key += keystr[1];
- // unit_test[37] string value check(loaded file)
- // unit_test[38] double cautation erase check(loaded file)
- if( i == 0 )
- BOOST_CHECK_EQUAL( strmap.find( key )->second , "strings2" );
- else
- BOOST_CHECK_EQUAL( strmap.find( key )->second , "strings" );
- }
- key = "./add.cf#" + sectionstrings[9] + ".key1";
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 11 );
- key = "./add.cf#" + sectionstrings[9] + ".key5";
- BOOST_CHECK_EQUAL( intmap.find( key )->second , 55 );
- key = "./add.cf#" + sectionstrings[9] + ".key2";
- BOOST_CHECK_EQUAL( strmap.find( key )->second, "strings22" );
- key = "./add.cf#" + sectionstrings[9] + ".key6";
- BOOST_CHECK_EQUAL( strmap.find( key )->second , "strings66" );
-
+void parameter_impl_init_test()
+{
+ parameter_impl_test &impl = parameter_impl_test::get_instance();
+
+ std::multimap<std::string, std::string>& strmap = impl.getMultiStringMap();
+ std::map<std::string, int>& intmap = impl.getIntMap();
+ std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string >&
+ sectionmap = impl.get_section_map();
+
+ // create dummy data
+ strmap.insert(std::pair< std::string, std::string >("abc", "def"));
+ intmap.insert(std::pair< std::string, int >("abc", 65000));
+ sectionmap.insert(std::pair< l7vs::PARAMETER_COMPONENT_TAG, std::string >(l7vs::PARAM_COMP_NOCAT, "sample"));
+ // create init files.
+ std::string sectionstrings[10];
+ sectionstrings[0] = "l7vsd";
+ sectionstrings[1] = "command";
+ sectionstrings[2] = "session";
+ sectionstrings[3] = "virtualservice";
+ sectionstrings[4] = "module";
+ sectionstrings[5] = "replication";
+ sectionstrings[6] = "logger";
+ sectionstrings[7] = "l7vsadm";
+ sectionstrings[8] = "snmpagent";
+ sectionstrings[9] = "ssl";
+ std::string keystr[2];
+ keystr[0] = "key1";
+ keystr[1] = "key2";
+ std::string valuestr[2];
+ valuestr[0] = "1";
+ valuestr[1] = "\"strings\"";
+
+ // unit_test[0] no create,init no file
+ BOOST_CHECK_EQUAL(impl.init(), false);
+
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "# comment1" << std::endl;
+ ofs << " # spase comment2" << std::endl;
+ ofs << " # tab comment3" << std::endl;
+ for (int i = 0 ; i < 10; ++i) {
+ ofs << "[" << sectionstrings[i] << "]\n";
+ ofs << keystr[0] << "=" << valuestr[0] << "# comment4\n";
+ ofs << keystr[1] << " = " << valuestr[1] << " #comment5\n";
+ ofs << " #comment 6 \n";
+ }
+ ofs << "[" << sectionstrings[0] << "]\n";
+ ofs << keystr[0] << "=2" << std::endl; // overwrite check
+ ofs << keystr[1] << " =\"strings2\"" << std::endl; // overwrite check
+ ofs << " #comment 7 \n";
+
+ ofs.close();
+
+ // unit_test[1] no create,init(filename)
+ BOOST_CHECK_EQUAL(impl.init(l7vs::PARAM_COMP_SSL, "./ssl.cf"), false);
+
+ // unit_test[2] file load check(default filename)
+ // unit_test[3] comment line erase check
+ // unit_test[4] first space comment line check
+ // unit_test[5] first tab comment line check
+ // unit_test[6] section - section comment line check
+ // unit_test[7] last comment line check
+ BOOST_CHECK_EQUAL(impl.init(), true);
+
+ // unit_test[8] created map, init call
+ BOOST_CHECK_EQUAL(impl.init(), true);
+
+ // unit_test[9] stringmap size check(loaded files.)
+ // unit_test[10] int last comment erase check(loaded files)
+ // unit_test[11] sama key overwrite(init)
+ BOOST_CHECK_EQUAL(strmap.size(), (unsigned int) 10);
+
+ // unit_test[12] integermap size check(loaded files)
+ // unit_test[13] sama key overwrite(string)
+ BOOST_CHECK_EQUAL(intmap.size(), (unsigned int) 10);
+ // unit_test[14] sectionmap size check(loaded files)
+ BOOST_CHECK_EQUAL(sectionmap.size(), (unsigned int) 10);
+
+ for (unsigned int i = 0 ; i < 10; ++i) {
+ std::string key = PARAMETER_FILE;
+ key += "#";
+ key += sectionstrings[i];
+ key += ".";
+ key += keystr[0];
+ // unit test[15] int value check(loaded file)
+ if (i == 0)
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 2);
+ else
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 1);
+ key = PARAMETER_FILE;
+ key += "#";
+ key += sectionstrings[i];
+ key += ".";
+ key += keystr[1];
+ // unit_test[16] string value check(loaded file)
+ // unit_test[17] double cautation erase check(loaded file)
+ if (i == 0)
+ BOOST_CHECK_EQUAL(strmap.find(key)->second , "strings2");
+ else
+ BOOST_CHECK_EQUAL(strmap.find(key)->second , "strings");
+ }
+
+ // unit_test[18] created init(filename) no file check
+ BOOST_CHECK_EQUAL(impl.init(l7vs::PARAM_COMP_SSL, "./add.cf"), false);
+
+ std::ofstream ofs2("./add.cf");
+ ofs2 << "# comment1" << std::endl;
+ ofs2 << " # spase comment2" << std::endl;
+ ofs2 << " # tab comment3" << std::endl;
+ ofs2 << "[" << sectionstrings[0] << "]\n";
+ ofs2 << "key1" << "=" << valuestr[0] << std::endl; //non target tag
+ ofs2 << "key2" << "=" << valuestr[1] << std::endl; //non target tag
+ ofs2 << "key3" << "=" << valuestr[0] << std::endl; //non target tag
+ ofs2 << "key4" << "=" << valuestr[1] << std::endl; //non target tag
+ ofs2 << "[" << sectionstrings[9] << "]\n";
+ ofs2 << "key1" << "=" << valuestr[0] << std::endl; //overwrite int
+ ofs2 << "key2" << "=" << valuestr[1] << std::endl; //add string
+ ofs2 << "key3" << "=" << valuestr[0] << std::endl; //add int
+ ofs2 << "key4" << "=" << valuestr[1] << std::endl; //add string
+ ofs2.close();
+
+ // unit_test[19] init(filename)
+ BOOST_CHECK_EQUAL(impl.init(l7vs::PARAM_COMP_SSL, "./add.cf"), true);
+
+ // unit_test[20] stringmap size check(+loaded files)
+ BOOST_CHECK_EQUAL(strmap.size(), (unsigned int) 12);
+ // unit_test[21] integermap size check(+loaded files)
+ BOOST_CHECK_EQUAL(intmap.size(), (unsigned int) 12);
+ // unit_test[22] sectionmap size check(+loaded files)
+ BOOST_CHECK_EQUAL(sectionmap.size(), (unsigned int) 10);
+
+ for (unsigned int i = 0 ; i < 10; ++i) {
+ std::string key = PARAMETER_FILE;
+ key += "#";
+ key += sectionstrings[i];
+ key += ".";
+ key += keystr[0];
+ // unit test[23] int value check(loaded file)
+ if (i == 0)
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 2);
+ else
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 1);
+ key = PARAMETER_FILE;
+ key += "#";
+ key += sectionstrings[i];
+ key += ".";
+ key += keystr[1];
+ // unit_test[24] string value check(loaded file)
+ // unit_test[25] double cautation erase check(loaded file)
+ if (i == 0)
+ BOOST_CHECK_EQUAL(strmap.find(key)->second , "strings2");
+ else
+ BOOST_CHECK_EQUAL(strmap.find(key)->second , "strings");
+ }
+ // unit_test[26] int value check(+loaded files)
+ std::string key = "./add.cf#" + sectionstrings[0] + ".key1";
+ BOOST_CHECK_EQUAL(intmap.count(key) , (unsigned int) 0);
+ key = "./add.cf#" + sectionstrings[0] + ".key3";
+ BOOST_CHECK_EQUAL(intmap.count(key) , (unsigned int) 0);
+ // unit_test[27] int value check(+loaded files)
+ key = "./add.cf#" + sectionstrings[9] + ".key1";
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 1);
+ key = "./add.cf#" + sectionstrings[9] + ".key3";
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 1);
+ // unit_test[28] string value check(+loaded files)
+ key = "./add.cf#" + sectionstrings[0] + ".key2";
+ BOOST_CHECK_EQUAL(strmap.count(key), (unsigned int) 0);
+ key = "./add.cf#" + sectionstrings[0] + ".key4";
+ BOOST_CHECK_EQUAL(strmap.count(key), (unsigned int) 0);
+ // unit_test[29] string value check(+loaded files)
+ key = "./add.cf#" + sectionstrings[9] + ".key2";
+ BOOST_CHECK_EQUAL(strmap.find(key)->second, "strings");
+ // unit_test[30] string value check(+loaded files)
+ key = "./add.cf#" + sectionstrings[9] + ".key4";
+ BOOST_CHECK_EQUAL(strmap.find(key)->second , "strings");
+
+ unlink("./add.cf");
+
+ std::ofstream ofs3("./add.cf");
+ ofs3 << "# comment1" << std::endl;
+ ofs3 << " # spase comment2" << std::endl;
+ ofs3 << " # tab comment3" << std::endl;
+ ofs3 << "[" << sectionstrings[9] << "]\n";
+ ofs3 << "key1" << "=11" << std::endl; //overwrite int
+ ofs3 << "key2" << "=\"strings22\"" << std::endl; //overwrite string
+ ofs3 << "key5" << "=55" << std::endl; //add int
+ ofs3 << "key6" << "=\"strings66\"" << std::endl; //add string
+ ofs3.close();
+
+ // unit_test[31] init(filename) readed check
+ BOOST_CHECK_EQUAL(impl.init(l7vs::PARAM_COMP_SSL, "./add.cf"), true);
+
+ BOOST_CHECK_EQUAL(strmap.size(), (unsigned int) 12);
+ BOOST_CHECK_EQUAL(intmap.size(), (unsigned int) 12);
+ BOOST_CHECK_EQUAL(sectionmap.size(), (unsigned int) 10);
+ for (unsigned int i = 0 ; i < 10; ++i) {
+ std::string key = PARAMETER_FILE;
+ key += "#";
+ key += sectionstrings[i];
+ key += ".";
+ key += keystr[0];
+ if (i == 0)
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 2);
+ else
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 1);
+ key = PARAMETER_FILE;
+ key += "#";
+ key += sectionstrings[i];
+ key += ".";
+ key += keystr[1];
+ if (i == 0)
+ BOOST_CHECK_EQUAL(strmap.find(key)->second , "strings2");
+ else
+ BOOST_CHECK_EQUAL(strmap.find(key)->second , "strings");
+ }
+ key = "./add.cf#" + sectionstrings[0] + ".key1";
+ BOOST_CHECK_EQUAL(intmap.count(key) , (unsigned int) 0);
+ key = "./add.cf#" + sectionstrings[0] + ".key3";
+ BOOST_CHECK_EQUAL(intmap.count(key) , (unsigned int) 0);
+ key = "./add.cf#" + sectionstrings[9] + ".key1";
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 11);
+ key = "./add.cf#" + sectionstrings[9] + ".key3";
+ BOOST_CHECK_EQUAL(intmap.count(key) , (unsigned int) 0);
+ key = "./add.cf#" + sectionstrings[9] + ".key5";
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 55);
+ key = "./add.cf#" + sectionstrings[0] + ".key2";
+ BOOST_CHECK_EQUAL(strmap.count(key), (unsigned int) 0);
+ key = "./add.cf#" + sectionstrings[0] + ".key4";
+ BOOST_CHECK_EQUAL(strmap.count(key), (unsigned int) 0);
+ key = "./add.cf#" + sectionstrings[9] + ".key2";
+ BOOST_CHECK_EQUAL(strmap.find(key)->second, "strings22");
+ key = "./add.cf#" + sectionstrings[0] + ".key4";
+ BOOST_CHECK_EQUAL(strmap.count(key), (unsigned int) 0);
+ key = "./add.cf#" + sectionstrings[9] + ".key6";
+ BOOST_CHECK_EQUAL(strmap.find(key)->second , "strings66");
+
+ // unit_test[32] non read file check
+ unlink(PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(impl.read_file(l7vs::PARAM_COMP_ALL, PARAMETER_FILE),
+ false);
+
+ unlink("./add.cf");
+
+ // unit_test[33] strmap is no change check
+ BOOST_CHECK_EQUAL(strmap.size(), (unsigned int) 12);
+ // unit_test[34] intmap is no change check
+ BOOST_CHECK_EQUAL(intmap.size(), (unsigned int) 12);
+ // unit_test[35] sectionmap is change check
+ BOOST_CHECK_EQUAL(sectionmap.size(), (unsigned int) 10);
+ for (unsigned int i = 0 ; i < 10; ++i) {
+ std::string key = PARAMETER_FILE;
+ key += "#";
+ key += sectionstrings[i];
+ key += ".";
+ key += keystr[0];
+ // unit test[36] int value check(loaded file)
+ if (i == 0)
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 2);
+ else
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 1);
+ key = PARAMETER_FILE;
+ key += "#";
+ key += sectionstrings[i];
+ key += ".";
+ key += keystr[1];
+ // unit_test[37] string value check(loaded file)
+ // unit_test[38] double cautation erase check(loaded file)
+ if (i == 0)
+ BOOST_CHECK_EQUAL(strmap.find(key)->second , "strings2");
+ else
+ BOOST_CHECK_EQUAL(strmap.find(key)->second , "strings");
+ }
+ key = "./add.cf#" + sectionstrings[9] + ".key1";
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 11);
+ key = "./add.cf#" + sectionstrings[9] + ".key5";
+ BOOST_CHECK_EQUAL(intmap.find(key)->second , 55);
+ key = "./add.cf#" + sectionstrings[9] + ".key2";
+ BOOST_CHECK_EQUAL(strmap.find(key)->second, "strings22");
+ key = "./add.cf#" + sectionstrings[9] + ".key6";
+ BOOST_CHECK_EQUAL(strmap.find(key)->second , "strings66");
+
}
// ParameterImpl::read_file() test
void parameter_impl_read_file_test()
{
- parameter_impl_test& impl = parameter_impl_test::get_instance();
+ parameter_impl_test &impl = parameter_impl_test::get_instance();
- std::multimap<std::string, std::string>& strmap = impl.getMultiStringMap();
- std::map<std::string, int>& intmap = impl.getIntMap();
- std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string >&
- sectionmap = impl.get_section_map();
+ std::multimap<std::string, std::string>& strmap = impl.getMultiStringMap();
+ std::map<std::string, int>& intmap = impl.getIntMap();
+ std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string >&
+ sectionmap = impl.get_section_map();
- // create dummy data
- strmap.insert( std::pair< std::string, std::string >( "abc", "def" ) );
- intmap.insert( std::pair< std::string, int >( "abc", 65000 ) );
- sectionmap.insert( std::pair< l7vs::PARAMETER_COMPONENT_TAG, std::string >( l7vs::PARAM_COMP_NOCAT, "sample" ) );
+ // create dummy data
+ strmap.insert(std::pair< std::string, std::string >("abc", "def"));
+ intmap.insert(std::pair< std::string, int >("abc", 65000));
+ sectionmap.insert(std::pair< l7vs::PARAMETER_COMPONENT_TAG, std::string >(l7vs::PARAM_COMP_NOCAT, "sample"));
#ifdef CASE1
- std::ofstream ofs( PARAMETER_FILE );
- ofs.close();
-
- // unit_test[39] read size 0 file
- BOOST_CHECK_EQUAL( impl.read_file(l7vs::PARAM_COMP_ALL, PARAMETER_FILE),
- true );
- // stringmap size check (size 0 file)
- BOOST_CHECK_EQUAL( strmap.size(), (unsigned int) 0 );
- // intmap size check (size 0 file)
- BOOST_CHECK_EQUAL( intmap.size(), (unsigned int) 0 );
- // section size check (size 0 file)
- BOOST_CHECK_EQUAL( sectionmap.size(), (unsigned int) 1 );
-
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs.close();
+
+ // unit_test[39] read size 0 file
+ BOOST_CHECK_EQUAL(impl.read_file(l7vs::PARAM_COMP_ALL, PARAMETER_FILE),
+ true);
+ // stringmap size check (size 0 file)
+ BOOST_CHECK_EQUAL(strmap.size(), (unsigned int) 0);
+ // intmap size check (size 0 file)
+ BOOST_CHECK_EQUAL(intmap.size(), (unsigned int) 0);
+ // section size check (size 0 file)
+ BOOST_CHECK_EQUAL(sectionmap.size(), (unsigned int) 1);
+
#elif CASE2
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[l7vsd]" << std::endl;
- ofs.close();
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[l7vsd]" << std::endl;
+ ofs.close();
- // unit_test[40] read only seciton file
- BOOST_CHECK_EQUAL( impl.read_file(l7vs::PARAM_COMP_ALL, PARAMETER_FILE),
- true );
- // stringmap size check (only section file)
- BOOST_CHECK_EQUAL( strmap.size(), (unsigned int) 0 );
- // intmap size check (only section file)
- BOOST_CHECK_EQUAL( intmap.size(), (unsigned int) 0 );
- // section size check (only section file)
- BOOST_CHECK_EQUAL( sectionmap.size(), (unsigned int) 1 );
+ // unit_test[40] read only seciton file
+ BOOST_CHECK_EQUAL(impl.read_file(l7vs::PARAM_COMP_ALL, PARAMETER_FILE),
+ true);
+ // stringmap size check (only section file)
+ BOOST_CHECK_EQUAL(strmap.size(), (unsigned int) 0);
+ // intmap size check (only section file)
+ BOOST_CHECK_EQUAL(intmap.size(), (unsigned int) 0);
+ // section size check (only section file)
+ BOOST_CHECK_EQUAL(sectionmap.size(), (unsigned int) 1);
#elif CASE3
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "key1=0" << std::endl;
- ofs.close();
-
- // unit_test[41] read only value file
- BOOST_CHECK_EQUAL( impl.read_file(l7vs::PARAM_COMP_ALL, PARAMETER_FILE),
- false );
- // check log "don't match first section."
- // stringmap size check (only value file)
- BOOST_CHECK_EQUAL( strmap.size(), (unsigned int) 1 );
- // intmap size check (only value file)
- BOOST_CHECK_EQUAL( intmap.size(), (unsigned int) 1 );
- // section size check (only value file)
- BOOST_CHECK_EQUAL( sectionmap.size(), (unsigned int) 1 );
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "key1=0" << std::endl;
+ ofs.close();
+
+ // unit_test[41] read only value file
+ BOOST_CHECK_EQUAL(impl.read_file(l7vs::PARAM_COMP_ALL, PARAMETER_FILE),
+ false);
+ // check log "don't match first section."
+ // stringmap size check (only value file)
+ BOOST_CHECK_EQUAL(strmap.size(), (unsigned int) 1);
+ // intmap size check (only value file)
+ BOOST_CHECK_EQUAL(intmap.size(), (unsigned int) 1);
+ // section size check (only value file)
+ BOOST_CHECK_EQUAL(sectionmap.size(), (unsigned int) 1);
#elif CASE4
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[l7vsd]" << std::endl;
- ofs << "key1=0" << std::endl;
- ofs << "[hoge" << std::endl;
- ofs << "key1=0" << std::endl;
- ofs.close();
-
- // unit_test[42] read unjust section file
- BOOST_CHECK_EQUAL( impl.read_file(l7vs::PARAM_COMP_ALL, PARAMETER_FILE),
- false );
- // check log "section tag false"
- // stringmap size check (unjust section file)
- BOOST_CHECK_EQUAL( strmap.size(), (unsigned int) 1 );
- // intmap size check (unjust section file)
- BOOST_CHECK_EQUAL( intmap.size(), (unsigned int) 1 );
- // section size check (unjust section file)
- BOOST_CHECK_EQUAL( sectionmap.size(), (unsigned int) 1 );
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[l7vsd]" << std::endl;
+ ofs << "key1=0" << std::endl;
+ ofs << "[hoge" << std::endl;
+ ofs << "key1=0" << std::endl;
+ ofs.close();
+
+ // unit_test[42] read unjust section file
+ BOOST_CHECK_EQUAL(impl.read_file(l7vs::PARAM_COMP_ALL, PARAMETER_FILE),
+ false);
+ // check log "section tag false"
+ // stringmap size check (unjust section file)
+ BOOST_CHECK_EQUAL(strmap.size(), (unsigned int) 1);
+ // intmap size check (unjust section file)
+ BOOST_CHECK_EQUAL(intmap.size(), (unsigned int) 1);
+ // section size check (unjust section file)
+ BOOST_CHECK_EQUAL(sectionmap.size(), (unsigned int) 1);
#elif CASE5
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[l7vsd]" << std::endl;
- ofs << "key1=0" << std::endl;
- ofs.close();
-
- // unit_test[43] read file(PARAM_COMP_NOCAT)
- BOOST_CHECK_EQUAL( impl.read_file(l7vs::PARAM_COMP_NOCAT, PARAMETER_FILE),
- true );
- // check log "parameter_component_none is not suport"
- // stringmap size check (PARAM_COMP_NOCAT)
- BOOST_CHECK_EQUAL( strmap.size(), (unsigned int) 1 );
- // intmap size check (PARAM_COMP_NOCAT)
- BOOST_CHECK_EQUAL( intmap.size(), (unsigned int) 1 );
- // section size check (PARAM_COMP_NOCAT)
- BOOST_CHECK_EQUAL( sectionmap.size(), (unsigned int) 1 );
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[l7vsd]" << std::endl;
+ ofs << "key1=0" << std::endl;
+ ofs.close();
+
+ // unit_test[43] read file(PARAM_COMP_NOCAT)
+ BOOST_CHECK_EQUAL(impl.read_file(l7vs::PARAM_COMP_NOCAT, PARAMETER_FILE),
+ true);
+ // check log "parameter_component_none is not suport"
+ // stringmap size check (PARAM_COMP_NOCAT)
+ BOOST_CHECK_EQUAL(strmap.size(), (unsigned int) 1);
+ // intmap size check (PARAM_COMP_NOCAT)
+ BOOST_CHECK_EQUAL(intmap.size(), (unsigned int) 1);
+ // section size check (PARAM_COMP_NOCAT)
+ BOOST_CHECK_EQUAL(sectionmap.size(), (unsigned int) 1);
#endif
- unlink( PARAMETER_FILE );
+ unlink(PARAMETER_FILE);
}
// ParameterImpl::get_int() test
-void parameter_impl_get_int_test(){
- int zero_value = 0;
- int one_value = 1;
- int under_one_value = -1;
- int int_max_value = (INT32_MAX);
- int int_min_value = (INT32_MIN);
-
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[l7vsd]\n";
- ofs << "zero_value = " << zero_value << "\n";
- ofs << "one_value = " << one_value << "\n";
- ofs << "under_one_value = " << under_one_value << "\n";
- ofs << "int_max_value=" << int_max_value << "\n";
- ofs << "int_min_value =" << int_min_value << "\n";
- ofs.close();
-
- parameter_impl_test& impl = parameter_impl_test::get_instance();
- l7vs::error_code err;
- std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string >&
- sectionmap = impl.get_section_map();
- sectionmap.insert( std::pair< l7vs::PARAMETER_COMPONENT_TAG, std::string >( l7vs::PARAM_COMP_L7VSD, "l7vsd" ) );
-
- // unit_test[44] integer file read check
- BOOST_CHECK_EQUAL( impl.read_file( l7vs::PARAM_COMP_ALL, PARAMETER_FILE ),
- true );
- // unit_test[45] zero value check
- int ret = impl.get_int( l7vs::PARAM_COMP_L7VSD, "zero_value",
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( ret , zero_value );
- // unit_test[46] one value check
- ret = impl.get_int( l7vs::PARAM_COMP_L7VSD, "one_value",
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( ret , one_value );
- // unit_test[47] under one value check
- ret = impl.get_int( l7vs::PARAM_COMP_L7VSD, "under_one_value",
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( ret, under_one_value );
- // unit_test[48] int max value check
- ret = impl.get_int( l7vs::PARAM_COMP_L7VSD, "int_max_value",
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( ret, int_max_value );
- // unit_test[49] int min value check
- ret = impl.get_int( l7vs::PARAM_COMP_L7VSD, "int_min_value",
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( ret, int_min_value );
- // unit_test[50] no key error check
- ret = impl.get_int( l7vs::PARAM_COMP_L7VSD, "no_key_value",
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( ret, 0 );
- BOOST_CHECK_EQUAL( err, true );
-
- // unit_test[a1] no read file check
- ret = impl.get_int( l7vs::PARAM_COMP_L7VSD, "zero_value",
- err, "./add.cf");
- BOOST_CHECK_EQUAL( ret, 0 );
- BOOST_CHECK_EQUAL( err, true );
-
- unlink( PARAMETER_FILE );
+void parameter_impl_get_int_test()
+{
+ int zero_value = 0;
+ int one_value = 1;
+ int under_one_value = -1;
+ int int_max_value = (INT32_MAX);
+ int int_min_value = (INT32_MIN);
+
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[l7vsd]\n";
+ ofs << "zero_value = " << zero_value << "\n";
+ ofs << "one_value = " << one_value << "\n";
+ ofs << "under_one_value = " << under_one_value << "\n";
+ ofs << "int_max_value=" << int_max_value << "\n";
+ ofs << "int_min_value =" << int_min_value << "\n";
+ ofs.close();
+
+ parameter_impl_test &impl = parameter_impl_test::get_instance();
+ l7vs::error_code err;
+ std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string >&
+ sectionmap = impl.get_section_map();
+ sectionmap.insert(std::pair< l7vs::PARAMETER_COMPONENT_TAG, std::string >(l7vs::PARAM_COMP_L7VSD, "l7vsd"));
+
+ // unit_test[44] integer file read check
+ BOOST_CHECK_EQUAL(impl.read_file(l7vs::PARAM_COMP_ALL, PARAMETER_FILE),
+ true);
+ // unit_test[45] zero value check
+ int ret = impl.get_int(l7vs::PARAM_COMP_L7VSD, "zero_value",
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(ret , zero_value);
+ // unit_test[46] one value check
+ ret = impl.get_int(l7vs::PARAM_COMP_L7VSD, "one_value",
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(ret , one_value);
+ // unit_test[47] under one value check
+ ret = impl.get_int(l7vs::PARAM_COMP_L7VSD, "under_one_value",
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(ret, under_one_value);
+ // unit_test[48] int max value check
+ ret = impl.get_int(l7vs::PARAM_COMP_L7VSD, "int_max_value",
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(ret, int_max_value);
+ // unit_test[49] int min value check
+ ret = impl.get_int(l7vs::PARAM_COMP_L7VSD, "int_min_value",
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(ret, int_min_value);
+ // unit_test[50] no key error check
+ ret = impl.get_int(l7vs::PARAM_COMP_L7VSD, "no_key_value",
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(ret, 0);
+ BOOST_CHECK_EQUAL(err, true);
+
+ // unit_test[a1] no read file check
+ ret = impl.get_int(l7vs::PARAM_COMP_L7VSD, "zero_value",
+ err, "./add.cf");
+ BOOST_CHECK_EQUAL(ret, 0);
+ BOOST_CHECK_EQUAL(err, true);
+
+ unlink(PARAMETER_FILE);
}
// ParameterImpl::get_string() test
-void parameter_impl_get_string_test(){
- l7vs::error_code err;
- std::string str_value = "strvalue";
- std::string zero_str_value = "";
- std::string long_str_value = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_+*-/!$%&'()~|";
- std::string space_str_value = "sample is not report ";
-
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[l7vsd]\n";
- ofs << "str_value = \"" << str_value << "\"\n";
- ofs << "zero_str_value=\"" << zero_str_value << "\"\n";
- ofs << "long_str_value= \"" << long_str_value << "\"\n";
- ofs << "space_str_value=\"" << space_str_value << "\"\n";
- ofs.close();
-
- parameter_impl_test& impl = parameter_impl_test::get_instance();
- std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string >&
- sectionmap = impl.get_section_map();
- sectionmap.insert( std::pair< l7vs::PARAMETER_COMPONENT_TAG, std::string >( l7vs::PARAM_COMP_L7VSD, "l7vsd" ) );
-
- // unit_test[51] string file read check
- BOOST_CHECK_EQUAL( impl.read_file( l7vs::PARAM_COMP_ALL, PARAMETER_FILE ),
- true );
- // unit_test[52] str value check
- std::string ret = impl.get_string( l7vs::PARAM_COMP_L7VSD, "str_value",
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( err, false );
- BOOST_CHECK_EQUAL( ret, str_value );
- // unit_test[53] zero size string test
- ret = impl.get_string( l7vs::PARAM_COMP_L7VSD, "zero_str_value",
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( ret, zero_str_value );
- // unit_test[54] long string test
- ret = impl.get_string( l7vs::PARAM_COMP_L7VSD, "long_str_value",
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( ret, long_str_value );
- // unit_test[55] space string test
- ret = impl.get_string( l7vs::PARAM_COMP_L7VSD, "space_str_value",
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( ret , space_str_value );
- // unit_test[56] string no key test
- ret = impl.get_string( l7vs::PARAM_COMP_L7VSD, "no_key_value",
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( ret, std::string("") );
- BOOST_CHECK_EQUAL( err, true );
-
- // unit_test[a2] no read file check
- ret = impl.get_string( l7vs::PARAM_COMP_L7VSD, "str_value",
- err, "./add.cf" );
- BOOST_CHECK_EQUAL( ret, std::string("") );
- BOOST_CHECK_EQUAL( err, true );
-
- unlink( PARAMETER_FILE );
+void parameter_impl_get_string_test()
+{
+ l7vs::error_code err;
+ std::string str_value = "strvalue";
+ std::string zero_str_value = "";
+ std::string long_str_value = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_+*-/!$%&'()~|";
+ std::string space_str_value = "sample is not report ";
+
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[l7vsd]\n";
+ ofs << "str_value = \"" << str_value << "\"\n";
+ ofs << "zero_str_value=\"" << zero_str_value << "\"\n";
+ ofs << "long_str_value= \"" << long_str_value << "\"\n";
+ ofs << "space_str_value=\"" << space_str_value << "\"\n";
+ ofs.close();
+
+ parameter_impl_test &impl = parameter_impl_test::get_instance();
+ std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string >&
+ sectionmap = impl.get_section_map();
+ sectionmap.insert(std::pair< l7vs::PARAMETER_COMPONENT_TAG, std::string >(l7vs::PARAM_COMP_L7VSD, "l7vsd"));
+
+ // unit_test[51] string file read check
+ BOOST_CHECK_EQUAL(impl.read_file(l7vs::PARAM_COMP_ALL, PARAMETER_FILE),
+ true);
+ // unit_test[52] str value check
+ std::string ret = impl.get_string(l7vs::PARAM_COMP_L7VSD, "str_value",
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(err, false);
+ BOOST_CHECK_EQUAL(ret, str_value);
+ // unit_test[53] zero size string test
+ ret = impl.get_string(l7vs::PARAM_COMP_L7VSD, "zero_str_value",
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(ret, zero_str_value);
+ // unit_test[54] long string test
+ ret = impl.get_string(l7vs::PARAM_COMP_L7VSD, "long_str_value",
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(ret, long_str_value);
+ // unit_test[55] space string test
+ ret = impl.get_string(l7vs::PARAM_COMP_L7VSD, "space_str_value",
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(ret , space_str_value);
+ // unit_test[56] string no key test
+ ret = impl.get_string(l7vs::PARAM_COMP_L7VSD, "no_key_value",
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(ret, std::string(""));
+ BOOST_CHECK_EQUAL(err, true);
+
+ // unit_test[a2] no read file check
+ ret = impl.get_string(l7vs::PARAM_COMP_L7VSD, "str_value",
+ err, "./add.cf");
+ BOOST_CHECK_EQUAL(ret, std::string(""));
+ BOOST_CHECK_EQUAL(err, true);
+
+ unlink(PARAMETER_FILE);
}
// ParameterImpl::get_multistring() test
-void parameter_impl_get_multistring_test(){
- l7vs::error_code err;
- std::string str_value1 = "strvalue1";
- std::string str_value2 = "strvalue2";
- std::vector<std::string> ret_vector;
-
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[ssl]\n";
- ofs << "str_value2 = \"" << str_value2 << "\"\n";
- ofs << "str_value1 = \"" << str_value1 << "\"\n";
- ofs << "str_value2 = \"" << str_value2 << "\"\n";
- ofs.close();
-
- parameter_impl_test& impl = parameter_impl_test::get_instance();
- std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string >&
- sectionmap = impl.get_section_map();
- sectionmap.insert( std::pair< l7vs::PARAMETER_COMPONENT_TAG, std::string >( l7vs::PARAM_COMP_SSL, "ssl" ) );
-
- // unit_test[57] multistring file read check
- BOOST_CHECK_EQUAL( impl.read_file( l7vs::PARAM_COMP_SSL, PARAMETER_FILE ),
- true );
- // unit_test[58] multistring value check(2 values)
- impl.get_multistring(l7vs::PARAM_COMP_SSL, "str_value2", ret_vector,
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( err, false );
- BOOST_CHECK_EQUAL( ret_vector.size(), (unsigned int)2 );
- BOOST_CHECK_EQUAL( ret_vector[0], str_value2 );
- BOOST_CHECK_EQUAL( ret_vector[1], str_value2 );
- // unit_test[59] multistring value check(1 value)
- impl.get_multistring(l7vs::PARAM_COMP_SSL, "str_value1", ret_vector,
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( err, false );
- BOOST_CHECK_EQUAL( ret_vector.size(), (unsigned int)1 );
- BOOST_CHECK_EQUAL( ret_vector[0], str_value1 );
- // unit_test[60] multistring no key test
- impl.get_multistring(l7vs::PARAM_COMP_SSL, "no_key_value", ret_vector,
- err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( ret_vector.empty(), true );
- BOOST_CHECK_EQUAL( err, true );
-
- // unit_test[a3] no read file check
- impl.get_multistring( l7vs::PARAM_COMP_L7VSD, "str_value1", ret_vector,
- err, "./add.cf" );
- BOOST_CHECK_EQUAL( ret_vector.empty(), true );
- BOOST_CHECK_EQUAL( err, true );
-
- unlink( PARAMETER_FILE );
+void parameter_impl_get_multistring_test()
+{
+ l7vs::error_code err;
+ std::string str_value1 = "strvalue1";
+ std::string str_value2 = "strvalue2";
+ std::vector<std::string> ret_vector;
+
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[ssl]\n";
+ ofs << "str_value2 = \"" << str_value2 << "\"\n";
+ ofs << "str_value1 = \"" << str_value1 << "\"\n";
+ ofs << "str_value2 = \"" << str_value2 << "\"\n";
+ ofs.close();
+
+ parameter_impl_test &impl = parameter_impl_test::get_instance();
+ std::map<l7vs::PARAMETER_COMPONENT_TAG, std::string >&
+ sectionmap = impl.get_section_map();
+ sectionmap.insert(std::pair< l7vs::PARAMETER_COMPONENT_TAG, std::string >(l7vs::PARAM_COMP_SSL, "ssl"));
+
+ // unit_test[57] multistring file read check
+ BOOST_CHECK_EQUAL(impl.read_file(l7vs::PARAM_COMP_SSL, PARAMETER_FILE),
+ true);
+ // unit_test[58] multistring value check(2 values)
+ impl.get_multistring(l7vs::PARAM_COMP_SSL, "str_value2", ret_vector,
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(err, false);
+ BOOST_CHECK_EQUAL(ret_vector.size(), (unsigned int)2);
+ BOOST_CHECK_EQUAL(ret_vector[0], str_value2);
+ BOOST_CHECK_EQUAL(ret_vector[1], str_value2);
+ // unit_test[59] multistring value check(1 value)
+ impl.get_multistring(l7vs::PARAM_COMP_SSL, "str_value1", ret_vector,
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(err, false);
+ BOOST_CHECK_EQUAL(ret_vector.size(), (unsigned int)1);
+ BOOST_CHECK_EQUAL(ret_vector[0], str_value1);
+ // unit_test[60] multistring no key test
+ impl.get_multistring(l7vs::PARAM_COMP_SSL, "no_key_value", ret_vector,
+ err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(ret_vector.empty(), true);
+ BOOST_CHECK_EQUAL(err, true);
+
+ // unit_test[a3] no read file check
+ impl.get_multistring(l7vs::PARAM_COMP_L7VSD, "str_value1", ret_vector,
+ err, "./add.cf");
+ BOOST_CHECK_EQUAL(ret_vector.empty(), true);
+ BOOST_CHECK_EQUAL(err, true);
+
+ unlink(PARAMETER_FILE);
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // Logger initialize
- l7vs::Logger logger_instance;
- logger_instance.loadConf();
+ // Logger initialize
+ l7vs::Logger logger_instance;
+ logger_instance.loadConf();
- // create unit test suite
- // !!!! target test case is only one
- test_suite* ts = BOOST_TEST_SUITE( "parameter_impl" );
+ // create unit test suite
+ // !!!! target test case is only one
+ test_suite *ts = BOOST_TEST_SUITE("parameter_impl");
// ts->add( BOOST_TEST_CASE( ¶meter_impl_init_test ) );
// ts->add( BOOST_TEST_CASE( ¶meter_impl_read_file_test ) );
// ts->add( BOOST_TEST_CASE( ¶meter_impl_get_int_test ) );
// ts->add( BOOST_TEST_CASE( ¶meter_impl_get_string_test ) );
- ts->add( BOOST_TEST_CASE( ¶meter_impl_get_multistring_test ) );
+ ts->add(BOOST_TEST_CASE(¶meter_impl_get_multistring_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
using namespace boost::unit_test;
-void create_inis(){
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[l7vsd]\n";
- ofs << "sample_value = \"sample\"";
- ofs.close();
+void create_inis()
+{
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[l7vsd]\n";
+ ofs << "sample_value = \"sample\"";
+ ofs.close();
}
-class impl_test : public l7vs::ParameterImpl{
+class impl_test : public l7vs::ParameterImpl
+{
public:
- void* get_intmap_address(){ return (void*) &intMap; }
- static impl_test& get_instance(){
- static impl_test instance;
- return instance;
- }
+ void *get_intmap_address() {
+ return (void *) &intMap;
+ }
+ static impl_test &get_instance() {
+ static impl_test instance;
+ return instance;
+ }
};
-void* thread1_intmap_address = NULL;
-void* thread2_intmap_address = NULL;
+void *thread1_intmap_address = NULL;
+void *thread2_intmap_address = NULL;
-void thread1(){
- impl_test& impl = impl_test::get_instance();
- thread1_intmap_address = impl.get_intmap_address();
+void thread1()
+{
+ impl_test &impl = impl_test::get_instance();
+ thread1_intmap_address = impl.get_intmap_address();
}
-void thread2(){
- impl_test& impl = impl_test::get_instance();
- thread2_intmap_address = impl.get_intmap_address();
+void thread2()
+{
+ impl_test &impl = impl_test::get_instance();
+ thread2_intmap_address = impl.get_intmap_address();
}
-void thread_test1(){
- // unit_test[1] thread initialize once test( one map access check )
- boost::thread thd1( &thread1 );
- boost::thread thd2( &thread2 );
- thd1.join();
- thd2.join();
- BOOST_CHECK_EQUAL( thread2_intmap_address, thread1_intmap_address );
+void thread_test1()
+{
+ // unit_test[1] thread initialize once test( one map access check )
+ boost::thread thd1(&thread1);
+ boost::thread thd2(&thread2);
+ thd1.join();
+ thd2.join();
+ BOOST_CHECK_EQUAL(thread2_intmap_address, thread1_intmap_address);
}
-void thread3(){
- l7vs::ParameterImpl& impl = l7vs::ParameterImpl::get_instance();
- for( size_t i = 0 ; i < 100; ++i ){
- l7vs::error_code err;
- std::string str = impl.get_string( l7vs::PARAM_COMP_L7VSD, "sample_value", err, PARAMETER_FILE );
- BOOST_CHECK_EQUAL( err, false );
- BOOST_CHECK_EQUAL( str, "sample" );
- }
+void thread3()
+{
+ l7vs::ParameterImpl &impl = l7vs::ParameterImpl::get_instance();
+ for (size_t i = 0 ; i < 100; ++i) {
+ l7vs::error_code err;
+ std::string str = impl.get_string(l7vs::PARAM_COMP_L7VSD, "sample_value", err, PARAMETER_FILE);
+ BOOST_CHECK_EQUAL(err, false);
+ BOOST_CHECK_EQUAL(str, "sample");
+ }
}
-void thread_test2(){
+void thread_test2()
+{
// unit_test[2] multi thread access check
- boost::thread thd1( &thread3 );
- boost::thread thd2( &thread3 );
- boost::thread thd3( &thread3 );
- thd1.join();
- thd2.join();
- thd3.join();
+ boost::thread thd1(&thread3);
+ boost::thread thd2(&thread3);
+ boost::thread thd3(&thread3);
+ thd1.join();
+ thd2.join();
+ thd3.join();
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // Logger initialize
- l7vs::Logger logger_instance;
- logger_instance.loadConf();
+ // Logger initialize
+ l7vs::Logger logger_instance;
+ logger_instance.loadConf();
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "parameter_impl_thread" );
- unlink( PARAMETER_FILE );
- create_inis();
- l7vs::ParameterImpl& impl = l7vs::ParameterImpl::get_instance();
- impl.init();
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("parameter_impl_thread");
+ unlink(PARAMETER_FILE);
+ create_inis();
+ l7vs::ParameterImpl &impl = l7vs::ParameterImpl::get_instance();
+ impl.init();
- ts->add( BOOST_TEST_CASE( &thread_test1 ) );
- ts->add( BOOST_TEST_CASE( &thread_test2 ) );
+ ts->add(BOOST_TEST_CASE(&thread_test1));
+ ts->add(BOOST_TEST_CASE(&thread_test2));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
using namespace boost::unit_test;
-class parameter_test : public l7vs::Parameter{
+class parameter_test : public l7vs::Parameter
+{
};
// Parameter::Parameter() test
-void parameter_constructor_test(){
+void parameter_constructor_test()
+{
- l7vs::error_code err;
- int zero_value = 0;
+ l7vs::error_code err;
+ int zero_value = 0;
- // unit_test [1] parameter constructor check init NG
- unlink( PARAMETER_FILE );
+ // unit_test [1] parameter constructor check init NG
+ unlink(PARAMETER_FILE);
// parameter_test param_test1;
- // check log "Parameter initialize failure"
+ // check log "Parameter initialize failure"
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[l7vsd]\n";
- ofs << "zero_value =" << zero_value << "\n";
- ofs.close();
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[l7vsd]\n";
+ ofs << "zero_value =" << zero_value << "\n";
+ ofs.close();
- // unit_test [2] parameter constructor check
+ // unit_test [2] parameter constructor check
// parameter_test param_test2;
// int ret = param_test2.get_int( l7vs::PARAM_COMP_L7VSD, "zero_value", err );
// BOOST_CHECK_EQUAL( ret, zero_value );
- // unit_test[0] parameter constructor re check
- parameter_test param_test0;
- // check log "It's initialized already."
+ // unit_test[0] parameter constructor re check
+ parameter_test param_test0;
+ // check log "It's initialized already."
- unlink( PARAMETER_FILE );
+ unlink(PARAMETER_FILE);
}
// Parameter::init() test
-void parameter_init_test(){
+void parameter_init_test()
+{
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[l7vsd]\n";
- ofs << "zero_value = 0\n";
- ofs.close();
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[l7vsd]\n";
+ ofs << "zero_value = 0\n";
+ ofs.close();
- parameter_test param_test1;
- parameter_test param_test2;
+ parameter_test param_test1;
+ parameter_test param_test2;
- // unit_test [3] parameter init() check
- BOOST_CHECK_EQUAL( param_test1.init( l7vs::PARAM_COMP_L7VSD,
- PARAMETER_FILE ), true );
+ // unit_test [3] parameter init() check
+ BOOST_CHECK_EQUAL(param_test1.init(l7vs::PARAM_COMP_L7VSD,
+ PARAMETER_FILE), true);
- // uint_test [4] parameter init() false check
- BOOST_CHECK_EQUAL( param_test2.init( l7vs::PARAM_COMP_SSL,"./hoge.cf" ),
- false );
- // check FATAL LOG
+ // uint_test [4] parameter init() false check
+ BOOST_CHECK_EQUAL(param_test2.init(l7vs::PARAM_COMP_SSL, "./hoge.cf"),
+ false);
+ // check FATAL LOG
- unlink( PARAMETER_FILE );
+ unlink(PARAMETER_FILE);
}
// Parameter::read_file() test
-void parameter_read_file_test(){
+void parameter_read_file_test()
+{
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[l7vsd]\n";
- ofs << "zero_value = 0\n";
- ofs.close();
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[l7vsd]\n";
+ ofs << "zero_value = 0\n";
+ ofs.close();
- std::ofstream ofs2( "./add.cf" );
- ofs2 << "[ssl]\n";
- ofs2 << "zero_value = 0" << "\n";
- ofs2.close();
+ std::ofstream ofs2("./add.cf");
+ ofs2 << "[ssl]\n";
+ ofs2 << "zero_value = 0" << "\n";
+ ofs2.close();
- parameter_test param_test;
+ parameter_test param_test;
- // unit_test [5] read_file(default file) check
- BOOST_CHECK_EQUAL( param_test.read_file( l7vs::PARAM_COMP_L7VSD ), true );
+ // unit_test [5] read_file(default file) check
+ BOOST_CHECK_EQUAL(param_test.read_file(l7vs::PARAM_COMP_L7VSD), true);
- // unit_test [6] read_file(filename) check
- BOOST_CHECK_EQUAL(
- param_test.read_file( l7vs::PARAM_COMP_SSL, "./add.cf" ),
- true );
+ // unit_test [6] read_file(filename) check
+ BOOST_CHECK_EQUAL(
+ param_test.read_file(l7vs::PARAM_COMP_SSL, "./add.cf"),
+ true);
- // unit_test [7] read_file ( no file ) check
- BOOST_CHECK_EQUAL(
- param_test.read_file( l7vs::PARAM_COMP_L7VSD, "./hoge.cf" ),
- false );
+ // unit_test [7] read_file ( no file ) check
+ BOOST_CHECK_EQUAL(
+ param_test.read_file(l7vs::PARAM_COMP_L7VSD, "./hoge.cf"),
+ false);
- unlink( PARAMETER_FILE );
- unlink( "./add.cf" );
+ unlink(PARAMETER_FILE);
+ unlink("./add.cf");
}
// Parameter::get_int() test
-void parameter_get_int_test(){
+void parameter_get_int_test()
+{
- l7vs::error_code err;
- int zero_value = 0;
- int ret = 99;
+ l7vs::error_code err;
+ int zero_value = 0;
+ int ret = 99;
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[l7vsd]\n";
- ofs << "zero_value = " << zero_value << "\n";
- ofs.close();
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[l7vsd]\n";
+ ofs << "zero_value = " << zero_value << "\n";
+ ofs.close();
- parameter_test param_test;
+ parameter_test param_test;
- // unit_test [8] get_int call check
- ret = param_test.get_int( l7vs::PARAM_COMP_L7VSD,"zero_value", err );
- BOOST_CHECK_EQUAL( ret, zero_value );
+ // unit_test [8] get_int call check
+ ret = param_test.get_int(l7vs::PARAM_COMP_L7VSD, "zero_value", err);
+ BOOST_CHECK_EQUAL(ret, zero_value);
- unlink( PARAMETER_FILE );
+ unlink(PARAMETER_FILE);
}
// Parameter::get_string() test
-void parameter_get_string_test(){
+void parameter_get_string_test()
+{
- l7vs::error_code err;
- std::string str_value = "\"strings\"";
- std::string ret_str = "ZZZZ";
+ l7vs::error_code err;
+ std::string str_value = "\"strings\"";
+ std::string ret_str = "ZZZZ";
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[l7vsd]\n";
- ofs << "string_value = " << str_value << "\n";
- ofs.close();
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[l7vsd]\n";
+ ofs << "string_value = " << str_value << "\n";
+ ofs.close();
- parameter_test param_test;
+ parameter_test param_test;
- // unit_test [9] get_string call check
- ret_str = param_test.get_string( l7vs::PARAM_COMP_L7VSD,
- "string_value", err );
- BOOST_CHECK_EQUAL( err, false );
- BOOST_CHECK_EQUAL( ret_str, "strings" );
+ // unit_test [9] get_string call check
+ ret_str = param_test.get_string(l7vs::PARAM_COMP_L7VSD,
+ "string_value", err);
+ BOOST_CHECK_EQUAL(err, false);
+ BOOST_CHECK_EQUAL(ret_str, "strings");
- unlink( PARAMETER_FILE );
+ unlink(PARAMETER_FILE);
}
// Parameter::get_multistring() test
-void parameter_get_multistring_test(){
+void parameter_get_multistring_test()
+{
- l7vs::error_code err;
- std::string str_value_1 = "\"strings_1\"";
- std::string str_value_2 = "\"strings_2\"";
- std::vector<std::string> ret_vec;
+ l7vs::error_code err;
+ std::string str_value_1 = "\"strings_1\"";
+ std::string str_value_2 = "\"strings_2\"";
+ std::vector<std::string> ret_vec;
- std::ofstream ofs( PARAMETER_FILE );
- ofs << "[ssl]\n";
- ofs << "string_value = " << str_value_1 << "\n";
- ofs << "string_value = " << str_value_2 << "\n";
- ofs.close();
+ std::ofstream ofs(PARAMETER_FILE);
+ ofs << "[ssl]\n";
+ ofs << "string_value = " << str_value_1 << "\n";
+ ofs << "string_value = " << str_value_2 << "\n";
+ ofs.close();
- parameter_test param_test;
+ parameter_test param_test;
- // unit_test [10] get_multistring call check
- param_test.get_multistring( l7vs::PARAM_COMP_SSL,
- "string_value", ret_vec, err );
- BOOST_CHECK_EQUAL( ret_vec.size(), (unsigned int)2 );
- BOOST_CHECK_EQUAL( ret_vec[0], "strings_1" );
- BOOST_CHECK_EQUAL( ret_vec[1], "strings_2" );
+ // unit_test [10] get_multistring call check
+ param_test.get_multistring(l7vs::PARAM_COMP_SSL,
+ "string_value", ret_vec, err);
+ BOOST_CHECK_EQUAL(ret_vec.size(), (unsigned int)2);
+ BOOST_CHECK_EQUAL(ret_vec[0], "strings_1");
+ BOOST_CHECK_EQUAL(ret_vec[1], "strings_2");
- unlink( PARAMETER_FILE );
+ unlink(PARAMETER_FILE);
}
// read pattern test
-void parameter_read_pattern0(){
-
- l7vs::PARAMETER_COMPONENT_TAG comp_tag[10] = {
- l7vs::PARAM_COMP_L7VSD, //!< parameter category l7vsd
- l7vs::PARAM_COMP_COMMAND, //!< parameter category command
- l7vs::PARAM_COMP_SESSION, //!< parameter category session
- l7vs::PARAM_COMP_VIRTUALSERVICE, //!< parameter category virtualservice
- l7vs::PARAM_COMP_MODULE, //!< parameter category module control
- l7vs::PARAM_COMP_REPLICATION, //!< parameter category replication
- l7vs::PARAM_COMP_LOGGER, //!< parameter category logger
- l7vs::PARAM_COMP_L7VSADM, //!< parameter category l7vsadm
- l7vs::PARAM_COMP_SNMPAGENT, //!< parameter category snmpagent
- l7vs::PARAM_COMP_SSL}; //!< parameter category ssl
- l7vs::error_code err;
- // create init files.
- std::string sectionstrings[10];
- sectionstrings[0] = "l7vsd";
- sectionstrings[1] = "command";
- sectionstrings[2] = "session";
- sectionstrings[3] = "virtualservice";
- sectionstrings[4] = "module";
- sectionstrings[5] = "replication";
- sectionstrings[6] = "logger";
- sectionstrings[7] = "l7vsadm";
- sectionstrings[8] = "snmpagent";
- std::string keystr[2];
- keystr[0] = "key1";
- keystr[1] = "key2";
- std::string valuestr[2];
- valuestr[0] = "1";
- valuestr[1] = "\"strings\"";
- valuestr[2] = "2";
- valuestr[3] = "\"strings2\"";
- std::ofstream ofs( PARAMETER_FILE );
- for( int i = 0 ; i < 9; ++i ){
- ofs << "[" << sectionstrings[i] << "]\n";
- ofs << keystr[0] << "=" << valuestr[0] << "\n";
- ofs << keystr[1] << " = " << valuestr[1] << "\n";
- }
- ofs << "[" << sectionstrings[0] << "]\n";
- ofs << keystr[0] << "=" << valuestr[2] << std::endl; // overwrite check
- ofs << keystr[1] << " = " << valuestr[3] << std::endl; // overwrite check
- ofs.close();
-
- // unit_test[a1] default file read
- parameter_test param;
-
- for( int i = 0; i < 9; ++i ){
- if( i == 0 ){
- BOOST_CHECK_EQUAL( param.get_int( comp_tag[i],
- keystr[0], err, PARAMETER_FILE ), 2 );
- BOOST_CHECK_EQUAL( param.get_string( comp_tag[i],
- keystr[1], err, PARAMETER_FILE ), "strings2" );
+void parameter_read_pattern0()
+{
+
+ l7vs::PARAMETER_COMPONENT_TAG comp_tag[10] = {
+ l7vs::PARAM_COMP_L7VSD, //!< parameter category l7vsd
+ l7vs::PARAM_COMP_COMMAND, //!< parameter category command
+ l7vs::PARAM_COMP_SESSION, //!< parameter category session
+ l7vs::PARAM_COMP_VIRTUALSERVICE, //!< parameter category virtualservice
+ l7vs::PARAM_COMP_MODULE, //!< parameter category module control
+ l7vs::PARAM_COMP_REPLICATION, //!< parameter category replication
+ l7vs::PARAM_COMP_LOGGER, //!< parameter category logger
+ l7vs::PARAM_COMP_L7VSADM, //!< parameter category l7vsadm
+ l7vs::PARAM_COMP_SNMPAGENT, //!< parameter category snmpagent
+ l7vs::PARAM_COMP_SSL
+ }; //!< parameter category ssl
+ l7vs::error_code err;
+ // create init files.
+ std::string sectionstrings[10];
+ sectionstrings[0] = "l7vsd";
+ sectionstrings[1] = "command";
+ sectionstrings[2] = "session";
+ sectionstrings[3] = "virtualservice";
+ sectionstrings[4] = "module";
+ sectionstrings[5] = "replication";
+ sectionstrings[6] = "logger";
+ sectionstrings[7] = "l7vsadm";
+ sectionstrings[8] = "snmpagent";
+ std::string keystr[2];
+ keystr[0] = "key1";
+ keystr[1] = "key2";
+ std::string valuestr[2];
+ valuestr[0] = "1";
+ valuestr[1] = "\"strings\"";
+ valuestr[2] = "2";
+ valuestr[3] = "\"strings2\"";
+ std::ofstream ofs(PARAMETER_FILE);
+ for (int i = 0 ; i < 9; ++i) {
+ ofs << "[" << sectionstrings[i] << "]\n";
+ ofs << keystr[0] << "=" << valuestr[0] << "\n";
+ ofs << keystr[1] << " = " << valuestr[1] << "\n";
}
- else{
- BOOST_CHECK_EQUAL( param.get_int( comp_tag[i],
- keystr[0], err, PARAMETER_FILE ), 1);
- BOOST_CHECK_EQUAL( param.get_string( comp_tag[i],
- keystr[1], err, PARAMETER_FILE ), "strings" );
+ ofs << "[" << sectionstrings[0] << "]\n";
+ ofs << keystr[0] << "=" << valuestr[2] << std::endl; // overwrite check
+ ofs << keystr[1] << " = " << valuestr[3] << std::endl; // overwrite check
+ ofs.close();
+
+ // unit_test[a1] default file read
+ parameter_test param;
+
+ for (int i = 0; i < 9; ++i) {
+ if (i == 0) {
+ BOOST_CHECK_EQUAL(param.get_int(comp_tag[i],
+ keystr[0], err, PARAMETER_FILE), 2);
+ BOOST_CHECK_EQUAL(param.get_string(comp_tag[i],
+ keystr[1], err, PARAMETER_FILE), "strings2");
+ } else {
+ BOOST_CHECK_EQUAL(param.get_int(comp_tag[i],
+ keystr[0], err, PARAMETER_FILE), 1);
+ BOOST_CHECK_EQUAL(param.get_string(comp_tag[i],
+ keystr[1], err, PARAMETER_FILE), "strings");
+ }
}
- }
- unlink( PARAMETER_FILE );
+ unlink(PARAMETER_FILE);
}
// read file pattern1
-void parameter_read_pattern1(){
-
- // ssl1.cf read
- // ssl1.cf update
- // ssl1.cf read
-
- // ssl file create
- l7vs::error_code err;
- std::vector<std::string> strvec;
-
- {
- std::ofstream ofs( "./ssl1.cf" );
- ofs << "[ssl]\n";
- ofs << "string_value0 = \"ssl_10\"\n";
- ofs << "mstring_value = \"ssl_11\"\n";
- ofs << "mstring_value = \"ssl_12\"\n";
- ofs << "int_value = 10\n";
- ofs.close();
- }
- // default file read
- parameter_read_pattern0();
-
- parameter_test param;
- // read ssl file
- param.init( l7vs::PARAM_COMP_SSL, "./ssl1.cf" );
-
- BOOST_CHECK_EQUAL( param.get_int( l7vs::PARAM_COMP_SSL,
- "int_value", err, "./ssl1.cf" ), 10 );
- BOOST_CHECK_EQUAL( param.get_string( l7vs::PARAM_COMP_SSL,
- "string_value0", err, "./ssl1.cf" ), "ssl_10");
- param.get_multistring( l7vs::PARAM_COMP_SSL, "mstring_value",
- strvec, err, "./ssl1.cf" );
- BOOST_CHECK_EQUAL( strvec[0], "ssl_11" );
- BOOST_CHECK_EQUAL( strvec[1], "ssl_12" );
-
- unlink( "./ssl1cf" );
-
- {
- std::ofstream ofs( "./ssl1.cf" );
- ofs << "[ssl]\n";
- ofs << "string_value0 = \"ssl_20\"\n";
- ofs << "m2string_value = \"ssl_21\"\n";
- ofs << "m2string_value = \"ssl_22\"\n";
- ofs << "int_value = 20\n";
- ofs.close();
- }
- // re-read ssl file
- param.init( l7vs::PARAM_COMP_SSL, "./ssl1.cf" );
-
- BOOST_CHECK_EQUAL( param.get_int( l7vs::PARAM_COMP_SSL,
- "int_value", err, "./ssl1.cf" ), 20 );
- BOOST_CHECK_EQUAL( param.get_string( l7vs::PARAM_COMP_SSL,
- "string_value0", err, "./ssl1.cf" ), "ssl_20");
- param.get_multistring( l7vs::PARAM_COMP_SSL, "mstring_value",
- strvec, err, "./ssl1.cf" );
- BOOST_CHECK_EQUAL( err, true );
- param.get_multistring( l7vs::PARAM_COMP_SSL, "m2string_value",
- strvec, err, "./ssl1.cf" );
- BOOST_CHECK_EQUAL( strvec[0], "ssl_21" );
- BOOST_CHECK_EQUAL( strvec[1], "ssl_22" );
-
- unlink( "./ssl1cf" );
+void parameter_read_pattern1()
+{
+
+ // ssl1.cf read
+ // ssl1.cf update
+ // ssl1.cf read
+
+ // ssl file create
+ l7vs::error_code err;
+ std::vector<std::string> strvec;
+
+ {
+ std::ofstream ofs("./ssl1.cf");
+ ofs << "[ssl]\n";
+ ofs << "string_value0 = \"ssl_10\"\n";
+ ofs << "mstring_value = \"ssl_11\"\n";
+ ofs << "mstring_value = \"ssl_12\"\n";
+ ofs << "int_value = 10\n";
+ ofs.close();
+ }
+ // default file read
+ parameter_read_pattern0();
+
+ parameter_test param;
+ // read ssl file
+ param.init(l7vs::PARAM_COMP_SSL, "./ssl1.cf");
+
+ BOOST_CHECK_EQUAL(param.get_int(l7vs::PARAM_COMP_SSL,
+ "int_value", err, "./ssl1.cf"), 10);
+ BOOST_CHECK_EQUAL(param.get_string(l7vs::PARAM_COMP_SSL,
+ "string_value0", err, "./ssl1.cf"), "ssl_10");
+ param.get_multistring(l7vs::PARAM_COMP_SSL, "mstring_value",
+ strvec, err, "./ssl1.cf");
+ BOOST_CHECK_EQUAL(strvec[0], "ssl_11");
+ BOOST_CHECK_EQUAL(strvec[1], "ssl_12");
+
+ unlink("./ssl1cf");
+
+ {
+ std::ofstream ofs("./ssl1.cf");
+ ofs << "[ssl]\n";
+ ofs << "string_value0 = \"ssl_20\"\n";
+ ofs << "m2string_value = \"ssl_21\"\n";
+ ofs << "m2string_value = \"ssl_22\"\n";
+ ofs << "int_value = 20\n";
+ ofs.close();
+ }
+ // re-read ssl file
+ param.init(l7vs::PARAM_COMP_SSL, "./ssl1.cf");
+
+ BOOST_CHECK_EQUAL(param.get_int(l7vs::PARAM_COMP_SSL,
+ "int_value", err, "./ssl1.cf"), 20);
+ BOOST_CHECK_EQUAL(param.get_string(l7vs::PARAM_COMP_SSL,
+ "string_value0", err, "./ssl1.cf"), "ssl_20");
+ param.get_multistring(l7vs::PARAM_COMP_SSL, "mstring_value",
+ strvec, err, "./ssl1.cf");
+ BOOST_CHECK_EQUAL(err, true);
+ param.get_multistring(l7vs::PARAM_COMP_SSL, "m2string_value",
+ strvec, err, "./ssl1.cf");
+ BOOST_CHECK_EQUAL(strvec[0], "ssl_21");
+ BOOST_CHECK_EQUAL(strvec[1], "ssl_22");
+
+ unlink("./ssl1cf");
}
// read file pattern2
-void parameter_read_pattern2(){
-
- // ssl1.cf read
- // ssl1.cf read
-
- // ssl file create
- l7vs::error_code err;
- std::vector<std::string> strvec;
-
- {
- std::ofstream ofs( "./ssl1.cf" );
- ofs << "[ssl]\n";
- ofs << "string_value0 = \"ssl_10\"\n";
- ofs << "mstring_value = \"ssl_11\"\n";
- ofs << "mstring_value = \"ssl_12\"\n";
- ofs << "int_value = 10\n";
- ofs.close();
- }
- // default file read
- parameter_read_pattern0();
-
- parameter_test param;
- // read ssl file
- param.init( l7vs::PARAM_COMP_SSL, "./ssl1.cf" );
-
- BOOST_CHECK_EQUAL( param.get_int( l7vs::PARAM_COMP_SSL,
- "int_value", err, "./ssl1.cf" ), 10 );
- BOOST_CHECK_EQUAL( param.get_string( l7vs::PARAM_COMP_SSL,
- "string_value0", err, "./ssl1.cf" ), "ssl_10");
- param.get_multistring( l7vs::PARAM_COMP_SSL, "mstring_value",
- strvec, err, "./ssl1.cf" );
- BOOST_CHECK_EQUAL( strvec[0], "ssl_11" );
- BOOST_CHECK_EQUAL( strvec[1], "ssl_12" );
-
- // read ssl file
- param.init( l7vs::PARAM_COMP_SSL, "./ssl1.cf" );
-
- BOOST_CHECK_EQUAL( param.get_int( l7vs::PARAM_COMP_SSL,
- "int_value", err, "./ssl1.cf" ), 10 );
- BOOST_CHECK_EQUAL( param.get_string( l7vs::PARAM_COMP_SSL,
- "string_value0", err, "./ssl1.cf" ), "ssl_10");
- param.get_multistring( l7vs::PARAM_COMP_SSL, "mstring_value",
- strvec, err, "./ssl1.cf" );
- BOOST_CHECK_EQUAL( strvec[0], "ssl_11" );
- BOOST_CHECK_EQUAL( strvec[1], "ssl_12" );
-
- unlink( "./ssl1cf" );
+void parameter_read_pattern2()
+{
+
+ // ssl1.cf read
+ // ssl1.cf read
+
+ // ssl file create
+ l7vs::error_code err;
+ std::vector<std::string> strvec;
+
+ {
+ std::ofstream ofs("./ssl1.cf");
+ ofs << "[ssl]\n";
+ ofs << "string_value0 = \"ssl_10\"\n";
+ ofs << "mstring_value = \"ssl_11\"\n";
+ ofs << "mstring_value = \"ssl_12\"\n";
+ ofs << "int_value = 10\n";
+ ofs.close();
+ }
+ // default file read
+ parameter_read_pattern0();
+
+ parameter_test param;
+ // read ssl file
+ param.init(l7vs::PARAM_COMP_SSL, "./ssl1.cf");
+
+ BOOST_CHECK_EQUAL(param.get_int(l7vs::PARAM_COMP_SSL,
+ "int_value", err, "./ssl1.cf"), 10);
+ BOOST_CHECK_EQUAL(param.get_string(l7vs::PARAM_COMP_SSL,
+ "string_value0", err, "./ssl1.cf"), "ssl_10");
+ param.get_multistring(l7vs::PARAM_COMP_SSL, "mstring_value",
+ strvec, err, "./ssl1.cf");
+ BOOST_CHECK_EQUAL(strvec[0], "ssl_11");
+ BOOST_CHECK_EQUAL(strvec[1], "ssl_12");
+
+ // read ssl file
+ param.init(l7vs::PARAM_COMP_SSL, "./ssl1.cf");
+
+ BOOST_CHECK_EQUAL(param.get_int(l7vs::PARAM_COMP_SSL,
+ "int_value", err, "./ssl1.cf"), 10);
+ BOOST_CHECK_EQUAL(param.get_string(l7vs::PARAM_COMP_SSL,
+ "string_value0", err, "./ssl1.cf"), "ssl_10");
+ param.get_multistring(l7vs::PARAM_COMP_SSL, "mstring_value",
+ strvec, err, "./ssl1.cf");
+ BOOST_CHECK_EQUAL(strvec[0], "ssl_11");
+ BOOST_CHECK_EQUAL(strvec[1], "ssl_12");
+
+ unlink("./ssl1cf");
}
// read file pattern3
-void parameter_read_pattern3(){
-
- // ssl1.cf read
- // ssl2.cf read
-
- // ssl file create
- l7vs::error_code err;
- std::vector<std::string> strvec;
-
- {
- std::ofstream ofs( "./ssl1.cf" );
- ofs << "[ssl]\n";
- ofs << "string_value0 = \"ssl_10\"\n";
- ofs << "mstring_value = \"ssl_11\"\n";
- ofs << "mstring_value = \"ssl_12\"\n";
- ofs << "int_value = 10\n";
- ofs.close();
- }
- // default file read
- parameter_read_pattern0();
-
- parameter_test param;
- // read ssl file
- param.init( l7vs::PARAM_COMP_SSL, "./ssl1.cf" );
-
- BOOST_CHECK_EQUAL( param.get_int( l7vs::PARAM_COMP_SSL,
- "int_value", err, "./ssl1.cf" ), 10 );
- BOOST_CHECK_EQUAL( param.get_string( l7vs::PARAM_COMP_SSL,
- "string_value0", err, "./ssl1.cf" ), "ssl_10");
- param.get_multistring( l7vs::PARAM_COMP_SSL, "mstring_value",
- strvec, err, "./ssl1.cf" );
- BOOST_CHECK_EQUAL( strvec[0], "ssl_11" );
- BOOST_CHECK_EQUAL( strvec[1], "ssl_12" );
-
-
- {
- std::ofstream ofs( "./ssl2.cf" );
- ofs << "[ssl]\n";
- ofs << "string_value0 = \"ssl_20\"\n";
- ofs << "m2string_value = \"ssl_21\"\n";
- ofs << "m2string_value = \"ssl_22\"\n";
- ofs << "int_value = 20\n";
- ofs.close();
- }
- // re-read ssl file
- param.init( l7vs::PARAM_COMP_SSL, "./ssl2.cf" );
-
- BOOST_CHECK_EQUAL( param.get_int( l7vs::PARAM_COMP_SSL,
- "int_value", err, "./ssl1.cf" ), 10 );
- BOOST_CHECK_EQUAL( param.get_string( l7vs::PARAM_COMP_SSL,
- "string_value0", err, "./ssl1.cf" ), "ssl_10");
- param.get_multistring( l7vs::PARAM_COMP_SSL, "mstring_value",
- strvec, err, "./ssl1.cf" );
- BOOST_CHECK_EQUAL( strvec[0], "ssl_11" );
- BOOST_CHECK_EQUAL( strvec[1], "ssl_12" );
- param.get_multistring( l7vs::PARAM_COMP_SSL, "m2string_value",
- strvec, err, "./ssl1.cf" );
- BOOST_CHECK_EQUAL( err, true );
-
- BOOST_CHECK_EQUAL( param.get_int( l7vs::PARAM_COMP_SSL,
- "int_value", err, "./ssl2.cf" ), 20 );
- BOOST_CHECK_EQUAL( param.get_string( l7vs::PARAM_COMP_SSL,
- "string_value0", err, "./ssl2.cf" ), "ssl_20");
- param.get_multistring( l7vs::PARAM_COMP_SSL, "mstring_value",
- strvec, err, "./ssl2.cf" );
- BOOST_CHECK_EQUAL( err, true );
- param.get_multistring( l7vs::PARAM_COMP_SSL, "m2string_value",
- strvec, err, "./ssl2.cf" );
- BOOST_CHECK_EQUAL( strvec[0], "ssl_21" );
- BOOST_CHECK_EQUAL( strvec[1], "ssl_22" );
-
- unlink( "./ssl1.cf" );
- unlink( "./ssl2.cf" );
+void parameter_read_pattern3()
+{
+
+ // ssl1.cf read
+ // ssl2.cf read
+
+ // ssl file create
+ l7vs::error_code err;
+ std::vector<std::string> strvec;
+
+ {
+ std::ofstream ofs("./ssl1.cf");
+ ofs << "[ssl]\n";
+ ofs << "string_value0 = \"ssl_10\"\n";
+ ofs << "mstring_value = \"ssl_11\"\n";
+ ofs << "mstring_value = \"ssl_12\"\n";
+ ofs << "int_value = 10\n";
+ ofs.close();
+ }
+ // default file read
+ parameter_read_pattern0();
+
+ parameter_test param;
+ // read ssl file
+ param.init(l7vs::PARAM_COMP_SSL, "./ssl1.cf");
+
+ BOOST_CHECK_EQUAL(param.get_int(l7vs::PARAM_COMP_SSL,
+ "int_value", err, "./ssl1.cf"), 10);
+ BOOST_CHECK_EQUAL(param.get_string(l7vs::PARAM_COMP_SSL,
+ "string_value0", err, "./ssl1.cf"), "ssl_10");
+ param.get_multistring(l7vs::PARAM_COMP_SSL, "mstring_value",
+ strvec, err, "./ssl1.cf");
+ BOOST_CHECK_EQUAL(strvec[0], "ssl_11");
+ BOOST_CHECK_EQUAL(strvec[1], "ssl_12");
+
+
+ {
+ std::ofstream ofs("./ssl2.cf");
+ ofs << "[ssl]\n";
+ ofs << "string_value0 = \"ssl_20\"\n";
+ ofs << "m2string_value = \"ssl_21\"\n";
+ ofs << "m2string_value = \"ssl_22\"\n";
+ ofs << "int_value = 20\n";
+ ofs.close();
+ }
+ // re-read ssl file
+ param.init(l7vs::PARAM_COMP_SSL, "./ssl2.cf");
+
+ BOOST_CHECK_EQUAL(param.get_int(l7vs::PARAM_COMP_SSL,
+ "int_value", err, "./ssl1.cf"), 10);
+ BOOST_CHECK_EQUAL(param.get_string(l7vs::PARAM_COMP_SSL,
+ "string_value0", err, "./ssl1.cf"), "ssl_10");
+ param.get_multistring(l7vs::PARAM_COMP_SSL, "mstring_value",
+ strvec, err, "./ssl1.cf");
+ BOOST_CHECK_EQUAL(strvec[0], "ssl_11");
+ BOOST_CHECK_EQUAL(strvec[1], "ssl_12");
+ param.get_multistring(l7vs::PARAM_COMP_SSL, "m2string_value",
+ strvec, err, "./ssl1.cf");
+ BOOST_CHECK_EQUAL(err, true);
+
+ BOOST_CHECK_EQUAL(param.get_int(l7vs::PARAM_COMP_SSL,
+ "int_value", err, "./ssl2.cf"), 20);
+ BOOST_CHECK_EQUAL(param.get_string(l7vs::PARAM_COMP_SSL,
+ "string_value0", err, "./ssl2.cf"), "ssl_20");
+ param.get_multistring(l7vs::PARAM_COMP_SSL, "mstring_value",
+ strvec, err, "./ssl2.cf");
+ BOOST_CHECK_EQUAL(err, true);
+ param.get_multistring(l7vs::PARAM_COMP_SSL, "m2string_value",
+ strvec, err, "./ssl2.cf");
+ BOOST_CHECK_EQUAL(strvec[0], "ssl_21");
+ BOOST_CHECK_EQUAL(strvec[1], "ssl_22");
+
+ unlink("./ssl1.cf");
+ unlink("./ssl2.cf");
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // Logger initialize
- l7vs::Logger logger_instance;
- logger_instance.loadConf();
+ // Logger initialize
+ l7vs::Logger logger_instance;
+ logger_instance.loadConf();
- // create unit test suite
- // !!!! target test case is only one
- test_suite* ts = BOOST_TEST_SUITE( "parameter" );
+ // create unit test suite
+ // !!!! target test case is only one
+ test_suite *ts = BOOST_TEST_SUITE("parameter");
// ts->add( BOOST_TEST_CASE( ¶meter_constructor_test ) );
// ts->add( BOOST_TEST_CASE( ¶meter_init_test ) );
// ts->add( BOOST_TEST_CASE( ¶meter_read_file_test ) );
// ts->add( BOOST_TEST_CASE( ¶meter_get_multistring_test ) );
// ts->add( BOOST_TEST_CASE( ¶meter_read_pattern1 ) );
// ts->add( BOOST_TEST_CASE( ¶meter_read_pattern2 ) );
- ts->add( BOOST_TEST_CASE( ¶meter_read_pattern3 ) );
+ ts->add(BOOST_TEST_CASE(¶meter_read_pattern3));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
using namespace boost::unit_test;
-namespace l7vs{
+namespace l7vs
+{
class realserver_fake : public realserver
{
public:
- boost::mutex starting_mutex;
- boost::condition starting_condition;
-
- //! constractor
- realserver_fake(){}
- //! destractor
- ~realserver_fake(){}
+ boost::mutex starting_mutex;
+ boost::condition starting_condition;
- void set_active( const int in_active ){
- boost::mutex::scoped_lock lock( *active_mutex_ptr );
+ //! constractor
+ realserver_fake() {}
+ //! destractor
+ ~realserver_fake() {}
- nactive = in_active ;
- }
- void set_inact( const int in_inact ){
- boost::mutex::scoped_lock lock( *inact_mutex_ptr );
+ void set_active(const int in_active) {
+ boost::mutex::scoped_lock lock(*active_mutex_ptr);
- ninact = in_inact ;
- }
+ nactive = in_active ;
+ }
+ void set_inact(const int in_inact) {
+ boost::mutex::scoped_lock lock(*inact_mutex_ptr);
- void increment_active2( const std::string& msg1, const std::string& msg2, const std::string& msg3, const std::string& msg4 ){
- {
- boost::mutex::scoped_lock lock( starting_mutex );
- starting_condition.wait( lock );
+ ninact = in_inact ;
}
- BOOST_MESSAGE( msg1 );
+ void increment_active2(const std::string &msg1, const std::string &msg2, const std::string &msg3, const std::string &msg4) {
+ {
+ boost::mutex::scoped_lock lock(starting_mutex);
+ starting_condition.wait(lock);
+ }
+
+ BOOST_MESSAGE(msg1);
// increment_active();
- {
- boost::mutex::scoped_lock lock( *active_mutex_ptr );
-
- BOOST_MESSAGE( msg3 );
- nactive++;
- if ( nactive == INT_MAX ){
- nactive = 0;
- }
- BOOST_MESSAGE( msg4 );
+ {
+ boost::mutex::scoped_lock lock(*active_mutex_ptr);
+
+ BOOST_MESSAGE(msg3);
+ nactive++;
+ if (nactive == INT_MAX) {
+ nactive = 0;
+ }
+ BOOST_MESSAGE(msg4);
// sleep(1);
+ }
+ BOOST_MESSAGE(msg2);
}
- BOOST_MESSAGE( msg2 );
- }
- void decrement_active2( const std::string& msg1, const std::string& msg2, const std::string& msg3, const std::string& msg4 ){
- {
- boost::mutex::scoped_lock lock( starting_mutex );
- starting_condition.wait( lock );
- }
+ void decrement_active2(const std::string &msg1, const std::string &msg2, const std::string &msg3, const std::string &msg4) {
+ {
+ boost::mutex::scoped_lock lock(starting_mutex);
+ starting_condition.wait(lock);
+ }
- BOOST_MESSAGE( msg1 );
+ BOOST_MESSAGE(msg1);
// decrement_active();
- {
- boost::mutex::scoped_lock lock( *active_mutex_ptr );
-
- BOOST_MESSAGE( msg3 );
- if ( nactive > 0 ){
- nactive--;
- }
- BOOST_MESSAGE( msg4 );
+ {
+ boost::mutex::scoped_lock lock(*active_mutex_ptr);
+
+ BOOST_MESSAGE(msg3);
+ if (nactive > 0) {
+ nactive--;
+ }
+ BOOST_MESSAGE(msg4);
// sleep(1);
+ }
+ BOOST_MESSAGE(msg2);
}
- BOOST_MESSAGE( msg2 );
- }
- void increment_inact2( const std::string& msg1, const std::string& msg2, const std::string& msg3, const std::string& msg4 ){
- {
- boost::mutex::scoped_lock lock( starting_mutex );
- starting_condition.wait( lock );
- }
+ void increment_inact2(const std::string &msg1, const std::string &msg2, const std::string &msg3, const std::string &msg4) {
+ {
+ boost::mutex::scoped_lock lock(starting_mutex);
+ starting_condition.wait(lock);
+ }
- BOOST_MESSAGE( msg1 );
+ BOOST_MESSAGE(msg1);
// increment_inact();
- {
- boost::mutex::scoped_lock lock( *inact_mutex_ptr );
-
- BOOST_MESSAGE( msg3 );
- ninact++;
- if ( ninact == INT_MAX ){
- ninact = 0;
- }
- BOOST_MESSAGE( msg4 );
+ {
+ boost::mutex::scoped_lock lock(*inact_mutex_ptr);
+
+ BOOST_MESSAGE(msg3);
+ ninact++;
+ if (ninact == INT_MAX) {
+ ninact = 0;
+ }
+ BOOST_MESSAGE(msg4);
// sleep(1);
+ }
+ BOOST_MESSAGE(msg2);
}
- BOOST_MESSAGE( msg2 );
- }
};
} //namespace l7vs
l7vs::realserver_fake rush_server;
-void starting_thread( int id )
+void starting_thread(int id)
{
- {
- std::stringstream msg1, msg2, msg3, msg4;
-
- msg1 << "start increment_active <Thread:" << id << ">";
- msg2 << "complete increment_active <Thread:" << id << ">";
- msg3 << "start inside <Thread:" << id << ">";
- msg4 << "complete inside <Thread:" << id << ">";
- rush_server.increment_active2( msg1.str(), msg2.str(), msg3.str(), msg4.str() );
- }
- {
- std::stringstream msg1, msg2, msg3, msg4;
-
- msg1 << "start decrement_active <Thread:" << id << ">";
- msg2 << "complete decrement_active <Thread:" << id << ">";
- msg3 << "start inside <Thread:" << id << ">";
- msg4 << "complete inside <Thread:" << id << ">";
- rush_server.decrement_active2( msg1.str(), msg2.str(), msg3.str(), msg4.str() );
- }
- {
- std::stringstream msg1, msg2, msg3, msg4;
-
- msg1 << "start increment_inact <Thread:" << id << ">";
- msg2 << "complete increment_inact <Thread:" << id << ">";
- msg3 << "start inside <Thread:" << id << ">";
- msg4 << "complete inside <Thread:" << id << ">";
- rush_server.increment_inact2( msg1.str(), msg2.str(), msg3.str(), msg4.str() );
- }
+ {
+ std::stringstream msg1, msg2, msg3, msg4;
+
+ msg1 << "start increment_active <Thread:" << id << ">";
+ msg2 << "complete increment_active <Thread:" << id << ">";
+ msg3 << "start inside <Thread:" << id << ">";
+ msg4 << "complete inside <Thread:" << id << ">";
+ rush_server.increment_active2(msg1.str(), msg2.str(), msg3.str(), msg4.str());
+ }
+ {
+ std::stringstream msg1, msg2, msg3, msg4;
+
+ msg1 << "start decrement_active <Thread:" << id << ">";
+ msg2 << "complete decrement_active <Thread:" << id << ">";
+ msg3 << "start inside <Thread:" << id << ">";
+ msg4 << "complete inside <Thread:" << id << ">";
+ rush_server.decrement_active2(msg1.str(), msg2.str(), msg3.str(), msg4.str());
+ }
+ {
+ std::stringstream msg1, msg2, msg3, msg4;
+
+ msg1 << "start increment_inact <Thread:" << id << ">";
+ msg2 << "complete increment_inact <Thread:" << id << ">";
+ msg3 << "start inside <Thread:" << id << ">";
+ msg4 << "complete inside <Thread:" << id << ">";
+ rush_server.increment_inact2(msg1.str(), msg2.str(), msg3.str(), msg4.str());
+ }
};
//test case1.
-void realserver_test(){
- int nactive = 0;
- int ninact = 0;
- unsigned long long send_byte = 0ULL;
- int weight = -1;
- l7vs::realserver_element::REALSERVER_FWDMODE_TAG fwdmode = l7vs::realserver_element::FWD_NONE;
-
- // unit_test[1] コンストラクタのテスト(全てが初期化済み)
- l7vs::realserver server1;
-
- BOOST_CHECK_EQUAL( nactive, server1.get_active() );
- BOOST_CHECK_EQUAL( ninact, server1.get_inact() );
- BOOST_CHECK_EQUAL( send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( weight, server1.weight );
- BOOST_CHECK_EQUAL( fwdmode, server1.fwdmode );
-
- // unit_test[2] コピーコンストラクタのテスト(全てがコピー元と同じ)
- server1.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "11.11.11.11" ), 11 ) ;
- server1.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "22.22.22.22" ), 22 ) ;
- server1.send_byte = 10;
- server1.weight = 0;
- server1.fwdmode = l7vs::realserver_element::FWD_TPROXY;
- server1.increment_active();
- server1.increment_inact();
-
- l7vs::realserver server2( server1 );
-
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
-
- // unit_test[3] 比較オペレータのテスト(TCPエンドポイントが異なるとエラー)
- BOOST_CHECK_EQUAL( ( server1 == server2 ), true );
-
- server1.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "33.33.33.33" ), 33 ) ;
- BOOST_CHECK_EQUAL( ( server1 == server2 ), false );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint != server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[4] 比較オペレータのテスト2(UDPエンドポイントが異なるとエラー)
- server1 = server2;
- server1.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "44.44.44.44" ), 44 ) ;
- BOOST_CHECK_EQUAL( ( server1 == server2 ), false );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint != server1.udp_endpoint );
-
- // unit_test[5] 比較オペレータのテスト3(weightが異なるとエラー)
- server1 = server2;
- server1.weight = 3;
- BOOST_CHECK_EQUAL( ( server1 == server2 ), false );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.weight != server1.weight );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[5+] 比較オペレータのテスト3+(fwdmodeが異なるとエラー)
- server1 = server2;
- server1.fwdmode = l7vs::realserver_element::FWD_MASQ;
- BOOST_CHECK_EQUAL( ( server1 == server2 ), false );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK( server2.fwdmode != server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[6] 比較オペレータのテスト4(接続数が異なっても問題無し)
- server1 = server2;
- server1.increment_active();
- BOOST_CHECK_EQUAL( ( server1 == server2 ), true );
- BOOST_CHECK( server2.get_active() != server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[7] 比較オペレータのテスト5(切断数が異なっても問題無し)
- server1 = server2;
- server1.increment_inact();
- BOOST_CHECK_EQUAL( ( server1 == server2 ), true );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK( server2.get_inact() != server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[8] 比較オペレータのテスト6(送信バイト数が異なっても問題無し)
- server1 = server2;
- server1.send_byte = 100;
- BOOST_CHECK_EQUAL( ( server1 == server2 ), true );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK( server2.send_byte != server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[9] 否定オペレータのテスト(TCPエンドポイントが異なると検出)
- server1 = server2;
-
- BOOST_CHECK_EQUAL( ( server1 != server2 ), false);
-
- server1.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "33.33.33.33" ), 33 ) ;
- BOOST_CHECK_EQUAL( ( server1 != server2 ), true );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint != server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[10] 否定オペレータのテスト2(UDPエンドポイントが異なると検出)
- server1 = server2;
- server1.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "44.44.44.44" ), 44 ) ;
- BOOST_CHECK_EQUAL( ( server1 != server2 ), true );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint != server1.udp_endpoint );
-
- // unit_test[11] 否定オペレータのテスト3(weightが異なると検出)
- server1 = server2;
- server1.weight = 3;
- BOOST_CHECK_EQUAL( ( server1 != server2 ), true );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.weight != server1.weight );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[11+] 否定オペレータのテスト3+(fwdmodeが異なると検出)
- server1 = server2;
- server1.fwdmode = l7vs::realserver_element::FWD_MASQ;
- BOOST_CHECK_EQUAL( ( server1 != server2 ), true );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK( server2.fwdmode != server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[12] 否定オペレータのテスト4(接続数が異なっても問題無し)
- server1 = server2;
- server1.increment_active();
- BOOST_CHECK_EQUAL( ( server1 != server2 ), false );
- BOOST_CHECK( server2.get_active() != server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[13] 否定オペレータのテスト5(切断数が異なっても問題無し)
- server1 = server2;
- server1.increment_inact();
- BOOST_CHECK_EQUAL( ( server1 != server2 ), false );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK( server2.get_inact() != server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[14] 否定オペレータのテスト6(送信バイト数が異なっても問題無し)
- server1 = server2;
- server1.send_byte = 100;
- BOOST_CHECK_EQUAL( ( server1 != server2 ), false );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK( server2.send_byte != server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[15] コピーオペレータのテスト(全てがコピー元と同じ)
- server1 = l7vs::realserver();
- server2 = server1 ;
-
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- BOOST_CHECK( server1 == server2 );
-
- // unit_test[16] 大小比較オペレータのテスト(TCPエンドポイントが大きいと検出)
- server1.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.86" ), 21 ) ;
-
- BOOST_CHECK_EQUAL( ( server2 < server1 ), true );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint < server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[17] 大小比較オペレータのテスト2(UDPエンドポイントが異なっても問題無し)
- server1 = server2;
- server1.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.86" ), 21 ) ;
-
- BOOST_CHECK_EQUAL( ( server2 < server1 ), false );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint < server1.udp_endpoint );
-
- // unit_test[18] 大小比較オペレータのテスト3(TCPが等しくweightが大きいと検出)
- server1 = server2;
- server1.weight = 10;
-
- BOOST_CHECK_EQUAL( ( server2 < server1 ), true );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.weight < server1.weight );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[18+] 大小比較オペレータのテスト3+(TCP,weightが等しくfwdmodeが大きいと検出)
- server1 = server2;
- server1.fwdmode = l7vs::realserver_element::FWD_TPROXY;
- server2.fwdmode = l7vs::realserver_element::FWD_MASQ;
-
- BOOST_CHECK_EQUAL( ( server2 < server1 ), true );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK( server2.fwdmode < server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[19] 大小比較オペレータのテスト4(接続数が異なっても問題無し)
- server1 = server2;
- server1.increment_active();
- BOOST_CHECK_EQUAL( ( server2 < server1 ), false );
- BOOST_CHECK( server2.get_active() != server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[20] 大小比較オペレータのテスト5(切断数が異なっても問題無し)
- server1 = server2;
- server1.increment_inact();
- BOOST_CHECK_EQUAL( ( server2 < server1 ), false );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK( server2.get_inact() != server1.get_inact() );
- BOOST_CHECK_EQUAL( server2.send_byte, server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[21] 大小比較オペレータのテスト6(送信バイト数が異なっても問題無し)
- server1 = server2;
- server1.send_byte = 100;
- BOOST_CHECK_EQUAL( ( server2 < server1 ), false );
- BOOST_CHECK_EQUAL( server2.get_active(), server1.get_active() );
- BOOST_CHECK_EQUAL( server2.get_inact(), server1.get_inact() );
- BOOST_CHECK( server2.send_byte != server1.send_byte );
- BOOST_CHECK_EQUAL( server2.weight, server1.weight );
- BOOST_CHECK_EQUAL( server2.fwdmode, server1.fwdmode );
- BOOST_CHECK( server2.tcp_endpoint == server1.tcp_endpoint );
- BOOST_CHECK( server2.udp_endpoint == server1.udp_endpoint );
-
- // unit_test[22] 接続数取得メソッドのテスト
- BOOST_CHECK_EQUAL( server1.get_active(), nactive );
-
- // unit_test[23] 切断数取得メソッドのテスト
- BOOST_CHECK_EQUAL( server1.get_inact(), ninact );
-
- // unit_test[24] 接続数インクリメントメソッドのテスト
- server1.increment_active();
- BOOST_CHECK_EQUAL( server1.get_active(), 1 );
-
- // unit_test[25] 接続数デクリメントメソッドのテスト
- server1.decrement_active();
- BOOST_CHECK_EQUAL( server1.get_active(), 0 );
-
- // unit_test[26] 接続数インクリメントメソッドのテスト2(上限INT_MAXに達すると0にクリア)
+void realserver_test()
+{
+ int nactive = 0;
+ int ninact = 0;
+ unsigned long long send_byte = 0ULL;
+ int weight = -1;
+ l7vs::realserver_element::REALSERVER_FWDMODE_TAG fwdmode = l7vs::realserver_element::FWD_NONE;
+
+ // unit_test[1] コンストラクタのテスト(全てが初期化済み)
+ l7vs::realserver server1;
+
+ BOOST_CHECK_EQUAL(nactive, server1.get_active());
+ BOOST_CHECK_EQUAL(ninact, server1.get_inact());
+ BOOST_CHECK_EQUAL(send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(weight, server1.weight);
+ BOOST_CHECK_EQUAL(fwdmode, server1.fwdmode);
+
+ // unit_test[2] コピーコンストラクタのテスト(全てがコピー元と同じ)
+ server1.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("11.11.11.11"), 11) ;
+ server1.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("22.22.22.22"), 22) ;
+ server1.send_byte = 10;
+ server1.weight = 0;
+ server1.fwdmode = l7vs::realserver_element::FWD_TPROXY;
+ server1.increment_active();
+ server1.increment_inact();
+
+ l7vs::realserver server2(server1);
+
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+
+ // unit_test[3] 比較オペレータのテスト(TCPエンドポイントが異なるとエラー)
+ BOOST_CHECK_EQUAL((server1 == server2), true);
+
+ server1.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("33.33.33.33"), 33) ;
+ BOOST_CHECK_EQUAL((server1 == server2), false);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint != server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[4] 比較オペレータのテスト2(UDPエンドポイントが異なるとエラー)
+ server1 = server2;
+ server1.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("44.44.44.44"), 44) ;
+ BOOST_CHECK_EQUAL((server1 == server2), false);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint != server1.udp_endpoint);
+
+ // unit_test[5] 比較オペレータのテスト3(weightが異なるとエラー)
+ server1 = server2;
+ server1.weight = 3;
+ BOOST_CHECK_EQUAL((server1 == server2), false);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.weight != server1.weight);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[5+] 比較オペレータのテスト3+(fwdmodeが異なるとエラー)
+ server1 = server2;
+ server1.fwdmode = l7vs::realserver_element::FWD_MASQ;
+ BOOST_CHECK_EQUAL((server1 == server2), false);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK(server2.fwdmode != server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[6] 比較オペレータのテスト4(接続数が異なっても問題無し)
+ server1 = server2;
+ server1.increment_active();
+ BOOST_CHECK_EQUAL((server1 == server2), true);
+ BOOST_CHECK(server2.get_active() != server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[7] 比較オペレータのテスト5(切断数が異なっても問題無し)
+ server1 = server2;
+ server1.increment_inact();
+ BOOST_CHECK_EQUAL((server1 == server2), true);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK(server2.get_inact() != server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[8] 比較オペレータのテスト6(送信バイト数が異なっても問題無し)
+ server1 = server2;
+ server1.send_byte = 100;
+ BOOST_CHECK_EQUAL((server1 == server2), true);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK(server2.send_byte != server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[9] 否定オペレータのテスト(TCPエンドポイントが異なると検出)
+ server1 = server2;
+
+ BOOST_CHECK_EQUAL((server1 != server2), false);
+
+ server1.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("33.33.33.33"), 33) ;
+ BOOST_CHECK_EQUAL((server1 != server2), true);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint != server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[10] 否定オペレータのテスト2(UDPエンドポイントが異なると検出)
+ server1 = server2;
+ server1.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("44.44.44.44"), 44) ;
+ BOOST_CHECK_EQUAL((server1 != server2), true);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint != server1.udp_endpoint);
+
+ // unit_test[11] 否定オペレータのテスト3(weightが異なると検出)
+ server1 = server2;
+ server1.weight = 3;
+ BOOST_CHECK_EQUAL((server1 != server2), true);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.weight != server1.weight);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[11+] 否定オペレータのテスト3+(fwdmodeが異なると検出)
+ server1 = server2;
+ server1.fwdmode = l7vs::realserver_element::FWD_MASQ;
+ BOOST_CHECK_EQUAL((server1 != server2), true);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK(server2.fwdmode != server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[12] 否定オペレータのテスト4(接続数が異なっても問題無し)
+ server1 = server2;
+ server1.increment_active();
+ BOOST_CHECK_EQUAL((server1 != server2), false);
+ BOOST_CHECK(server2.get_active() != server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[13] 否定オペレータのテスト5(切断数が異なっても問題無し)
+ server1 = server2;
+ server1.increment_inact();
+ BOOST_CHECK_EQUAL((server1 != server2), false);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK(server2.get_inact() != server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[14] 否定オペレータのテスト6(送信バイト数が異なっても問題無し)
+ server1 = server2;
+ server1.send_byte = 100;
+ BOOST_CHECK_EQUAL((server1 != server2), false);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK(server2.send_byte != server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[15] コピーオペレータのテスト(全てがコピー元と同じ)
+ server1 = l7vs::realserver();
+ server2 = server1 ;
+
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ BOOST_CHECK(server1 == server2);
+
+ // unit_test[16] 大小比較オペレータのテスト(TCPエンドポイントが大きいと検出)
+ server1.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.86"), 21) ;
+
+ BOOST_CHECK_EQUAL((server2 < server1), true);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint < server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[17] 大小比較オペレータのテスト2(UDPエンドポイントが異なっても問題無し)
+ server1 = server2;
+ server1.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.86"), 21) ;
+
+ BOOST_CHECK_EQUAL((server2 < server1), false);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint < server1.udp_endpoint);
+
+ // unit_test[18] 大小比較オペレータのテスト3(TCPが等しくweightが大きいと検出)
+ server1 = server2;
+ server1.weight = 10;
+
+ BOOST_CHECK_EQUAL((server2 < server1), true);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.weight < server1.weight);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[18+] 大小比較オペレータのテスト3+(TCP,weightが等しくfwdmodeが大きいと検出)
+ server1 = server2;
+ server1.fwdmode = l7vs::realserver_element::FWD_TPROXY;
+ server2.fwdmode = l7vs::realserver_element::FWD_MASQ;
+
+ BOOST_CHECK_EQUAL((server2 < server1), true);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK(server2.fwdmode < server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[19] 大小比較オペレータのテスト4(接続数が異なっても問題無し)
+ server1 = server2;
+ server1.increment_active();
+ BOOST_CHECK_EQUAL((server2 < server1), false);
+ BOOST_CHECK(server2.get_active() != server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[20] 大小比較オペレータのテスト5(切断数が異なっても問題無し)
+ server1 = server2;
+ server1.increment_inact();
+ BOOST_CHECK_EQUAL((server2 < server1), false);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK(server2.get_inact() != server1.get_inact());
+ BOOST_CHECK_EQUAL(server2.send_byte, server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[21] 大小比較オペレータのテスト6(送信バイト数が異なっても問題無し)
+ server1 = server2;
+ server1.send_byte = 100;
+ BOOST_CHECK_EQUAL((server2 < server1), false);
+ BOOST_CHECK_EQUAL(server2.get_active(), server1.get_active());
+ BOOST_CHECK_EQUAL(server2.get_inact(), server1.get_inact());
+ BOOST_CHECK(server2.send_byte != server1.send_byte);
+ BOOST_CHECK_EQUAL(server2.weight, server1.weight);
+ BOOST_CHECK_EQUAL(server2.fwdmode, server1.fwdmode);
+ BOOST_CHECK(server2.tcp_endpoint == server1.tcp_endpoint);
+ BOOST_CHECK(server2.udp_endpoint == server1.udp_endpoint);
+
+ // unit_test[22] 接続数取得メソッドのテスト
+ BOOST_CHECK_EQUAL(server1.get_active(), nactive);
+
+ // unit_test[23] 切断数取得メソッドのテスト
+ BOOST_CHECK_EQUAL(server1.get_inact(), ninact);
+
+ // unit_test[24] 接続数インクリメントメソッドのテスト
+ server1.increment_active();
+ BOOST_CHECK_EQUAL(server1.get_active(), 1);
+
+ // unit_test[25] 接続数デクリメントメソッドのテスト
+ server1.decrement_active();
+ BOOST_CHECK_EQUAL(server1.get_active(), 0);
+
+ // unit_test[26] 接続数インクリメントメソッドのテスト2(上限INT_MAXに達すると0にクリア)
// BOOST_MESSAGE( "wait a minute to INT_MAX" );
// for ( int loop = 0; loop < INT_MAX; loop++ ){
// server1.increment_active();
// }
// BOOST_CHECK_EQUAL( server1.get_active(), 0 );
- l7vs::realserver_fake server3;
+ l7vs::realserver_fake server3;
- nactive = INT_MAX - 1 ;
- server3.set_active( nactive );
- BOOST_CHECK_EQUAL( server3.get_active(), nactive );
+ nactive = INT_MAX - 1 ;
+ server3.set_active(nactive);
+ BOOST_CHECK_EQUAL(server3.get_active(), nactive);
- server3.increment_active();
- BOOST_CHECK_EQUAL( server3.get_active(), 0 );
+ server3.increment_active();
+ BOOST_CHECK_EQUAL(server3.get_active(), 0);
- // unit_test[27] 接続数デクリメントメソッドのテスト2(0に対しては何も行わない)
- server1.decrement_active();
- BOOST_CHECK_EQUAL( server1.get_active(), 0 );
+ // unit_test[27] 接続数デクリメントメソッドのテスト2(0に対しては何も行わない)
+ server1.decrement_active();
+ BOOST_CHECK_EQUAL(server1.get_active(), 0);
- // unit_test[28] 切断数インクリメントメソッドのテスト
- server1.increment_inact();
- BOOST_CHECK_EQUAL( server1.get_inact(), 1 );
+ // unit_test[28] 切断数インクリメントメソッドのテスト
+ server1.increment_inact();
+ BOOST_CHECK_EQUAL(server1.get_inact(), 1);
- // unit_test[29] 切断数インクリメントメソッドのテスト2(上限INT_MAXに達すると0にクリア)
+ // unit_test[29] 切断数インクリメントメソッドのテスト2(上限INT_MAXに達すると0にクリア)
// BOOST_MESSAGE( "wait a minute to INT_MAX" );
// for ( int loop = server1.get_inact(); loop < INT_MAX; loop++ ){
// server1.increment_inact();
// }
// BOOST_CHECK_EQUAL( server1.get_inact(), 0 );
- ninact = INT_MAX - 1 ;
- server3.set_inact( ninact );
- BOOST_CHECK_EQUAL( server3.get_inact(), ninact );
+ ninact = INT_MAX - 1 ;
+ server3.set_inact(ninact);
+ BOOST_CHECK_EQUAL(server3.get_inact(), ninact);
- server3.increment_inact();
- BOOST_CHECK_EQUAL( server3.get_inact(), 0 );
+ server3.increment_inact();
+ BOOST_CHECK_EQUAL(server3.get_inact(), 0);
- boost::thread thread_item1( boost::bind ( &starting_thread, 1 ) );
- boost::thread thread_item2( boost::bind ( &starting_thread, 2 ) );
- boost::thread thread_item3( boost::bind ( &starting_thread, 3 ) );
- boost::thread thread_item4( boost::bind ( &starting_thread, 4 ) );
- boost::thread thread_item5( boost::bind ( &starting_thread, 5 ) );
+ boost::thread thread_item1(boost::bind(&starting_thread, 1));
+ boost::thread thread_item2(boost::bind(&starting_thread, 2));
+ boost::thread thread_item3(boost::bind(&starting_thread, 3));
+ boost::thread thread_item4(boost::bind(&starting_thread, 4));
+ boost::thread thread_item5(boost::bind(&starting_thread, 5));
- // unit_test[30] 接続数インクリメントメソッドのテスト3(複数スレッドから同時アクセス)
- BOOST_MESSAGE( "sleep in" );
- sleep( 1 );
- rush_server.starting_condition.notify_all();
- sleep( 2 );
- BOOST_CHECK_EQUAL( rush_server.get_active(), 5 );
+ // unit_test[30] 接続数インクリメントメソッドのテスト3(複数スレッドから同時アクセス)
+ BOOST_MESSAGE("sleep in");
+ sleep(1);
+ rush_server.starting_condition.notify_all();
+ sleep(2);
+ BOOST_CHECK_EQUAL(rush_server.get_active(), 5);
- // unit_test[31] 接続数デクリメントメソッドのテスト3(複数スレッドから同時アクセス)
- BOOST_MESSAGE( "sleep in" );
- sleep( 1 );
- rush_server.starting_condition.notify_all();
- sleep( 2 );
- BOOST_CHECK_EQUAL( rush_server.get_active(), 0 );
+ // unit_test[31] 接続数デクリメントメソッドのテスト3(複数スレッドから同時アクセス)
+ BOOST_MESSAGE("sleep in");
+ sleep(1);
+ rush_server.starting_condition.notify_all();
+ sleep(2);
+ BOOST_CHECK_EQUAL(rush_server.get_active(), 0);
- // unit_test[32] 切断数インクリメントメソッドのテスト3(複数スレッドから同時アクセス)
- BOOST_MESSAGE( "sleep in" );
- sleep( 1 );
- rush_server.starting_condition.notify_all();
- sleep( 2 );
+ // unit_test[32] 切断数インクリメントメソッドのテスト3(複数スレッドから同時アクセス)
+ BOOST_MESSAGE("sleep in");
+ sleep(1);
+ rush_server.starting_condition.notify_all();
+ sleep(2);
- thread_item1.join();
- thread_item2.join();
- thread_item3.join();
- thread_item4.join();
- thread_item5.join();
+ thread_item1.join();
+ thread_item2.join();
+ thread_item3.join();
+ thread_item4.join();
+ thread_item5.join();
- BOOST_CHECK_EQUAL( rush_server.get_inact(), 5 );
+ BOOST_CHECK_EQUAL(rush_server.get_inact(), 5);
- // nactive, ninactをelement時のみsettter有効にする評価
- l7vs::realserver rs;
- rs.increment_active();
+ // nactive, ninactをelement時のみsettter有効にする評価
+ l7vs::realserver rs;
+ rs.increment_active();
// rs.set_active( 10 ); // protectedなので変更できない(コンパイルエラー)
- BOOST_CHECK( rs.get_active() != 10 );
- rs.increment_inact();
+ BOOST_CHECK(rs.get_active() != 10);
+ rs.increment_inact();
// rs.set_inact( 10 ); // protectedなので変更できない(コンパイルエラー)
- BOOST_CHECK( rs.get_inact() != 10 );
+ BOOST_CHECK(rs.get_inact() != 10);
- // こんなことするとrealserver上からも変更できてしまうけどそれは不正なので無視とする
+ // こんなことするとrealserver上からも変更できてしまうけどそれは不正なので無視とする
// l7vs::realserver_element& rs_elem2( rs );
// rs_elem2.set_active( 10 );
// BOOST_CHECK( rs.get_active() != 10 );
// BOOST_CHECK( rs.get_inact() != 10 );
- l7vs::realserver_element rs_elem( rs );
- BOOST_CHECK_EQUAL( rs_elem.get_active(), 1 );
- BOOST_CHECK_EQUAL( rs_elem.get_inact(), 1 );
- rs_elem.set_active( 0 ); // publicなので設定可能
- rs_elem.set_inact( 0 ); // publicなので設定可能
- BOOST_CHECK_EQUAL( rs_elem.get_active(), 0 );
- BOOST_CHECK_EQUAL( rs_elem.get_inact(), 0 );
+ l7vs::realserver_element rs_elem(rs);
+ BOOST_CHECK_EQUAL(rs_elem.get_active(), 1);
+ BOOST_CHECK_EQUAL(rs_elem.get_inact(), 1);
+ rs_elem.set_active(0); // publicなので設定可能
+ rs_elem.set_inact(0); // publicなので設定可能
+ BOOST_CHECK_EQUAL(rs_elem.get_active(), 0);
+ BOOST_CHECK_EQUAL(rs_elem.get_inact(), 0);
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
// l7vs::Logger logger;
// l7vs::Parameter parameter;
// logger.loadConf();
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "realserver_test" );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("realserver_test");
- // add test case to test suite
- ts->add( BOOST_TEST_CASE( &realserver_test ) );
+ // add test case to test suite
+ ts->add(BOOST_TEST_CASE(&realserver_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
* @return void
*/
l7vs::Logger::Logger() :
- scopedLogCategory(LOG_CAT_L7VSD_LOGGER),
- scopedLogId(0),
- scopedLogMessage("Logger Constructor"),
- scopedLogFile(__FILE__),
- scopedLogLine(__LINE__){
+ scopedLogCategory(LOG_CAT_L7VSD_LOGGER),
+ scopedLogId(0),
+ scopedLogMessage("Logger Constructor"),
+ scopedLogFile(__FILE__),
+ scopedLogLine(__LINE__)
+{
}
//! log output constractor
//! @param[in] log message
//! @param[in] filename (=__FILE__)
//! @param[in] lineno (=__LINE__)
-l7vs::Logger::Logger( LOG_CATEGORY_TAG cat, const unsigned int id, const std::string& msg, const char* file, int line) :
- scopedLogCategory(cat),
- scopedLogId(id),
- scopedLogMessage(msg),
- scopedLogFile(file),
- scopedLogLine(line){
+l7vs::Logger::Logger(LOG_CATEGORY_TAG cat, const unsigned int id, const std::string &msg, const char *file, int line) :
+ scopedLogCategory(cat),
+ scopedLogId(id),
+ scopedLogMessage(msg),
+ scopedLogFile(file),
+ scopedLogLine(line)
+{
// std::stringstream buf;
// buf << msg << " " << file << " " << line;
* @param void
* @return void
*/
-l7vs::Logger::~Logger(){
+l7vs::Logger::~Logger()
+{
}
/*!
* @param category that want to know
* @return log level
*/
-l7vs::LOG_LEVEL_TAG l7vs::Logger::getLogLevel(LOG_CATEGORY_TAG cat){
- return LOG_LV_NONE;
+l7vs::LOG_LEVEL_TAG l7vs::Logger::getLogLevel(LOG_CATEGORY_TAG cat)
+{
+ return LOG_LV_NONE;
}
/*!
* @retval true succeed
* @retval false failed
*/
-bool l7vs::Logger::setLogLevel(LOG_CATEGORY_TAG cat, LOG_LEVEL_TAG level){
- return true;
+bool l7vs::Logger::setLogLevel(LOG_CATEGORY_TAG cat, LOG_LEVEL_TAG level)
+{
+ return true;
}
/*!
* output fatal log.
* this is only wrapper to implement method.
* @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
+ * @param log message id
+ * @param log message
+ * @param current file
* @param current line
* @retrun void
*/
-void l7vs::Logger::putLogFatal(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line){
+void l7vs::Logger::putLogFatal(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
+{
- std::stringstream buf;
- buf << message << " " << file << " " << line;
- BOOST_MESSAGE ( buf.str() ) ;
+ std::stringstream buf;
+ buf << message << " " << file << " " << line;
+ BOOST_MESSAGE(buf.str()) ;
}
/*!
* output errorl log.
* this is only wrapper to implement method.
* @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
+ * @param log message id
+ * @param log message
+ * @param current file
* @param current line
* @retrun void
*/
-void l7vs::Logger::putLogError(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line){
- std::stringstream buf;
- buf << message << " " << file << " " << line;
- BOOST_MESSAGE ( buf.str() ) ;
+void l7vs::Logger::putLogError(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
+{
+ std::stringstream buf;
+ buf << message << " " << file << " " << line;
+ BOOST_MESSAGE(buf.str()) ;
}
/*!
* output warn log.
* this is only wrapper to implement method.
* @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
+ * @param log message id
+ * @param log message
+ * @param current file
* @param current line
* @retrun void
*/
-void l7vs::Logger::putLogWarn(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line){
- std::stringstream buf;
- buf << message << " " << file << " " << line;
- BOOST_MESSAGE ( buf.str() ) ;
+void l7vs::Logger::putLogWarn(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
+{
+ std::stringstream buf;
+ buf << message << " " << file << " " << line;
+ BOOST_MESSAGE(buf.str()) ;
}
/*!
* output info log.
* this is only wrapper to implement method.
* @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
+ * @param log message id
+ * @param log message
+ * @param current file
* @param current line
* @retrun void
*/
-void l7vs::Logger::putLogInfo(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line){
- std::stringstream buf;
- buf << message << " " << file << " " << line;
- BOOST_MESSAGE ( buf.str() ) ;
+void l7vs::Logger::putLogInfo(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
+{
+ std::stringstream buf;
+ buf << message << " " << file << " " << line;
+ BOOST_MESSAGE(buf.str()) ;
}
/*!
* output debug log.
* this is only wrapper to implement method.
* @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
+ * @param log message id
+ * @param log message
+ * @param current file
* @param current line
* @retrun void
*/
-void l7vs::Logger::putLogDebug(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line){
+void l7vs::Logger::putLogDebug(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
+{
}
/*!
* @param void
* @return void
*/
-void l7vs::Logger::loadConf(){
+void l7vs::Logger::loadConf()
+{
}
/*!
* Constructor of Parameter class
*/
-l7vs::Parameter::Parameter(){
+l7vs::Parameter::Parameter()
+{
}
/*!
* Destructor of Parameter class
*/
-l7vs::Parameter::~Parameter(){
+l7vs::Parameter::~Parameter()
+{
}
/*!
* @param[in] comp section TAG
* @return true = success read file / false = failure read file
*/
-bool l7vs::Parameter::read_file(PARAMETER_COMPONENT_TAG comp, const std::string& ){
- return true;
+bool l7vs::Parameter::read_file(PARAMETER_COMPONENT_TAG comp, const std::string &)
+{
+ return true;
}
* @param[in] key key string
* @return value
*/
-int l7vs::Parameter::get_int( const l7vs::PARAMETER_COMPONENT_TAG comp,
- const std::string& key,
- l7vs::error_code& err,
- const std::string& ){
- int value = 0;
+int l7vs::Parameter::get_int(const l7vs::PARAMETER_COMPONENT_TAG comp,
+ const std::string &key,
+ l7vs::error_code &err,
+ const std::string &)
+{
+ int value = 0;
- if ( 1000 <= get_int_stubmode ) {
- err.setter( true, "don't find key" );
- } else if ( "interval" == key && 1 != ( get_int_stubmode % 100 ) ){
- value = get_int_table[0];
- } else if ( "cmponent_size_00" == key && 2 != ( get_int_stubmode % 100 ) ){
- value = get_int_table[1];
- } else if ( "cmponent_size_01" == key && 3 != ( get_int_stubmode % 100 ) ){
- value = get_int_table[2];
- } else if ( "cmponent_size_02" == key && 4 != ( get_int_stubmode % 100 ) ){
- value = get_int_table[3];
- } else if ( "compulsorily_interval" == key && 5 != ( get_int_stubmode % 100 ) ){
- value = get_int_table[4];
- } else if ( 100 > get_int_stubmode ) {
- err.setter( true, "don't find key" );
- }
+ if (1000 <= get_int_stubmode) {
+ err.setter(true, "don't find key");
+ } else if ("interval" == key && 1 != (get_int_stubmode % 100)) {
+ value = get_int_table[0];
+ } else if ("cmponent_size_00" == key && 2 != (get_int_stubmode % 100)) {
+ value = get_int_table[1];
+ } else if ("cmponent_size_01" == key && 3 != (get_int_stubmode % 100)) {
+ value = get_int_table[2];
+ } else if ("cmponent_size_02" == key && 4 != (get_int_stubmode % 100)) {
+ value = get_int_table[3];
+ } else if ("compulsorily_interval" == key && 5 != (get_int_stubmode % 100)) {
+ value = get_int_table[4];
+ } else if (100 > get_int_stubmode) {
+ err.setter(true, "don't find key");
+ }
- return value;
+ return value;
}
/*!
* @param[in] key key string
* @return value
*/
-std::string l7vs::Parameter::get_string( const l7vs::PARAMETER_COMPONENT_TAG comp,
- const std::string& key,
- l7vs::error_code& err,
- const std::string& ){
- std::string str( "" );
+std::string l7vs::Parameter::get_string(const l7vs::PARAMETER_COMPONENT_TAG comp,
+ const std::string &key,
+ l7vs::error_code &err,
+ const std::string &)
+{
+ std::string str("");
- if ( 1000 <= get_string_stubmode ) {
- err.setter( true, "don't find key" );
- } else if ( "ip_addr" == key && 1 != ( get_string_stubmode % 100 ) ){
- str = get_string_table[0];
- } else if ( "service_name" == key && 2 != ( get_string_stubmode % 100 ) ){
- str = get_string_table[1];
- } else if ( "recv_ip_addr" == key && 3 != ( get_string_stubmode % 100 ) ){
- str = get_string_table[2];
- } else if ( "cmponent_id_00" == key && 4 != ( get_string_stubmode % 100 ) ){
- str = get_string_table[3];
- } else if ( "cmponent_id_01" == key && 5!= ( get_string_stubmode % 100 ) ){
- str = get_string_table[4];
- } else if ( "cmponent_id_02" == key && 6 != ( get_string_stubmode % 100 ) ){
- str = get_string_table[5];
- } else if ( 100 > get_string_stubmode ) {
- err.setter( true, "don't find key" );
- }
+ if (1000 <= get_string_stubmode) {
+ err.setter(true, "don't find key");
+ } else if ("ip_addr" == key && 1 != (get_string_stubmode % 100)) {
+ str = get_string_table[0];
+ } else if ("service_name" == key && 2 != (get_string_stubmode % 100)) {
+ str = get_string_table[1];
+ } else if ("recv_ip_addr" == key && 3 != (get_string_stubmode % 100)) {
+ str = get_string_table[2];
+ } else if ("cmponent_id_00" == key && 4 != (get_string_stubmode % 100)) {
+ str = get_string_table[3];
+ } else if ("cmponent_id_01" == key && 5 != (get_string_stubmode % 100)) {
+ str = get_string_table[4];
+ } else if ("cmponent_id_02" == key && 6 != (get_string_stubmode % 100)) {
+ str = get_string_table[5];
+ } else if (100 > get_string_stubmode) {
+ err.setter(true, "don't find key");
+ }
- return str;
+ return str;
}
int get_int_stubmode = 0;
char target_ip_table[][256] = {
- TARGET_IP_V4,
- TARGET_IP_V6
+ TARGET_IP_V4,
+ TARGET_IP_V6
};
char recv_ip_table[][256] = {
- RECV_IP_V4,
- RECV_IP_V6
+ RECV_IP_V4,
+ RECV_IP_V6
};
char get_string_table[][ 256 ] = {
- TARGET_IP_V4, // "ip_addr"
- REPLICATION_PORT, // "service_name"
- RECV_IP_V4, // "recv_ip_addr"
- "virtualservice", // "cmponent_id_00"
- "chash", // "cmponent_id_01"
- "sslid", // "cmponent_id_02"
+ TARGET_IP_V4, // "ip_addr"
+ REPLICATION_PORT, // "service_name"
+ RECV_IP_V4, // "recv_ip_addr"
+ "virtualservice", // "cmponent_id_00"
+ "chash", // "cmponent_id_01"
+ "sslid", // "cmponent_id_02"
};
int get_int_table[] = {
- 10000, // "interval"
- 64, // "cmponent_size_00"
- 1, // "cmponent_size_01"
- 200, // "cmponent_size_02"
- 10 // "compulsorily_interval"
+ 10000, // "interval"
+ 64, // "cmponent_size_00"
+ 1, // "cmponent_size_01"
+ 200, // "cmponent_size_02"
+ 10 // "compulsorily_interval"
};
//! @param[in] endpoint string
//! @return endpoint
template < class T >
-typename T::endpoint make_endpoint( const char* in_host, const char* in_port ){
- std::string hostname(in_host);
- std::string portname(in_port);
-
- //remove "[","]"
- boost::algorithm::erase_first( hostname, "[" );
- boost::algorithm::erase_last( hostname, "]" );
-
- boost::asio::io_service io_service;
- typename T::resolver resolver(io_service);
- typename T::resolver::query query( hostname, portname );
- typename T::resolver::iterator end;
- boost::system::error_code ec;
- typename T::resolver::iterator itr = resolver.resolve( query, ec );
- if( ec ){
- return typename T::endpoint();
- }
- if( itr == end ) return typename T::endpoint();
- return *itr;
+typename T::endpoint make_endpoint(const char *in_host, const char *in_port)
+{
+ std::string hostname(in_host);
+ std::string portname(in_port);
+
+ //remove "[","]"
+ boost::algorithm::erase_first(hostname, "[");
+ boost::algorithm::erase_last(hostname, "]");
+
+ boost::asio::io_service io_service;
+ typename T::resolver resolver(io_service);
+ typename T::resolver::query query(hostname, portname);
+ typename T::resolver::iterator end;
+ boost::system::error_code ec;
+ typename T::resolver::iterator itr = resolver.resolve(query, ec);
+ if (ec) {
+ return typename T::endpoint();
+ }
+ if (itr == end) return typename T::endpoint();
+ return *itr;
}
-namespace l7vs{
+namespace l7vs
+{
class replication_fake : public replication
{
public:
- //! constractor
- replication_fake() : replication() {}
- //! destractor
- ~replication_fake(){}
-
- bool locked( const std::string& inid ){
- std::map<std::string, mutex_ptr>::iterator itr;
- bool res;
-
- itr = replication_mutex.find( inid );
- if( itr == replication_mutex.end() ){
- return false;
+ //! constractor
+ replication_fake() : replication() {}
+ //! destractor
+ ~replication_fake() {}
+
+ bool locked(const std::string &inid) {
+ std::map<std::string, mutex_ptr>::iterator itr;
+ bool res;
+
+ itr = replication_mutex.find(inid);
+ if (itr == replication_mutex.end()) {
+ return false;
+ }
+
+ res = itr->second->try_lock();
+ if (res) {
+ itr->second->unlock();
+ }
+ return !res;
}
- res = itr->second->try_lock();
- if ( res ){
- itr->second->unlock();
+ int set_master_wrapper() {
+ return set_master();
}
- return !res;
- }
- int set_master_wrapper(){
- return set_master();
- }
+ int set_slave_wrapper() {
- int set_slave_wrapper(){
+ {
+ boost::mutex::scoped_lock lock(replication_thread_mutex);
+ if (replication_flag != EXIT) {
+ replication_flag = WAIT;
+ }
+ }
- {
- boost::mutex::scoped_lock lock( replication_thread_mutex );
- if ( replication_flag != EXIT ){
- replication_flag = WAIT;
- }
+ return set_slave();
}
- return set_slave();
- }
-
- int check_parameter_wrapper(){
- return check_parameter();
- }
+ int check_parameter_wrapper() {
+ return check_parameter();
+ }
- void* getrpl_wrapper(){
- replication_state.replication_memory = getrpl();
- return replication_state.replication_memory;
- }
+ void *getrpl_wrapper() {
+ replication_state.replication_memory = getrpl();
+ return replication_state.replication_memory;
+ }
- void* getcmp_wrapper(){
- replication_state.component_memory = getcmp();
- return replication_state.component_memory;
- }
+ void *getcmp_wrapper() {
+ replication_state.component_memory = getcmp();
+ return replication_state.component_memory;
+ }
- uint64_t* getsrf_wrapper(){
- replication_state.surface_block_array_ptr = getsrf();
- return replication_state.surface_block_array_ptr;
- }
+ uint64_t *getsrf_wrapper() {
+ replication_state.surface_block_array_ptr = getsrf();
+ return replication_state.surface_block_array_ptr;
+ }
- unsigned long long make_serial_wrapper(){
- return make_serial();
- }
+ unsigned long long make_serial_wrapper() {
+ return make_serial();
+ }
- void* releaserpl_wrapper(){
- releaserpl();
- return replication_state.replication_memory;
- }
+ void *releaserpl_wrapper() {
+ releaserpl();
+ return replication_state.replication_memory;
+ }
- void* releasecmp_wrapper(){
- releasecmp();
- return replication_state.component_memory;
- }
+ void *releasecmp_wrapper() {
+ releasecmp();
+ return replication_state.component_memory;
+ }
- uint64_t* releasesrf_wrapper(){
- releasesrf();
- return replication_state.surface_block_array_ptr;
- }
+ uint64_t *releasesrf_wrapper() {
+ releasesrf();
+ return replication_state.surface_block_array_ptr;
+ }
- void disable_send_thread(){
- {
- boost::mutex::scoped_lock lock( replication_thread_mutex );
+ void disable_send_thread() {
+ {
+ boost::mutex::scoped_lock lock(replication_thread_mutex);
- replication_flag = EXIT;
- replication_thread_condition.notify_all();
- }
- if ( replication_thread_ptr ){
- replication_thread_ptr->join();
+ replication_flag = EXIT;
+ replication_thread_condition.notify_all();
+ }
+ if (replication_thread_ptr) {
+ replication_thread_ptr->join();
+ }
}
- }
};
} //namespace l7vs
extern "C"
{
- extern void* _start;
- extern void* _etext;
- //--------------------------- mallocスタブ関数 --------------------------------------
- static void* malloc_dbg(size_t, const void *);
- static void malloc_dbg_install();
- static void malloc_dbg_uninstall();
- static void* (*old_malloc_hook)(size_t, const void *);
-
- static void malloc_dbg_install ()
- {
- old_malloc_hook = __malloc_hook;
- __malloc_hook = malloc_dbg;
- }
-
- static void malloc_dbg_uninstall ()
- {
- __malloc_hook = old_malloc_hook;
- }
-
- //mallocデバッグ
- int malloc_count = 0;
-
- static void * malloc_dbg(size_t size, const void *caller){
- void *ret;
-
- if((&_start < caller) && (caller < &_etext)){
- if (0 < malloc_count){
- --malloc_count;
- malloc_dbg_uninstall();
- ret = malloc(size);
- malloc_dbg_install();
- return ret;
- } else {
- return NULL;
- }
- } else {
- malloc_dbg_uninstall();
- ret = malloc(size);
- malloc_dbg_install();
- return ret;
+ extern void *_start;
+ extern void *_etext;
+ //--------------------------- mallocスタブ関数 --------------------------------------
+ static void *malloc_dbg(size_t, const void *);
+ static void malloc_dbg_install();
+ static void malloc_dbg_uninstall();
+ static void*(*old_malloc_hook)(size_t, const void *);
+
+ static void malloc_dbg_install()
+ {
+ old_malloc_hook = __malloc_hook;
+ __malloc_hook = malloc_dbg;
+ }
+
+ static void malloc_dbg_uninstall()
+ {
+ __malloc_hook = old_malloc_hook;
+ }
+
+ //mallocデバッグ
+ int malloc_count = 0;
+
+ static void *malloc_dbg(size_t size, const void *caller)
+ {
+ void *ret;
+
+ if ((&_start < caller) && (caller < &_etext)) {
+ if (0 < malloc_count) {
+ --malloc_count;
+ malloc_dbg_uninstall();
+ ret = malloc(size);
+ malloc_dbg_install();
+ return ret;
+ } else {
+ return NULL;
+ }
+ } else {
+ malloc_dbg_uninstall();
+ ret = malloc(size);
+ malloc_dbg_install();
+ return ret;
+ }
}
- }
}
//! emun States Type string
-static const char* replication_mode[] = {
- "REPLICATION_OUT",
- "REPLICATION_SINGLE",
- "REPLICATION_MASTER",
- "REPLICATION_SLAVE",
- "REPLICATION_MASTER_STOP",
- "REPLICATION_SLAVE_STOP"
+static const char *replication_mode[] = {
+ "REPLICATION_OUT",
+ "REPLICATION_SINGLE",
+ "REPLICATION_MASTER",
+ "REPLICATION_SLAVE",
+ "REPLICATION_MASTER_STOP",
+ "REPLICATION_SLAVE_STOP"
};
volatile bool locked_end = false;
boost::asio::io_service global_receive_io;
boost::asio::io_service global_send_io;
-void receiver_thread( const char* recv_ip ){
- //boost::asio::ip::udp::endpoint udp_endpoint( boost::asio::ip::address::from_string( recv_ip ), 40000 );
- boost::asio::ip::udp::endpoint udp_endpoint( make_endpoint<boost::asio::ip::udp>( recv_ip, REPLICATION_PORT ) );
- boost::asio::ip::udp::socket receiver_socket( global_receive_io, udp_endpoint );
-
- char *recv_memory;
- size_t size;
-
- //! Transfer data between active server and standby server.
- struct replication_data_struct{
- unsigned short id; //!< ID of Replication Function
- char pad1[6];
- unsigned long long serial; //!< Serial Number
- unsigned int block_num; //!< Block Number in Replication memory
- char pad2[4];
- uint64_t size; //!< Data size for checking packet loss
- char data[DATA_SIZE]; //!< Raw data
- } replication_data;
-
- //! State Infomation struct to execute Replication.
- struct replication_state_struct{
- enum l7vs::replication::REPLICATION_MODE_TAG service_status; //!< States Type of Replication Function
- unsigned long long send_time; //!< Completion last time to send data(no use)
- unsigned int last_send_block; //!< Completion last Block Number to send data
- unsigned int last_recv_block; //!< Completion last Block Number to receive data
- unsigned int total_block; //!< The maximum Block Number of Components memory
- void* replication_memory; //!< Top address in Replication memory
- void* component_memory; //!< Top address in Component memory
- uint64_t surface_block_no; //!< Serial number for respect switch
- uint64_t* surface_block_array_ptr; //!< Serial number in received respect at every block
-
- replication_state_struct() : service_status(l7vs::replication::REPLICATION_OUT),
- send_time(0),
- last_send_block(0),
- last_recv_block(0),
- total_block(0),
- replication_memory(NULL),
- component_memory(NULL),
- surface_block_no(0),
- surface_block_array_ptr(NULL) {}
- } replication_state;
-
-
- l7vs::Parameter param;
- std::string key_id;
- std::string key_size;
- l7vs::error_code size_ret;
-
- // Conponent exists
- // Get Component infomation
- for ( int i=0; i<CMP_MAX; i++) {
- key_size = boost::io::str( boost::format( "cmponent_size_%02d" ) % i );
- replication_state.total_block += param.get_int( l7vs::PARAM_COMP_REPLICATION, key_size, size_ret );
- }
-
- // Replication memory is NULL
- if ( NULL == ( replication_state.replication_memory = malloc( replication_state.total_block*DATA_SIZE ) )) {
- l7vs::Logger::putLogError( l7vs::LOG_CAT_L7VSD_SYSTEM_MEMORY, 1, "Replication memory is NULL.", __FILE__, __LINE__ );
- goto END;
- }
+void receiver_thread(const char *recv_ip)
+{
+ //boost::asio::ip::udp::endpoint udp_endpoint( boost::asio::ip::address::from_string( recv_ip ), 40000 );
+ boost::asio::ip::udp::endpoint udp_endpoint(make_endpoint<boost::asio::ip::udp>(recv_ip, REPLICATION_PORT));
+ boost::asio::ip::udp::socket receiver_socket(global_receive_io, udp_endpoint);
+
+ char *recv_memory;
+ size_t size;
+
+ //! Transfer data between active server and standby server.
+ struct replication_data_struct {
+ unsigned short id; //!< ID of Replication Function
+ char pad1[6];
+ unsigned long long serial; //!< Serial Number
+ unsigned int block_num; //!< Block Number in Replication memory
+ char pad2[4];
+ uint64_t size; //!< Data size for checking packet loss
+ char data[DATA_SIZE]; //!< Raw data
+ } replication_data;
+
+ //! State Infomation struct to execute Replication.
+ struct replication_state_struct {
+ enum l7vs::replication::REPLICATION_MODE_TAG service_status; //!< States Type of Replication Function
+ unsigned long long send_time; //!< Completion last time to send data(no use)
+ unsigned int last_send_block; //!< Completion last Block Number to send data
+ unsigned int last_recv_block; //!< Completion last Block Number to receive data
+ unsigned int total_block; //!< The maximum Block Number of Components memory
+ void *replication_memory; //!< Top address in Replication memory
+ void *component_memory; //!< Top address in Component memory
+ uint64_t surface_block_no; //!< Serial number for respect switch
+ uint64_t *surface_block_array_ptr; //!< Serial number in received respect at every block
+
+ replication_state_struct() : service_status(l7vs::replication::REPLICATION_OUT),
+ send_time(0),
+ last_send_block(0),
+ last_recv_block(0),
+ total_block(0),
+ replication_memory(NULL),
+ component_memory(NULL),
+ surface_block_no(0),
+ surface_block_array_ptr(NULL) {}
+ } replication_state;
+
+
+ l7vs::Parameter param;
+ std::string key_id;
+ std::string key_size;
+ l7vs::error_code size_ret;
+
+ // Conponent exists
+ // Get Component infomation
+ for (int i = 0; i < CMP_MAX; i++) {
+ key_size = boost::io::str(boost::format("cmponent_size_%02d") % i);
+ replication_state.total_block += param.get_int(l7vs::PARAM_COMP_REPLICATION, key_size, size_ret);
+ }
+
+ // Replication memory is NULL
+ if (NULL == (replication_state.replication_memory = malloc(replication_state.total_block * DATA_SIZE))) {
+ l7vs::Logger::putLogError(l7vs::LOG_CAT_L7VSD_SYSTEM_MEMORY, 1, "Replication memory is NULL.", __FILE__, __LINE__);
+ goto END;
+ }
// memset(replication_state.replication_memory,0,replication_state.total_block*DATA_SIZE);
- memset(replication_state.replication_memory,'9',replication_state.total_block*DATA_SIZE);
+ memset(replication_state.replication_memory, '9', replication_state.total_block * DATA_SIZE);
- // Component memory is NULL
+ // Component memory is NULL
// if ( NULL == ( replication_state.component_memory = malloc( replication_state.total_block*DATA_SIZE ) ) ){
// l7vs::Logger::putLogError( l7vs::LOG_CAT_L7VSD_SYSTEM_MEMORY, 1, "Component memory is NULL.", __FILE__, __LINE__ );
// goto END;
// }
// memset(replication_state.component_memory,0,replication_state.total_block*DATA_SIZE);
- // Surface block array memory is NULL
- if ( NULL == ( replication_state.surface_block_array_ptr = ( uint64_t* )malloc( replication_state.total_block*sizeof(uint64_t) ) )) {
- l7vs::Logger::putLogError( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Surface block array pointer is NULL.", __FILE__, __LINE__ );
- goto END;
- }
- memset(replication_state.surface_block_array_ptr,0,replication_state.total_block*sizeof(uint64_t));
+ // Surface block array memory is NULL
+ if (NULL == (replication_state.surface_block_array_ptr = (uint64_t *)malloc(replication_state.total_block * sizeof(uint64_t)))) {
+ l7vs::Logger::putLogError(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Surface block array pointer is NULL.", __FILE__, __LINE__);
+ goto END;
+ }
+ memset(replication_state.surface_block_array_ptr, 0, replication_state.total_block * sizeof(uint64_t));
- for ( ; ; ){
+ for (; ;) {
// size = receiver_socket.receive_from ( boost::asio::buffer( &replication_data, sizeof( struct replication_data_struct ) ), udp_endpoint );
- size = receiver_socket.receive ( boost::asio::buffer( &replication_data, sizeof( struct replication_data_struct ) ) );
- if ( size != sizeof ( struct replication_data_struct ) ){
- l7vs::Logger::putLogError( l7vs::LOG_CAT_L7VSD_SYSTEM, 1, "Failed in the reception processing of data because of illegal receive size.", __FILE__, __LINE__ );
- goto END;
- }
+ size = receiver_socket.receive(boost::asio::buffer(&replication_data, sizeof(struct replication_data_struct)));
+ if (size != sizeof(struct replication_data_struct)) {
+ l7vs::Logger::putLogError(l7vs::LOG_CAT_L7VSD_SYSTEM, 1, "Failed in the reception processing of data because of illegal receive size.", __FILE__, __LINE__);
+ goto END;
+ }
//std::cout << "receiver_thread\n";
//std::cout << replication_data.id << "\n";
//std::cout << replication_data.size << "\n";
//std::cout << replication_data.data[0] << "\n";
- // Check replication ID
- if ( replication_data.id != REPLICATION_ID ){
- l7vs::Logger::putLogError( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Get invalid data.", __FILE__, __LINE__ );
- goto END;
- } else if ( replication_data.block_num > replication_state.total_block ){
- // block number is over
- l7vs::Logger::putLogError( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Recv block number is too large.", __FILE__, __LINE__ );
- goto END;
- } else if ( replication_data.serial < replication_state.surface_block_array_ptr[replication_data.block_num] ){
- // Comparison of serial numbers
- l7vs::Logger::putLogError( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Recv replication data is too old.", __FILE__, __LINE__ );
- goto END;
- } else {
- // Substitution of version
- replication_state.surface_block_array_ptr[replication_data.block_num] = replication_data.serial;
- }
+ // Check replication ID
+ if (replication_data.id != REPLICATION_ID) {
+ l7vs::Logger::putLogError(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Get invalid data.", __FILE__, __LINE__);
+ goto END;
+ } else if (replication_data.block_num > replication_state.total_block) {
+ // block number is over
+ l7vs::Logger::putLogError(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Recv block number is too large.", __FILE__, __LINE__);
+ goto END;
+ } else if (replication_data.serial < replication_state.surface_block_array_ptr[replication_data.block_num]) {
+ // Comparison of serial numbers
+ l7vs::Logger::putLogError(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Recv replication data is too old.", __FILE__, __LINE__);
+ goto END;
+ } else {
+ // Substitution of version
+ replication_state.surface_block_array_ptr[replication_data.block_num] = replication_data.serial;
+ }
- // set recv data
- recv_memory = ( char * )replication_state.replication_memory + DATA_SIZE * replication_data.block_num;
+ // set recv data
+ recv_memory = (char *)replication_state.replication_memory + DATA_SIZE * replication_data.block_num;
- // received data.
- memcpy( recv_memory, &replication_data.data, DATA_SIZE );
+ // received data.
+ memcpy(recv_memory, &replication_data.data, DATA_SIZE);
- // set surface block
- replication_state.surface_block_array_ptr[replication_data.block_num] = replication_data.serial;
+ // set surface block
+ replication_state.surface_block_array_ptr[replication_data.block_num] = replication_data.serial;
- // Surface numbers are compared.
- for ( unsigned int i = 0; i < replication_state.total_block-1; i++ ){
- if ( replication_state.surface_block_array_ptr[i] != replication_state.surface_block_array_ptr[i+1] ){
- break;
- }
- if ( i == replication_state.total_block-2 ){
- // Synchronization is executed.
+ // Surface numbers are compared.
+ for (unsigned int i = 0; i < replication_state.total_block - 1; i++) {
+ if (replication_state.surface_block_array_ptr[i] != replication_state.surface_block_array_ptr[i+1]) {
+ break;
+ }
+ if (i == replication_state.total_block - 2) {
+ // Synchronization is executed.
// memcpy(replication_state.component_memory, replication_state.replication_memory, replication_state.total_block*DATA_SIZE );
- l7vs::Logger::putLogInfo( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Replication stub receiving is success.", __FILE__, __LINE__ );
-
- int size;
- unsigned char* p;
- unsigned char* head;
- int h = 0;
- int i = 0;
- std::string buf;
-
- // Dump size
- size = DATA_SIZE * replication_state.total_block;
-
- // Memory Dump
- p = ( unsigned char * )replication_state.replication_memory;
-
- // Output mode
- l7vs::Logger::putLogInfo( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Replication check Start ----------------------------", __FILE__, __LINE__ );
- buf = boost::io::str( boost::format( "Mode is [ %s ]." ) % replication_mode[(int)replication_state.service_status] );
- l7vs::Logger::putLogInfo( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, buf, __FILE__, __LINE__ );
- buf = boost::io::str( boost::format( "Total Block is [ %u ]" ) % replication_state.total_block );
- l7vs::Logger::putLogInfo( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, buf, __FILE__, __LINE__ );
-
- // Converts into the binary, and writes it to the file.
- for ( h = 0; h < size / DATA_SIZE; h++ ){
- buf = boost::io::str( boost::format( "Block Number [ %d ]" ) % h );
- l7vs::Logger::putLogInfo( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, buf, __FILE__, __LINE__ );
-
- for ( i = 0; i < DATA_SIZE / LOG_DATA_WIDTH; i++ ){
- head = p + h * DATA_SIZE + i * LOG_DATA_WIDTH;
-
- // have to cast char to int. because boost::format ignore char with appointed width.
- buf = boost::io::str( boost::format( "%02hhX %02hhX %02hhX %02hhX %02hhX %02hhX %02hhX %02hhX "
- "%02hhX %02hhX %02hhX %02hhX %02hhX %02hhX %02hhX %02hhX" )
- % ( int )*head % ( int )*(head+1) % ( int )*(head+2) % ( int )*(head+3)
- % ( int )*(head+4) % ( int )*(head+5) % ( int )*(head+6)% ( int )*(head+7)
- % ( int )*(head+8) % ( int )*(head+9) % ( int )*(head+10) % ( int )*(head+11)
- % ( int )*(head+12) % ( int )*(head+13) % ( int )*(head+14) % ( int )*(head+15) );
- l7vs::Logger::putLogInfo( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, buf, __FILE__, __LINE__ );
- }
+ l7vs::Logger::putLogInfo(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Replication stub receiving is success.", __FILE__, __LINE__);
+
+ int size;
+ unsigned char *p;
+ unsigned char *head;
+ int h = 0;
+ int i = 0;
+ std::string buf;
+
+ // Dump size
+ size = DATA_SIZE * replication_state.total_block;
+
+ // Memory Dump
+ p = (unsigned char *)replication_state.replication_memory;
+
+ // Output mode
+ l7vs::Logger::putLogInfo(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Replication check Start ----------------------------", __FILE__, __LINE__);
+ buf = boost::io::str(boost::format("Mode is [ %s ].") % replication_mode[(int)replication_state.service_status]);
+ l7vs::Logger::putLogInfo(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, buf, __FILE__, __LINE__);
+ buf = boost::io::str(boost::format("Total Block is [ %u ]") % replication_state.total_block);
+ l7vs::Logger::putLogInfo(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, buf, __FILE__, __LINE__);
+
+ // Converts into the binary, and writes it to the file.
+ for (h = 0; h < size / DATA_SIZE; h++) {
+ buf = boost::io::str(boost::format("Block Number [ %d ]") % h);
+ l7vs::Logger::putLogInfo(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, buf, __FILE__, __LINE__);
+
+ for (i = 0; i < DATA_SIZE / LOG_DATA_WIDTH; i++) {
+ head = p + h * DATA_SIZE + i * LOG_DATA_WIDTH;
+
+ // have to cast char to int. because boost::format ignore char with appointed width.
+ buf = boost::io::str(boost::format("%02hhX %02hhX %02hhX %02hhX %02hhX %02hhX %02hhX %02hhX "
+ "%02hhX %02hhX %02hhX %02hhX %02hhX %02hhX %02hhX %02hhX")
+ % (int) * head % (int) * (head + 1) % (int) * (head + 2) % (int) * (head + 3)
+ % (int) * (head + 4) % (int) * (head + 5) % (int) * (head + 6) % (int) * (head + 7)
+ % (int) * (head + 8) % (int) * (head + 9) % (int) * (head + 10) % (int) * (head + 11)
+ % (int) * (head + 12) % (int) * (head + 13) % (int) * (head + 14) % (int) * (head + 15));
+ l7vs::Logger::putLogInfo(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, buf, __FILE__, __LINE__);
+ }
+ }
+ l7vs::Logger::putLogInfo(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Replication check End ------------------------------", __FILE__, __LINE__);
+
+ goto END;
+ }
}
- l7vs::Logger::putLogInfo( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Replication check End ------------------------------", __FILE__, __LINE__ );
- goto END;
- }
+ // set surface block
+ replication_state.surface_block_array_ptr[replication_data.block_num] = replication_data.serial;
+
+ // set last recv block number
+ if (replication_state.last_recv_block < replication_state.total_block - 1) {
+ replication_state.last_recv_block += 1;
+ } else if (replication_state.last_recv_block == replication_state.total_block - 1) {
+ replication_state.last_recv_block = 0;
+ } else {
+ l7vs::Logger::putLogError(l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Last send block number is illegal.", __FILE__, __LINE__);
+ goto END;
+ }
}
- // set surface block
- replication_state.surface_block_array_ptr[replication_data.block_num] = replication_data.serial;
-
- // set last recv block number
- if ( replication_state.last_recv_block < replication_state.total_block-1 ){
- replication_state.last_recv_block += 1;
- }else if(replication_state.last_recv_block == replication_state.total_block-1){
- replication_state.last_recv_block = 0;
- }else{
- l7vs::Logger::putLogError( l7vs::LOG_CAT_L7VSD_REPLICATION, 1, "Last send block number is illegal.", __FILE__, __LINE__ );
- goto END;
+END:
+ if (NULL != replication_state.replication_memory) {
+ free(replication_state.replication_memory);
}
- }
+ replication_state.replication_memory = NULL;
+ if (NULL != replication_state.component_memory) {
+ free(replication_state.component_memory);
+ }
+ replication_state.component_memory = NULL;
+ if (NULL != replication_state.surface_block_array_ptr) {
+ free(replication_state.surface_block_array_ptr);
+ }
+ replication_state.surface_block_array_ptr = NULL;
-END:
- if ( NULL != replication_state.replication_memory){
- free(replication_state.replication_memory);
- }
- replication_state.replication_memory = NULL;
- if ( NULL != replication_state.component_memory){
- free(replication_state.component_memory);
- }
- replication_state.component_memory = NULL;
- if ( NULL != replication_state.surface_block_array_ptr ){
- free(replication_state.surface_block_array_ptr);
- }
- replication_state.surface_block_array_ptr=NULL;
-
- receiver_socket.close();
-
- receiver_end = true;
+ receiver_socket.close();
+
+ receiver_end = true;
}
-void sender_thread(){
- l7vs::replication repli2;
+void sender_thread()
+{
+ l7vs::replication repli2;
- BOOST_CHECK_EQUAL( repli2.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli2.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli2.get_status(), l7vs::replication::REPLICATION_SLAVE );
+ BOOST_CHECK_EQUAL(repli2.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli2.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli2.get_status(), l7vs::replication::REPLICATION_SLAVE);
- unsigned int size;
- void* ptr;
+ unsigned int size;
+ void *ptr;
- ptr = repli2.pay_memory( "virtualservice", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli2.lock( "virtualservice" ), 0 );
- memset( ptr, 'A', size * DATA_SIZE );
- repli2.unlock( "virtualservice" );
+ ptr = repli2.pay_memory("virtualservice", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli2.lock("virtualservice"), 0);
+ memset(ptr, 'A', size * DATA_SIZE);
+ repli2.unlock("virtualservice");
- ptr = repli2.pay_memory( "chash", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli2.lock( "chash" ), 0 );
- memset( ptr, 'B', size * DATA_SIZE );
- repli2.unlock( "chash" );
+ ptr = repli2.pay_memory("chash", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli2.lock("chash"), 0);
+ memset(ptr, 'B', size * DATA_SIZE);
+ repli2.unlock("chash");
- ptr = repli2.pay_memory( "sslid", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli2.lock( "sslid" ), 0 );
- memset( ptr, 'C', size * DATA_SIZE );
- repli2.unlock( "sslid" );
+ ptr = repli2.pay_memory("sslid", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli2.lock("sslid"), 0);
+ memset(ptr, 'C', size * DATA_SIZE);
+ repli2.unlock("sslid");
- repli2.switch_to_master();
- BOOST_CHECK_EQUAL( repli2.get_status(), l7vs::replication::REPLICATION_MASTER );
+ repli2.switch_to_master();
+ BOOST_CHECK_EQUAL(repli2.get_status(), l7vs::replication::REPLICATION_MASTER);
- sleep(1);
+ sleep(1);
- repli2.finalize();
+ repli2.finalize();
}
-void sender2_thread( const char* target_ip ){
+void sender2_thread(const char *target_ip)
+{
// boost::asio::ip::udp::endpoint udp_endpoint( boost::asio::ip::address::from_string( target_ip, 40000 );
- boost::asio::ip::udp::endpoint udp_endpoint( make_endpoint<boost::asio::ip::udp>( target_ip, REPLICATION_PORT ) );
+ boost::asio::ip::udp::endpoint udp_endpoint(make_endpoint<boost::asio::ip::udp>(target_ip, REPLICATION_PORT));
// boost::asio::ip::udp::socket sender_socket( global_send_io, udp_endpoint );
- boost::asio::ip::udp::socket sender_socket( global_send_io );
-
- //! Transfer data between active server and standby server.
- struct replication_data_struct{
- unsigned short id; //!< ID of Replication Function
- char pad1[6];
- unsigned long long serial; //!< Serial Number
- unsigned int block_num; //!< Block Number in Replication memory
- char pad2[4];
- uint64_t size; //!< Data size for checking packet loss
- char data[DATA_SIZE]; //!< Raw data
- } replication_data;
-
- size_t send_byte;
- boost::system::error_code err;
-
-std::cout << "sender2 " << udp_endpoint.address() << ":" << udp_endpoint.port() << "\n";
- memset( &replication_data, 0, sizeof( struct replication_data_struct ) );
- // Set replication id
- replication_data.id = REPLICATION_ID;
- replication_data.block_num = 0;
- // set serial
- replication_data.serial = 0;
-
- // set data size (sizeof(replication_data))
- replication_data.size = sizeof( struct replication_data_struct );
-
- // set replication data (1 block)
- memset( replication_data.data, '7', DATA_SIZE );
-
- // send to data
-std::cout << "send 1st block\n";
- sender_socket.open( udp_endpoint.protocol() );
+ boost::asio::ip::udp::socket sender_socket(global_send_io);
+
+ //! Transfer data between active server and standby server.
+ struct replication_data_struct {
+ unsigned short id; //!< ID of Replication Function
+ char pad1[6];
+ unsigned long long serial; //!< Serial Number
+ unsigned int block_num; //!< Block Number in Replication memory
+ char pad2[4];
+ uint64_t size; //!< Data size for checking packet loss
+ char data[DATA_SIZE]; //!< Raw data
+ } replication_data;
+
+ size_t send_byte;
+ boost::system::error_code err;
+
+ std::cout << "sender2 " << udp_endpoint.address() << ":" << udp_endpoint.port() << "\n";
+ memset(&replication_data, 0, sizeof(struct replication_data_struct));
+ // Set replication id
+ replication_data.id = REPLICATION_ID;
+ replication_data.block_num = 0;
+ // set serial
+ replication_data.serial = 0;
+
+ // set data size (sizeof(replication_data))
+ replication_data.size = sizeof(struct replication_data_struct);
+
+ // set replication data (1 block)
+ memset(replication_data.data, '7', DATA_SIZE);
+
+ // send to data
+ std::cout << "send 1st block\n";
+ sender_socket.open(udp_endpoint.protocol());
// send_byte = sender_socket.send_to( boost::asio::buffer( &replication_data, sizeof( struct replication_data_struct ) ), udp_endpoint );
- send_byte = sender_socket.send_to( boost::asio::buffer( &replication_data, sizeof( struct replication_data_struct ) ), udp_endpoint, 0, err );
- if ( err ){
- std::cout << err.message() << "\n";
- sender_socket.close();
- return;
- }
- if ( sizeof( struct replication_data_struct ) != send_byte ){
- sender_socket.close();
- return;
- }
- global_send_io.run();
- usleep( 10000 );
-
- replication_data.block_num = 1;
-
- // set replication data (1 block)
- memset( replication_data.data, '8', DATA_SIZE );
-
- // send to data
-std::cout << "send 2nd block\n";
+ send_byte = sender_socket.send_to(boost::asio::buffer(&replication_data, sizeof(struct replication_data_struct)), udp_endpoint, 0, err);
+ if (err) {
+ std::cout << err.message() << "\n";
+ sender_socket.close();
+ return;
+ }
+ if (sizeof(struct replication_data_struct) != send_byte) {
+ sender_socket.close();
+ return;
+ }
+ global_send_io.run();
+ usleep(10000);
+
+ replication_data.block_num = 1;
+
+ // set replication data (1 block)
+ memset(replication_data.data, '8', DATA_SIZE);
+
+ // send to data
+ std::cout << "send 2nd block\n";
// send_byte = sender_socket.send_to( boost::asio::buffer( &replication_data, sizeof( struct replication_data_struct ) ), udp_endpoint );
- send_byte = sender_socket.send_to( boost::asio::buffer( &replication_data, sizeof( struct replication_data_struct ) ), udp_endpoint, 0, err );
- if ( err ){
- std::cout << err.message() << "\n";
- sender_socket.close();
- return;
- }
- if ( sizeof( struct replication_data_struct ) != send_byte ){
- sender_socket.close();
- return;
- }
- global_send_io.run();
- usleep( 10000 );
+ send_byte = sender_socket.send_to(boost::asio::buffer(&replication_data, sizeof(struct replication_data_struct)), udp_endpoint, 0, err);
+ if (err) {
+ std::cout << err.message() << "\n";
+ sender_socket.close();
+ return;
+ }
+ if (sizeof(struct replication_data_struct) != send_byte) {
+ sender_socket.close();
+ return;
+ }
+ global_send_io.run();
+ usleep(10000);
- replication_data.block_num = 2;
+ replication_data.block_num = 2;
- // set replication data (1 block)
- memset( replication_data.data, '9', DATA_SIZE );
+ // set replication data (1 block)
+ memset(replication_data.data, '9', DATA_SIZE);
- // send to data
-std::cout << "send 3rd block\n";
+ // send to data
+ std::cout << "send 3rd block\n";
// send_byte = sender_socket.send_to( boost::asio::buffer( &replication_data, sizeof( struct replication_data_struct ) ), udp_endpoint );
- send_byte = sender_socket.send_to( boost::asio::buffer( &replication_data, sizeof( struct replication_data_struct ) ), udp_endpoint, 0, err );
- if ( err ){
- std::cout << err.message() << "\n";
- sender_socket.close();
- return;
- }
- if ( sizeof( struct replication_data_struct ) != send_byte ){
- sender_socket.close();
- return;
- }
- global_send_io.run();
- sleep(1);
+ send_byte = sender_socket.send_to(boost::asio::buffer(&replication_data, sizeof(struct replication_data_struct)), udp_endpoint, 0, err);
+ if (err) {
+ std::cout << err.message() << "\n";
+ sender_socket.close();
+ return;
+ }
+ if (sizeof(struct replication_data_struct) != send_byte) {
+ sender_socket.close();
+ return;
+ }
+ global_send_io.run();
+ sleep(1);
- sender_socket.close();
+ sender_socket.close();
}
-void lock_thread( l7vs::replication_fake* p_repliX, const char* name ){
- std::string id( name );
- p_repliX->lock( id );
- locked_end = true;
+void lock_thread(l7vs::replication_fake *p_repliX, const char *name)
+{
+ std::string id(name);
+ p_repliX->lock(id);
+ locked_end = true;
}
//test case1.
-void replication_initialize_test( int proto ){
+void replication_initialize_test(int proto)
+{
// int loop;
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- // unit_test[1] コンストラクタのテスト
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- l7vs::replication repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[2] initializeのテスト(正常系)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[3] finnalizeのテスト(正常系)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[4] initializeのテスト(ip_addrが存在しない)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1;
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- // unit_test[5] initializeのテスト(service_nameが存在しない)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 2;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- // unit_test[6] initializeのテスト(recv_ip_addrが存在しない)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 3;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- // unit_test[7] initializeのテスト(intervalが存在しない)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 0;
- get_int_stubmode = 1;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- // unit_test[8] initializeのテスト(全部存在しない initialize自体はOK)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1000;
- get_int_stubmode = 1000;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- get_int_stubmode = 0;
- // unit_test[9] initializeのテスト(ip_addrが不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 101;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- // unit_test[10] initializeのテスト(service_nameが不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 102;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- // unit_test[11] initializeのテスト(recv_ip_addrが不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 103;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- // unit_test[12] initializeのテスト(intervalが不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 0;
- get_int_stubmode = 101;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- get_int_stubmode = 0;
- // unit_test[13] check_parameterのテスト(cmponent_id_00が存在しない)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 4;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- // unit_test[14] initializeのテスト(cmponent_id_00が不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 104;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- get_string_stubmode = 0;
- // unit_test[15] initializeのテスト(cmponent_size_00が存在しない)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_stubmode = 2;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- // unit_test[16] initializeのテスト(cmponent_size_00が不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_stubmode = 102;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- get_int_stubmode = 0;
- // unit_test[17] initializeのテスト(cmponent_id_01が存在しない OK)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 5;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[18] initializeのテスト(cmponent_id_01が不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 105;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- get_string_stubmode = 0;
- // unit_test[19] initializeのテスト(cmponent_size_01が存在しない OK)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_stubmode = 3;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[20] initializeのテスト(cmponent_size_01が不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_stubmode = 103;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- get_int_stubmode = 0;
- // unit_test[21] initializeのテスト(cmponent_id_02が存在しない OK)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 6;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[22] initializeのテスト(cmponent_id_02が不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 106;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- get_string_stubmode = 0;
- // unit_test[23] initializeのテスト(cmponent_size_02が存在しない OK)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_stubmode = 4;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[24] initializeのテスト(cmponent_size_02が不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_stubmode = 104;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[25] initializeのテスト(total_blockが0)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_stubmode = 102;
- get_string_stubmode = 5;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- get_int_stubmode = 0;
- get_string_stubmode = 0;
- // unit_test[26] check_parameterのテスト(intervalが上限以上)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_table[0] = 10001; // "interval"
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- // unit_test[27] check_parameterのテスト(intervalが下限未満)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_table[0] = 9; // "interval"
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- get_int_table[0] = 10000; // "interval"
- // unit_test[28] check_parameterのテスト(component_idが重複)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- strcpy( get_string_table[4], "virtualservice" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "virtualservice" ); // "cmponent_id_02"
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
-
- // unit_test[29] check_parameterのテスト(total_blockが上限以上)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_table[1] = 33334; // "cmponent_size_00"
- get_int_table[2] = 33334; // "cmponent_size_01"
- get_int_table[3] = 33334; // "cmponent_size_02"
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
-
- // unit_test[30] getrplのテスト(Replication memoryのmalloc失敗)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- malloc_count = 0 ;
- malloc_dbg_install();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
- malloc_dbg_uninstall();
-
- // unit_test[31] getcmpのテスト(Components memoryのmalloc失敗)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- malloc_count = 1 ;
- malloc_dbg_install();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
- malloc_dbg_uninstall();
-
- // unit_test[32] getsrfのテスト(surface_blockのmalloc失敗)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- malloc_count = 2 ;
- malloc_dbg_install();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
- malloc_dbg_uninstall();
-
- // unit_test[33] initializeのテスト(initialize済み)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[34] finalizeのテスト(finalize済み)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ // unit_test[1] コンストラクタのテスト
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ l7vs::replication repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[2] initializeのテスト(正常系)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[3] finnalizeのテスト(正常系)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[4] initializeのテスト(ip_addrが存在しない)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1;
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ // unit_test[5] initializeのテスト(service_nameが存在しない)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 2;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ // unit_test[6] initializeのテスト(recv_ip_addrが存在しない)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 3;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ // unit_test[7] initializeのテスト(intervalが存在しない)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 0;
+ get_int_stubmode = 1;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ // unit_test[8] initializeのテスト(全部存在しない initialize自体はOK)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1000;
+ get_int_stubmode = 1000;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ get_int_stubmode = 0;
+ // unit_test[9] initializeのテスト(ip_addrが不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 101;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ // unit_test[10] initializeのテスト(service_nameが不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 102;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ // unit_test[11] initializeのテスト(recv_ip_addrが不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 103;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ // unit_test[12] initializeのテスト(intervalが不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 0;
+ get_int_stubmode = 101;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ get_int_stubmode = 0;
+ // unit_test[13] check_parameterのテスト(cmponent_id_00が存在しない)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 4;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ // unit_test[14] initializeのテスト(cmponent_id_00が不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 104;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ get_string_stubmode = 0;
+ // unit_test[15] initializeのテスト(cmponent_size_00が存在しない)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_stubmode = 2;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ // unit_test[16] initializeのテスト(cmponent_size_00が不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_stubmode = 102;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ get_int_stubmode = 0;
+ // unit_test[17] initializeのテスト(cmponent_id_01が存在しない OK)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 5;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[18] initializeのテスト(cmponent_id_01が不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 105;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ get_string_stubmode = 0;
+ // unit_test[19] initializeのテスト(cmponent_size_01が存在しない OK)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_stubmode = 3;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[20] initializeのテスト(cmponent_size_01が不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_stubmode = 103;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ get_int_stubmode = 0;
+ // unit_test[21] initializeのテスト(cmponent_id_02が存在しない OK)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 6;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[22] initializeのテスト(cmponent_id_02が不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 106;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ get_string_stubmode = 0;
+ // unit_test[23] initializeのテスト(cmponent_size_02が存在しない OK)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_stubmode = 4;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[24] initializeのテスト(cmponent_size_02が不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_stubmode = 104;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[25] initializeのテスト(total_blockが0)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_stubmode = 102;
+ get_string_stubmode = 5;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ get_int_stubmode = 0;
+ get_string_stubmode = 0;
+ // unit_test[26] check_parameterのテスト(intervalが上限以上)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_table[0] = 10001; // "interval"
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ // unit_test[27] check_parameterのテスト(intervalが下限未満)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_table[0] = 9; // "interval"
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ get_int_table[0] = 10000; // "interval"
+ // unit_test[28] check_parameterのテスト(component_idが重複)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ strcpy(get_string_table[4], "virtualservice"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "virtualservice"); // "cmponent_id_02"
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+
+ // unit_test[29] check_parameterのテスト(total_blockが上限以上)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_table[1] = 33334; // "cmponent_size_00"
+ get_int_table[2] = 33334; // "cmponent_size_01"
+ get_int_table[3] = 33334; // "cmponent_size_02"
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+
+ // unit_test[30] getrplのテスト(Replication memoryのmalloc失敗)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ malloc_count = 0 ;
+ malloc_dbg_install();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+ malloc_dbg_uninstall();
+
+ // unit_test[31] getcmpのテスト(Components memoryのmalloc失敗)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ malloc_count = 1 ;
+ malloc_dbg_install();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+ malloc_dbg_uninstall();
+
+ // unit_test[32] getsrfのテスト(surface_blockのmalloc失敗)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ malloc_count = 2 ;
+ malloc_dbg_install();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+ malloc_dbg_uninstall();
+
+ // unit_test[33] initializeのテスト(initialize済み)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[34] finalizeのテスト(finalize済み)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
}
//test case2.
-void replication_switch_to_master_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[35] switch_to_master&set_masterのテスト(SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
-
- // unit_test[36] switch_to_masterのテスト(MASTER時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
-
- // unit_test[37] switch_to_masterのテスト(MASTER_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.stop();
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
-
- // unit_test[38] switch_to_masterのテスト(未初期化)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[39] switch_to_master&set_masterのテスト(SLAVE_STOP)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- repli1.stop();
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
-
- // unit_test[40] switch_to_masterのテスト(SINGLE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1;
- get_int_stubmode = 1;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- repli1.finalize();
- get_string_stubmode = 0;
- get_int_stubmode = 0;
+void replication_switch_to_master_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[35] switch_to_master&set_masterのテスト(SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+
+ // unit_test[36] switch_to_masterのテスト(MASTER時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+
+ // unit_test[37] switch_to_masterのテスト(MASTER_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.stop();
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+
+ // unit_test[38] switch_to_masterのテスト(未初期化)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[39] switch_to_master&set_masterのテスト(SLAVE_STOP)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ repli1.stop();
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+
+ // unit_test[40] switch_to_masterのテスト(SINGLE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1;
+ get_int_stubmode = 1;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ repli1.finalize();
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
}
//test case3.
-void replication_switch_to_slave_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[41] switch_to_slaveのテスト(SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_slave();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[42] switch_to_slave&set_slaveのテスト(MASTER時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
- repli1.switch_to_slave();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[43] switch_to_slave&set_slaveのテスト(MASTER_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
- repli1.stop();
- repli1.switch_to_slave();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
-
- // unit_test[44] switch_to_slaveのテスト(未初期化)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- repli1.switch_to_slave();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[45] switch_to_slaveのテスト(SLAVE_STOP)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- repli1.stop();
- repli1.switch_to_slave();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
-
- // unit_test[46] switch_to_slaveのテスト(SINGLE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1;
- get_int_stubmode = 1;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- repli1.switch_to_slave();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- repli1.finalize();
- get_string_stubmode = 0;
- get_int_stubmode = 0;
+void replication_switch_to_slave_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[41] switch_to_slaveのテスト(SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_slave();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[42] switch_to_slave&set_slaveのテスト(MASTER時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+ repli1.switch_to_slave();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[43] switch_to_slave&set_slaveのテスト(MASTER_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+ repli1.stop();
+ repli1.switch_to_slave();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+
+ // unit_test[44] switch_to_slaveのテスト(未初期化)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ repli1.switch_to_slave();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[45] switch_to_slaveのテスト(SLAVE_STOP)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ repli1.stop();
+ repli1.switch_to_slave();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+
+ // unit_test[46] switch_to_slaveのテスト(SINGLE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1;
+ get_int_stubmode = 1;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ repli1.switch_to_slave();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ repli1.finalize();
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
}
//test case4.
-void replication_pay_memory_test( int proto ){
- unsigned int size;
- void* ptr;
-
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[47] pay_memoryのテスト(SLAVE virtualservice時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "virtualservice", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[1] );
-
- // unit_test[48] pay_memoryのテスト(SLAVE chash時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "chash", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[2] );
-
- // unit_test[49] pay_memoryのテスト(SLAVE sslid時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "sslid", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[3] );
-
- // unit_test[50] pay_memoryのテスト(virtualservice時 サイズ0)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_table[1] = 0; // "cmponent_size_00"
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- ptr = repli1.pay_memory( "virtualservice", size );
- BOOST_CHECK( NULL == ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[1] );
-
- get_int_table[1] = 64; // "cmponent_size_00"
-
- // unit_test[51] pay_memoryのテスト(chash時 サイズ0)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_table[2] = 0; // "cmponent_size_01"
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- ptr = repli1.pay_memory( "chash", size );
- BOOST_CHECK( NULL == ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[2] );
-
- get_int_table[2] = 1; // "cmponent_size_01"
-
- // unit_test[52] pay_memoryのテスト(sslid時 サイズ0)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_table[3] = 0; // "cmponent_size_02"
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- ptr = repli1.pay_memory( "sslid", size );
- BOOST_CHECK( NULL == ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[3] );
-
- get_int_table[3] = 200; // "cmponent_size_02"
-
- // unit_test[53] pay_memoryのテスト(id無効)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- ptr = repli1.pay_memory( "unknown", size );
- BOOST_CHECK( NULL == ptr );
- BOOST_CHECK_EQUAL( size, 0U );
-
- // unit_test[54] pay_memoryのテスト(SLAVE_STOP virtualservice時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
- ptr = repli1.pay_memory( "virtualservice", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[1] );
-
- // unit_test[55] pay_memoryのテスト(SLAVE_STOP chash時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "chash", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[2] );
-
- // unit_test[56] pay_memoryのテスト(SLAVE_STOP sslid時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "sslid", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[3] );
-
- // unit_test[57] pay_memoryのテスト(MASTER_STOP virtualservice時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
- ptr = repli1.pay_memory( "virtualservice", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[1] );
-
- // unit_test[58] pay_memoryのテスト(MASTER_STOP chash時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "chash", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[2] );
-
- // unit_test[59] pay_memoryのテスト(MASTER_STOP sslid時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "sslid", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[3] );
-
- // unit_test[60] pay_memoryのテスト(MASTER virtualservice時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
- ptr = repli1.pay_memory( "virtualservice", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[1] );
-
- // unit_test[61] pay_memoryのテスト(MASTER chash時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "chash", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[2] );
-
- // unit_test[62] pay_memoryのテスト(MASTER sslid時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "sslid", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( size, ( unsigned int )get_int_table[3] );
-
- // unit_test[63] pay_memoryのテスト(未初期化 virtualservice時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- ptr = repli1.pay_memory( "virtualservice", size );
- BOOST_CHECK( NULL == ptr );
- BOOST_CHECK_EQUAL( size, 0U );
-
- // unit_test[64] pay_memoryのテスト(未初期化 chash時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "chash", size );
- BOOST_CHECK( NULL == ptr );
- BOOST_CHECK_EQUAL( size, 0U );
-
- // unit_test[65] pay_memoryのテスト(未初期化 sslid時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "sslid", size );
- BOOST_CHECK( NULL == ptr );
- BOOST_CHECK_EQUAL( size, 0U );
-
- // unit_test[66] pay_memoryのテスト(SINGLE virtualservice時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1;
- get_int_stubmode = 1;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- ptr = repli1.pay_memory( "virtualservice", size );
- BOOST_CHECK( NULL == ptr );
- BOOST_CHECK_EQUAL( size, 0U );
-
- // unit_test[67] pay_memoryのテスト(SINGLE chash時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "chash", size );
- BOOST_CHECK( NULL == ptr );
- BOOST_CHECK_EQUAL( size, 0U );
-
- // unit_test[68] pay_memoryのテスト(SINGLE sslid時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ptr = repli1.pay_memory( "sslid", size );
- BOOST_CHECK( NULL == ptr );
- BOOST_CHECK_EQUAL( size, 0U );
-
- repli1.finalize();
- get_string_stubmode = 0;
- get_int_stubmode = 0;
+void replication_pay_memory_test(int proto)
+{
+ unsigned int size;
+ void *ptr;
+
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[47] pay_memoryのテスト(SLAVE virtualservice時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("virtualservice", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[1]);
+
+ // unit_test[48] pay_memoryのテスト(SLAVE chash時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("chash", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[2]);
+
+ // unit_test[49] pay_memoryのテスト(SLAVE sslid時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("sslid", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[3]);
+
+ // unit_test[50] pay_memoryのテスト(virtualservice時 サイズ0)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_table[1] = 0; // "cmponent_size_00"
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ ptr = repli1.pay_memory("virtualservice", size);
+ BOOST_CHECK(NULL == ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[1]);
+
+ get_int_table[1] = 64; // "cmponent_size_00"
+
+ // unit_test[51] pay_memoryのテスト(chash時 サイズ0)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_table[2] = 0; // "cmponent_size_01"
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ ptr = repli1.pay_memory("chash", size);
+ BOOST_CHECK(NULL == ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[2]);
+
+ get_int_table[2] = 1; // "cmponent_size_01"
+
+ // unit_test[52] pay_memoryのテスト(sslid時 サイズ0)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_table[3] = 0; // "cmponent_size_02"
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ ptr = repli1.pay_memory("sslid", size);
+ BOOST_CHECK(NULL == ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[3]);
+
+ get_int_table[3] = 200; // "cmponent_size_02"
+
+ // unit_test[53] pay_memoryのテスト(id無効)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ ptr = repli1.pay_memory("unknown", size);
+ BOOST_CHECK(NULL == ptr);
+ BOOST_CHECK_EQUAL(size, 0U);
+
+ // unit_test[54] pay_memoryのテスト(SLAVE_STOP virtualservice時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+ ptr = repli1.pay_memory("virtualservice", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[1]);
+
+ // unit_test[55] pay_memoryのテスト(SLAVE_STOP chash時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("chash", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[2]);
+
+ // unit_test[56] pay_memoryのテスト(SLAVE_STOP sslid時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("sslid", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[3]);
+
+ // unit_test[57] pay_memoryのテスト(MASTER_STOP virtualservice時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+ ptr = repli1.pay_memory("virtualservice", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[1]);
+
+ // unit_test[58] pay_memoryのテスト(MASTER_STOP chash時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("chash", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[2]);
+
+ // unit_test[59] pay_memoryのテスト(MASTER_STOP sslid時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("sslid", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[3]);
+
+ // unit_test[60] pay_memoryのテスト(MASTER virtualservice時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+ ptr = repli1.pay_memory("virtualservice", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[1]);
+
+ // unit_test[61] pay_memoryのテスト(MASTER chash時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("chash", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[2]);
+
+ // unit_test[62] pay_memoryのテスト(MASTER sslid時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("sslid", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(size, (unsigned int)get_int_table[3]);
+
+ // unit_test[63] pay_memoryのテスト(未初期化 virtualservice時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ ptr = repli1.pay_memory("virtualservice", size);
+ BOOST_CHECK(NULL == ptr);
+ BOOST_CHECK_EQUAL(size, 0U);
+
+ // unit_test[64] pay_memoryのテスト(未初期化 chash時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("chash", size);
+ BOOST_CHECK(NULL == ptr);
+ BOOST_CHECK_EQUAL(size, 0U);
+
+ // unit_test[65] pay_memoryのテスト(未初期化 sslid時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("sslid", size);
+ BOOST_CHECK(NULL == ptr);
+ BOOST_CHECK_EQUAL(size, 0U);
+
+ // unit_test[66] pay_memoryのテスト(SINGLE virtualservice時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1;
+ get_int_stubmode = 1;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ ptr = repli1.pay_memory("virtualservice", size);
+ BOOST_CHECK(NULL == ptr);
+ BOOST_CHECK_EQUAL(size, 0U);
+
+ // unit_test[67] pay_memoryのテスト(SINGLE chash時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("chash", size);
+ BOOST_CHECK(NULL == ptr);
+ BOOST_CHECK_EQUAL(size, 0U);
+
+ // unit_test[68] pay_memoryのテスト(SINGLE sslid時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ ptr = repli1.pay_memory("sslid", size);
+ BOOST_CHECK(NULL == ptr);
+ BOOST_CHECK_EQUAL(size, 0U);
+
+ repli1.finalize();
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
}
//test case5.
-void replication_dump_memory_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication repli1;
-
- get_int_table[1] = 1; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 1; // "cmponent_size_02"
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[69] dump_memoryのテスト(SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.dump_memory();
- BOOST_CHECK( 1 );
-
- // unit_test[70] dump_memoryのテスト(SLAVE_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
- repli1.dump_memory();
- BOOST_CHECK( 1 );
-
- // unit_test[71] dump_memoryのテスト(MASTER_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
- repli1.dump_memory();
- BOOST_CHECK( 1 );
-
- // unit_test[72] dump_memoryのテスト(MASTER時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
- repli1.dump_memory();
- BOOST_CHECK( 1 );
-
- // unit_test[73] dump_memoryのテスト(未初期化)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- repli1.dump_memory();
- BOOST_CHECK( 1 );
-
- // unit_test[74] dump_memoryのテスト(SINGLE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1;
- get_int_stubmode = 1;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- repli1.dump_memory();
- BOOST_CHECK( 1 );
-
- repli1.finalize();
- get_string_stubmode = 0;
- get_int_stubmode = 0;
+void replication_dump_memory_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication repli1;
+
+ get_int_table[1] = 1; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 1; // "cmponent_size_02"
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[69] dump_memoryのテスト(SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.dump_memory();
+ BOOST_CHECK(1);
+
+ // unit_test[70] dump_memoryのテスト(SLAVE_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+ repli1.dump_memory();
+ BOOST_CHECK(1);
+
+ // unit_test[71] dump_memoryのテスト(MASTER_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+ repli1.dump_memory();
+ BOOST_CHECK(1);
+
+ // unit_test[72] dump_memoryのテスト(MASTER時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+ repli1.dump_memory();
+ BOOST_CHECK(1);
+
+ // unit_test[73] dump_memoryのテスト(未初期化)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ repli1.dump_memory();
+ BOOST_CHECK(1);
+
+ // unit_test[74] dump_memoryのテスト(SINGLE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1;
+ get_int_stubmode = 1;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ repli1.dump_memory();
+ BOOST_CHECK(1);
+
+ repli1.finalize();
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
}
//test case6.
-void replication_start_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[75] startのテスト(SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[76] startのテスト(SLAVE_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[77] startのテスト(MASTER時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
-
- // unit_test[78] startのテスト(MASTER_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
-
- // unit_test[79] startのテスト(未初期化)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[80] startのテスト(SINGLE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1;
- get_int_stubmode = 1;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- repli1.finalize();
- get_string_stubmode = 0;
- get_int_stubmode = 0;
+void replication_start_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[75] startのテスト(SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[76] startのテスト(SLAVE_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[77] startのテスト(MASTER時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+
+ // unit_test[78] startのテスト(MASTER_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+
+ // unit_test[79] startのテスト(未初期化)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[80] startのテスト(SINGLE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1;
+ get_int_stubmode = 1;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ repli1.finalize();
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
}
//test case7.
-void replication_stop_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[81] stopのテスト(SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
-
- // unit_test[82] stopのテスト(SLAVE_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
-
- // unit_test[83] stopのテスト(MASTER_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
-
- // unit_test[84] stopのテスト(MASTER時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
-
- // unit_test[85] stopのテスト(未初期化)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[86] stopのテスト(SINGLE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1;
- get_int_stubmode = 1;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- repli1.finalize();
- get_string_stubmode = 0;
- get_int_stubmode = 0;
+void replication_stop_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[81] stopのテスト(SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+
+ // unit_test[82] stopのテスト(SLAVE_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+
+ // unit_test[83] stopのテスト(MASTER_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+
+ // unit_test[84] stopのテスト(MASTER時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+
+ // unit_test[85] stopのテスト(未初期化)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[86] stopのテスト(SINGLE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1;
+ get_int_stubmode = 1;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ repli1.finalize();
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
}
//test case8.
-void replication_force_replicate_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- get_int_table[1] = 1; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 1; // "cmponent_size_02"
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[87] force_replicateのテスト(SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.force_replicate();
- BOOST_CHECK( 1 );
-
- // unit_test[88] force_replicateのテスト(SLAVE_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
- repli1.force_replicate();
- BOOST_CHECK( 1 );
-
- // unit_test[89] force_replicateのテスト(MASTER_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
- repli1.force_replicate();
- BOOST_CHECK( 1 );
-
- // unit_test[90] force_replicateのテスト(MASTER時 "compulsorily_interval"が存在しない)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_stubmode = 5;
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
- repli1.force_replicate();
- BOOST_CHECK( 1 );
-
- // unit_test[91] force_replicateのテスト(MASTER時 "compulsorily_interval"が上限以上)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_table[4] = 401;
- repli1.force_replicate();
- BOOST_CHECK( 1 );
-
- // unit_test[92] force_replicateのテスト(MASTER時 "compulsorily_interval"が下限未満)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_table[4] = 3;
- repli1.force_replicate();
- BOOST_CHECK( 1 );
-
- get_int_table[4] = 10;
-
- // unit_test[93] force_replicateのテスト(未初期化)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- repli1.force_replicate();
- BOOST_CHECK( 1 );
-
- // unit_test[94] force_replicateのテスト(SINGLE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1;
- get_int_stubmode = 1;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
- repli1.force_replicate();
- BOOST_CHECK( 1 );
-
- repli1.finalize();
- get_string_stubmode = 0;
- get_int_stubmode = 0;
-
- // unit_test[95] force_replicate&handle_sendのテスト(MASTER時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
- repli1.disable_send_thread();
-
- unsigned int size;
- void* ptr;
-
- ptr = repli1.pay_memory( "virtualservice", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli1.lock( "virtualservice" ), 0 );
- memset( ptr, '1', size * DATA_SIZE );
- repli1.unlock( "virtualservice" );
-
- ptr = repli1.pay_memory( "chash", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli1.lock( "chash" ), 0 );
- memset( ptr, '2', size * DATA_SIZE );
- repli1.unlock( "chash" );
-
- ptr = repli1.pay_memory( "sslid", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli1.lock( "sslid" ), 0 );
- memset( ptr, '3', size * DATA_SIZE );
- repli1.unlock( "sslid" );
-
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
-
- receiver_end = false;
- boost::thread thread_item1( boost::bind ( &receiver_thread, recv_ip_table[proto] ) );
-
- repli1.force_replicate();
-
- repli1.finalize();
-
- while( !receiver_end ){
- global_receive_io.poll();
- }
-
- thread_item1.join();
-
- BOOST_CHECK( 1 );
+void replication_force_replicate_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ get_int_table[1] = 1; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 1; // "cmponent_size_02"
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[87] force_replicateのテスト(SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.force_replicate();
+ BOOST_CHECK(1);
+
+ // unit_test[88] force_replicateのテスト(SLAVE_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+ repli1.force_replicate();
+ BOOST_CHECK(1);
+
+ // unit_test[89] force_replicateのテスト(MASTER_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+ repli1.force_replicate();
+ BOOST_CHECK(1);
+
+ // unit_test[90] force_replicateのテスト(MASTER時 "compulsorily_interval"が存在しない)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_stubmode = 5;
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+ repli1.force_replicate();
+ BOOST_CHECK(1);
+
+ // unit_test[91] force_replicateのテスト(MASTER時 "compulsorily_interval"が上限以上)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_table[4] = 401;
+ repli1.force_replicate();
+ BOOST_CHECK(1);
+
+ // unit_test[92] force_replicateのテスト(MASTER時 "compulsorily_interval"が下限未満)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_table[4] = 3;
+ repli1.force_replicate();
+ BOOST_CHECK(1);
+
+ get_int_table[4] = 10;
+
+ // unit_test[93] force_replicateのテスト(未初期化)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ repli1.force_replicate();
+ BOOST_CHECK(1);
+
+ // unit_test[94] force_replicateのテスト(SINGLE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1;
+ get_int_stubmode = 1;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+ repli1.force_replicate();
+ BOOST_CHECK(1);
+
+ repli1.finalize();
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+
+ // unit_test[95] force_replicate&handle_sendのテスト(MASTER時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+ repli1.disable_send_thread();
+
+ unsigned int size;
+ void *ptr;
+
+ ptr = repli1.pay_memory("virtualservice", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli1.lock("virtualservice"), 0);
+ memset(ptr, '1', size * DATA_SIZE);
+ repli1.unlock("virtualservice");
+
+ ptr = repli1.pay_memory("chash", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli1.lock("chash"), 0);
+ memset(ptr, '2', size * DATA_SIZE);
+ repli1.unlock("chash");
+
+ ptr = repli1.pay_memory("sslid", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli1.lock("sslid"), 0);
+ memset(ptr, '3', size * DATA_SIZE);
+ repli1.unlock("sslid");
+
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+
+ receiver_end = false;
+ boost::thread thread_item1(boost::bind(&receiver_thread, recv_ip_table[proto]));
+
+ repli1.force_replicate();
+
+ repli1.finalize();
+
+ while (!receiver_end) {
+ global_receive_io.poll();
+ }
+
+ thread_item1.join();
+
+ BOOST_CHECK(1);
}
//test case9.
-void replication_reset_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[96] resetのテスト(SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.reset();
- BOOST_CHECK( 1 );
-
- // unit_test[97] resetのテスト(SLAVE_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
- repli1.reset();
- BOOST_CHECK( 1 );
-
- // unit_test[98] resetのテスト(MASTER_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
- repli1.reset();
- BOOST_CHECK( 1 );
-
- // unit_test[99] resetのテスト(MASTER時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
- repli1.reset();
- BOOST_CHECK( 1 );
-
- // unit_test[100] resetのテスト(未初期化)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- repli1.reset();
- BOOST_CHECK( 1 );
-
- // unit_test[101] resetのテスト(SINGLE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1;
- get_int_stubmode = 1;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
- repli1.reset();
- BOOST_CHECK( 1 );
-
- get_string_stubmode = 0;
- get_int_stubmode = 0;
-
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[102] resetのテスト(intervalが存在しない)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_stubmode = 1;
- repli1.reset();
- BOOST_CHECK( 1 );
-
- // unit_test[103] resetのテスト(intervalが不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_stubmode = 101;
- repli1.reset();
- BOOST_CHECK( 1 );
-
- get_int_stubmode = 0;
- // unit_test[104] resetのテスト(intervalが上限以上)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_table[0] = 10001; // "interval"
- repli1.reset();
- BOOST_CHECK( 1 );
-
- // unit_test[105] resetのテスト(intervalが下限未満)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_int_table[0] = 9; // "interval"
- repli1.reset();
- BOOST_CHECK( 1 );
-
- get_int_table[0] = 10000; // "interval"
- repli1.finalize();
+void replication_reset_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[96] resetのテスト(SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.reset();
+ BOOST_CHECK(1);
+
+ // unit_test[97] resetのテスト(SLAVE_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+ repli1.reset();
+ BOOST_CHECK(1);
+
+ // unit_test[98] resetのテスト(MASTER_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+ repli1.reset();
+ BOOST_CHECK(1);
+
+ // unit_test[99] resetのテスト(MASTER時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+ repli1.reset();
+ BOOST_CHECK(1);
+
+ // unit_test[100] resetのテスト(未初期化)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ repli1.reset();
+ BOOST_CHECK(1);
+
+ // unit_test[101] resetのテスト(SINGLE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1;
+ get_int_stubmode = 1;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+ repli1.reset();
+ BOOST_CHECK(1);
+
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[102] resetのテスト(intervalが存在しない)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_stubmode = 1;
+ repli1.reset();
+ BOOST_CHECK(1);
+
+ // unit_test[103] resetのテスト(intervalが不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_stubmode = 101;
+ repli1.reset();
+ BOOST_CHECK(1);
+
+ get_int_stubmode = 0;
+ // unit_test[104] resetのテスト(intervalが上限以上)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_table[0] = 10001; // "interval"
+ repli1.reset();
+ BOOST_CHECK(1);
+
+ // unit_test[105] resetのテスト(intervalが下限未満)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_int_table[0] = 9; // "interval"
+ repli1.reset();
+ BOOST_CHECK(1);
+
+ get_int_table[0] = 10000; // "interval"
+ repli1.finalize();
}
//test case10.
-void replication_get_status_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication repli1;
-
- // unit_test[106] get_statusのテスト(未初期化)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[107] get_statusのテスト(SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[108] get_statusのテスト(MASTER時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
-
- // unit_test[109] get_statusのテスト(MASTER_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
-
- // unit_test[110] get_statusのテスト(SLAVE_STOP)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_slave();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
-
- // unit_test[111] get_statusのテスト(SINGLE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1;
- get_int_stubmode = 1;
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- repli1.finalize();
- get_string_stubmode = 0;
- get_int_stubmode = 0;
+void replication_get_status_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication repli1;
+
+ // unit_test[106] get_statusのテスト(未初期化)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[107] get_statusのテスト(SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[108] get_statusのテスト(MASTER時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+
+ // unit_test[109] get_statusのテスト(MASTER_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+
+ // unit_test[110] get_statusのテスト(SLAVE_STOP)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_slave();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+
+ // unit_test[111] get_statusのテスト(SINGLE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1;
+ get_int_stubmode = 1;
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ repli1.finalize();
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
}
//test case11.
-void replication_lock_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[112] lockのテスト(初期状態)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
-
- // unit_test[113] lockのテスト("virtualservice")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.lock( "virtualservice" ), 0 );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
-
- // unit_test[114] lockのテスト(再度"virtualservice")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
+void replication_lock_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[112] lockのテスト(初期状態)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
+
+ // unit_test[113] lockのテスト("virtualservice")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.lock("virtualservice"), 0);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
+
+ // unit_test[114] lockのテスト(再度"virtualservice")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
// BOOST_CHECK_EQUAL( repli1.lock( "virtualservice" ), 0 ); // 一度帰ってこなくなるのを確認したらオミット
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
-
- // unit_test[115] lockのテスト("chash")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.lock( "chash" ), 0 );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
-
- // unit_test[116] lockのテスト(再度"chash")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
+
+ // unit_test[115] lockのテスト("chash")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.lock("chash"), 0);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
+
+ // unit_test[116] lockのテスト(再度"chash")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
// BOOST_CHECK_EQUAL( repli1.lock( "chash" ), 0 ); // 一度帰ってこなくなるのを確認したらオミット
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
-
- // unit_test[117] lockのテスト("sslid")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.lock( "sslid" ), 0 );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), true );
-
- // unit_test[118] lockのテスト(再度"sslid")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
+
+ // unit_test[117] lockのテスト("sslid")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.lock("sslid"), 0);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), true);
+
+ // unit_test[118] lockのテスト(再度"sslid")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
// BOOST_CHECK_EQUAL( repli1.lock( "sslid" ), 0 ); // 一度帰ってこなくなるのを確認したらオミット
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), true );
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), true);
- // unit_test[119] lockのテスト(不正なid)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.lock( "unknown" ), -1 );
+ // unit_test[119] lockのテスト(不正なid)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.lock("unknown"), -1);
- // unit_test[120] lockのテスト(他スレッド "virtualservice")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- locked_end = false;
- boost::thread thread_item1( boost::bind ( &lock_thread, &repli1, "virtualservice" ) );
- BOOST_CHECK_EQUAL( locked_end, false );
- repli1.unlock( "virtualservice" );
+ // unit_test[120] lockのテスト(他スレッド "virtualservice")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ locked_end = false;
+ boost::thread thread_item1(boost::bind(&lock_thread, &repli1, "virtualservice"));
+ BOOST_CHECK_EQUAL(locked_end, false);
+ repli1.unlock("virtualservice");
- thread_item1.join();
+ thread_item1.join();
- BOOST_CHECK_EQUAL( locked_end, true );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), true );
+ BOOST_CHECK_EQUAL(locked_end, true);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), true);
- // unit_test[121] lockのテスト(他スレッド "sslid")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- locked_end = false;
- boost::thread thread_item2( boost::bind ( &lock_thread, &repli1, "chash" ) );
- BOOST_CHECK_EQUAL( locked_end, false );
- repli1.unlock( "chash" );
+ // unit_test[121] lockのテスト(他スレッド "sslid")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ locked_end = false;
+ boost::thread thread_item2(boost::bind(&lock_thread, &repli1, "chash"));
+ BOOST_CHECK_EQUAL(locked_end, false);
+ repli1.unlock("chash");
- thread_item2.join();
+ thread_item2.join();
- BOOST_CHECK_EQUAL( locked_end, true );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), true );
+ BOOST_CHECK_EQUAL(locked_end, true);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), true);
- // unit_test[122] lockのテスト(他スレッド "sslid")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- locked_end = false;
- boost::thread thread_item3( boost::bind ( &lock_thread, &repli1, "sslid" ) );
- BOOST_CHECK_EQUAL( locked_end, false );
- repli1.unlock( "sslid" );
+ // unit_test[122] lockのテスト(他スレッド "sslid")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ locked_end = false;
+ boost::thread thread_item3(boost::bind(&lock_thread, &repli1, "sslid"));
+ BOOST_CHECK_EQUAL(locked_end, false);
+ repli1.unlock("sslid");
- thread_item3.join();
+ thread_item3.join();
- BOOST_CHECK_EQUAL( locked_end, true );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), true );
+ BOOST_CHECK_EQUAL(locked_end, true);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), true);
- repli1.unlock( "virtualservice" );
- repli1.unlock( "chash" );
- repli1.unlock( "sslid" );
+ repli1.unlock("virtualservice");
+ repli1.unlock("chash");
+ repli1.unlock("sslid");
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
- repli1.finalize();
+ repli1.finalize();
}
//test case12.
-void replication_unlock_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[123] unlockのテスト(lock済み状態)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.lock( "virtualservice" ), 0 );
- BOOST_CHECK_EQUAL( repli1.lock( "chash" ), 0 );
- BOOST_CHECK_EQUAL( repli1.lock( "sslid" ), 0 );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), true );
-
- // unit_test[124] unlockのテスト("virtualservice")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.unlock( "virtualservice" ), 0 );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), true );
-
- // unit_test[125] unlockのテスト(再度"virtualservice")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.unlock( "virtualservice" ), 0 );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), true );
-
- // unit_test[126] unlockのテスト("chash")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.unlock( "chash" ), 0 );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), true );
-
- // unit_test[127] unlockのテスト(再度"chash")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.unlock( "chash" ), 0 );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), true );
-
- // unit_test[128] unlockのテスト("sslid")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.unlock( "sslid" ), 0 );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
-
- // unit_test[129] unlockのテスト(再度"sslid")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.unlock( "sslid" ), 0 );
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
-
- // unit_test[130] unlockのテスト(不正なid)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.unlock( "unknown" ), -1 );
-
- repli1.finalize();
+void replication_unlock_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[123] unlockのテスト(lock済み状態)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.lock("virtualservice"), 0);
+ BOOST_CHECK_EQUAL(repli1.lock("chash"), 0);
+ BOOST_CHECK_EQUAL(repli1.lock("sslid"), 0);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), true);
+
+ // unit_test[124] unlockのテスト("virtualservice")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.unlock("virtualservice"), 0);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), true);
+
+ // unit_test[125] unlockのテスト(再度"virtualservice")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.unlock("virtualservice"), 0);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), true);
+
+ // unit_test[126] unlockのテスト("chash")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.unlock("chash"), 0);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), true);
+
+ // unit_test[127] unlockのテスト(再度"chash")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.unlock("chash"), 0);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), true);
+
+ // unit_test[128] unlockのテスト("sslid")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.unlock("sslid"), 0);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
+
+ // unit_test[129] unlockのテスト(再度"sslid")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.unlock("sslid"), 0);
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
+
+ // unit_test[130] unlockのテスト(不正なid)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.unlock("unknown"), -1);
+
+ repli1.finalize();
}
//test case13.
-void replication_refer_lock_mutex_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- l7vs::replication::mutex_ptr mutex1, mutex2, mutex3, mutex4;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
-
- // unit_test[131] refer_lock_mutexのテスト("virtualservice")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.refer_lock_mutex( "virtualservice", mutex1 ), 0 );
- mutex1->lock();
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
-
- // unit_test[132] refer_lock_mutexのテスト(再度"virtualservice")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.refer_lock_mutex( "virtualservice", mutex1 ), 0 );
+void replication_refer_lock_mutex_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ l7vs::replication::mutex_ptr mutex1, mutex2, mutex3, mutex4;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+
+ // unit_test[131] refer_lock_mutexのテスト("virtualservice")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.refer_lock_mutex("virtualservice", mutex1), 0);
+ mutex1->lock();
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
+
+ // unit_test[132] refer_lock_mutexのテスト(再度"virtualservice")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.refer_lock_mutex("virtualservice", mutex1), 0);
// mutex1->lock(); // 一度帰ってこなくなるのを確認したらオミット
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
- mutex1->unlock();
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
-
- // unit_test[133] refer_lock_mutexのテスト("chash")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.refer_lock_mutex( "chash", mutex2 ), 0 );
- mutex2->lock();
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
-
- // unit_test[134] refer_lock_mutexのテスト(再度"chash")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.refer_lock_mutex( "chash", mutex2 ), 0 );
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
+ mutex1->unlock();
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+
+ // unit_test[133] refer_lock_mutexのテスト("chash")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.refer_lock_mutex("chash", mutex2), 0);
+ mutex2->lock();
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
+
+ // unit_test[134] refer_lock_mutexのテスト(再度"chash")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.refer_lock_mutex("chash", mutex2), 0);
// mutex2->lock(); // 一度帰ってこなくなるのを確認したらオミット
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), true );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
- mutex2->unlock();
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
-
- // unit_test[135] refer_lock_mutexのテスト("sslid")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.refer_lock_mutex( "sslid", mutex3 ), 0 );
- mutex3->lock();
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), true );
-
- // unit_test[136] refer_lock_mutexのテスト(再度"sslid")
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.refer_lock_mutex( "sslid", mutex3 ), 0 );
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), true);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
+ mutex2->unlock();
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+
+ // unit_test[135] refer_lock_mutexのテスト("sslid")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.refer_lock_mutex("sslid", mutex3), 0);
+ mutex3->lock();
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), true);
+
+ // unit_test[136] refer_lock_mutexのテスト(再度"sslid")
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.refer_lock_mutex("sslid", mutex3), 0);
// mutex3->lock(); // 一度帰ってこなくなるのを確認したらオミット
- BOOST_CHECK_EQUAL( repli1.locked( "virtualservice" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "chash" ), false );
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), true );
- mutex3->unlock();
- BOOST_CHECK_EQUAL( repli1.locked( "sslid" ), false );
+ BOOST_CHECK_EQUAL(repli1.locked("virtualservice"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("chash"), false);
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), true);
+ mutex3->unlock();
+ BOOST_CHECK_EQUAL(repli1.locked("sslid"), false);
- // unit_test[137] refer_lock_mutexのテスト(不正なid)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.refer_lock_mutex( "unknown", mutex4 ), -1 );
+ // unit_test[137] refer_lock_mutexのテスト(不正なid)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.refer_lock_mutex("unknown", mutex4), -1);
- repli1.finalize();
+ repli1.finalize();
}
//test case14.
-void replication_handle_send_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication repli1;
-
- get_int_table[1] = 1; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 1; // "cmponent_size_02"
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[138] send_thread&handle_sendのテスト(SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- unsigned int size;
- void* ptr;
-
- ptr = repli1.pay_memory( "virtualservice", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli1.lock( "virtualservice" ), 0 );
- memset( ptr, '4', size * DATA_SIZE );
- repli1.unlock( "virtualservice" );
-
- ptr = repli1.pay_memory( "chash", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli1.lock( "chash" ), 0 );
- memset( ptr, '5', size * DATA_SIZE );
- repli1.unlock( "chash" );
-
- ptr = repli1.pay_memory( "sslid", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli1.lock( "sslid" ), 0 );
- memset( ptr, '6', size * DATA_SIZE );
- repli1.unlock( "sslid" );
-
- // unit_test[139] send_thread&handle_sendのテスト(SLAVE_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
-
- // unit_test[140] send_thread&handle_sendのテスト(MASTER_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.switch_to_master();
-
- receiver_end = false;
- boost::thread thread_item1( boost::bind ( &receiver_thread, recv_ip_table[proto] ) );
-
- // unit_test[141] send_thread&handle_sendのテスト(MASTER時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- repli1.start();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
- while( !receiver_end );
- repli1.stop();
-
- thread_item1.join();
- BOOST_CHECK( 1 );
-
- repli1.finalize();
+void replication_handle_send_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication repli1;
+
+ get_int_table[1] = 1; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 1; // "cmponent_size_02"
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[138] send_thread&handle_sendのテスト(SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ unsigned int size;
+ void *ptr;
+
+ ptr = repli1.pay_memory("virtualservice", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli1.lock("virtualservice"), 0);
+ memset(ptr, '4', size * DATA_SIZE);
+ repli1.unlock("virtualservice");
+
+ ptr = repli1.pay_memory("chash", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli1.lock("chash"), 0);
+ memset(ptr, '5', size * DATA_SIZE);
+ repli1.unlock("chash");
+
+ ptr = repli1.pay_memory("sslid", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli1.lock("sslid"), 0);
+ memset(ptr, '6', size * DATA_SIZE);
+ repli1.unlock("sslid");
+
+ // unit_test[139] send_thread&handle_sendのテスト(SLAVE_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+
+ // unit_test[140] send_thread&handle_sendのテスト(MASTER_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.switch_to_master();
+
+ receiver_end = false;
+ boost::thread thread_item1(boost::bind(&receiver_thread, recv_ip_table[proto]));
+
+ // unit_test[141] send_thread&handle_sendのテスト(MASTER時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ repli1.start();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+ while (!receiver_end);
+ repli1.stop();
+
+ thread_item1.join();
+ BOOST_CHECK(1);
+
+ repli1.finalize();
}
//test case15.
-void replication_set_master_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
- repli1.disable_send_thread();
-
- // unit_test[142] set_masterのテスト(SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- BOOST_CHECK_EQUAL( repli1.set_master_wrapper(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE ); // switch_toではないのでSLAVEのまま
- BOOST_CHECK_EQUAL( repli1.set_slave_wrapper(), 0 ); // socket.cancel2重回避
-
- // unit_test[143] set_masterのテスト(ip_adrが不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- strcpy( get_string_table[0], "192:168:0:20" ); // "ip_addr"
-
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
-
- BOOST_CHECK_EQUAL( repli1.set_master_wrapper(), 0 ); // set_masterの時点ではendpointを使用していない
-
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
-
- repli1.finalize();
+void replication_set_master_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+ repli1.disable_send_thread();
+
+ // unit_test[142] set_masterのテスト(SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ BOOST_CHECK_EQUAL(repli1.set_master_wrapper(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE); // switch_toではないのでSLAVEのまま
+ BOOST_CHECK_EQUAL(repli1.set_slave_wrapper(), 0); // socket.cancel2重回避
+
+ // unit_test[143] set_masterのテスト(ip_adrが不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ strcpy(get_string_table[0], "192:168:0:20"); // "ip_addr"
+
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+
+ BOOST_CHECK_EQUAL(repli1.set_master_wrapper(), 0); // set_masterの時点ではendpointを使用していない
+
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+
+ repli1.finalize();
}
//test case16.
-void replication_set_slave_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
- repli1.disable_send_thread();
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
-
- // unit_test[144] set_slaveのテスト(MASTER時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- BOOST_CHECK_EQUAL( repli1.set_slave_wrapper(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER ); // switch_toではないのでMASTERのまま
- repli1.switch_to_slave(); // 保険
-
- // unit_test[145] set_slaveのテスト(ip_adrが不正)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- strcpy( get_string_table[0], "192:168:0:20" ); // "ip_addr"
+void replication_set_slave_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+ repli1.disable_send_thread();
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+
+ // unit_test[144] set_slaveのテスト(MASTER時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ BOOST_CHECK_EQUAL(repli1.set_slave_wrapper(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER); // switch_toではないのでMASTERのまま
+ repli1.switch_to_slave(); // 保険
+
+ // unit_test[145] set_slaveのテスト(ip_adrが不正)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ strcpy(get_string_table[0], "192:168:0:20"); // "ip_addr"
// get_string_table[0] = "10.144.169.87"; // "ip_addr" 作成失敗だと0.0.0.0:0でbind成功してしまうので使えないIPで
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
// BOOST_CHECK_EQUAL( repli1.set_slave_wrapper(), -1 ); // 無理?
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
- repli1.finalize();
+ repli1.finalize();
}
//test case17.
-void replication_check_parameter_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[146] check_parameterのテスト(正常系)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- BOOST_CHECK_EQUAL( repli1.check_parameter_wrapper(), 0 ); // 異常系はinitializeにて評価済み
-
- repli1.finalize();
+void replication_check_parameter_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[146] check_parameterのテスト(正常系)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ BOOST_CHECK_EQUAL(repli1.check_parameter_wrapper(), 0); // 異常系はinitializeにて評価済み
+
+ repli1.finalize();
}
//test case18.
-void replication_getrpl_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 ); // param読み込みのため1回実行
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- repli1.finalize();
-
- // unit_test[147] getrplのテスト(正常系)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- BOOST_CHECK( NULL != repli1.getrpl_wrapper() ); // 異常系はinitializeにて評価済み
- repli1.releaserpl_wrapper();
-
- repli1.finalize();
+void replication_getrpl_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0); // param読み込みのため1回実行
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ repli1.finalize();
+
+ // unit_test[147] getrplのテスト(正常系)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ BOOST_CHECK(NULL != repli1.getrpl_wrapper()); // 異常系はinitializeにて評価済み
+ repli1.releaserpl_wrapper();
+
+ repli1.finalize();
}
//test case19.
-void replication_getcmp_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 ); // param読み込みのため1回実行
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- repli1.finalize();
-
- // unit_test[148] getcmpのテスト(正常系)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- BOOST_CHECK( NULL != repli1.getcmp_wrapper() ); // 異常系はinitializeにて評価済み
- repli1.releasecmp_wrapper();
-
- repli1.finalize();
+void replication_getcmp_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0); // param読み込みのため1回実行
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ repli1.finalize();
+
+ // unit_test[148] getcmpのテスト(正常系)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ BOOST_CHECK(NULL != repli1.getcmp_wrapper()); // 異常系はinitializeにて評価済み
+ repli1.releasecmp_wrapper();
+
+ repli1.finalize();
}
//test case20.
-void replication_getsrf_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 ); // param読み込みのため1回実行
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- repli1.finalize();
-
- // unit_test[149] getsrfのテスト(正常系)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- BOOST_CHECK( NULL != repli1.getsrf_wrapper() ); // 異常系はinitializeにて評価済み
- repli1.releasesrf_wrapper();
-
- repli1.finalize();
+void replication_getsrf_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0); // param読み込みのため1回実行
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ repli1.finalize();
+
+ // unit_test[149] getsrfのテスト(正常系)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ BOOST_CHECK(NULL != repli1.getsrf_wrapper()); // 異常系はinitializeにて評価済み
+ repli1.releasesrf_wrapper();
+
+ repli1.finalize();
}
//test case21.
-void replication_make_serial_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
- unsigned long long value1, value2;
-
- // unit_test[150] make_serialのテスト(正常系)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- value1 = repli1.make_serial_wrapper();
- BOOST_CHECK( 0 != value1 );
-
- // unit_test[151] make_serialのテスト(再実行)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- value2 = repli1.make_serial_wrapper();
- BOOST_CHECK( 0 != value1 );
- BOOST_CHECK( value1 != value2 );
-
- repli1.finalize();
+void replication_make_serial_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+ unsigned long long value1, value2;
+
+ // unit_test[150] make_serialのテスト(正常系)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ value1 = repli1.make_serial_wrapper();
+ BOOST_CHECK(0 != value1);
+
+ // unit_test[151] make_serialのテスト(再実行)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ value2 = repli1.make_serial_wrapper();
+ BOOST_CHECK(0 != value1);
+ BOOST_CHECK(value1 != value2);
+
+ repli1.finalize();
}
//test case22.
-void replication_releaserpl_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 ); // param読み込みのため1回実行
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- repli1.finalize();
-
- // unit_test[152] releaserplのテスト(正常系)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- BOOST_CHECK( NULL != repli1.getrpl_wrapper() );
- BOOST_CHECK( NULL == repli1.releaserpl_wrapper() );
-
- repli1.finalize();
+void replication_releaserpl_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0); // param読み込みのため1回実行
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ repli1.finalize();
+
+ // unit_test[152] releaserplのテスト(正常系)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ BOOST_CHECK(NULL != repli1.getrpl_wrapper());
+ BOOST_CHECK(NULL == repli1.releaserpl_wrapper());
+
+ repli1.finalize();
}
//test case23.
-void replication_releasecmp_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 ); // param読み込みのため1回実行
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- repli1.finalize();
-
- // unit_test[153] releasecmpのテスト(正常系)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- BOOST_CHECK( NULL != repli1.getcmp_wrapper() );
- BOOST_CHECK( NULL == repli1.releasecmp_wrapper() );
-
- repli1.finalize();
+void replication_releasecmp_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0); // param読み込みのため1回実行
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ repli1.finalize();
+
+ // unit_test[153] releasecmpのテスト(正常系)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ BOOST_CHECK(NULL != repli1.getcmp_wrapper());
+ BOOST_CHECK(NULL == repli1.releasecmp_wrapper());
+
+ repli1.finalize();
}
//test case24.
-void replication_releasesrf_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication_fake repli1;
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 ); // param読み込みのため1回実行
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- repli1.finalize();
-
- // unit_test[154] releasesrfのテスト(正常系)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- BOOST_CHECK( NULL != repli1.getsrf_wrapper() );
- BOOST_CHECK( NULL == repli1.releasesrf_wrapper() );
-
- repli1.finalize();
+void replication_releasesrf_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication_fake repli1;
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0); // param読み込みのため1回実行
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ repli1.finalize();
+
+ // unit_test[154] releasesrfのテスト(正常系)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+
+ BOOST_CHECK(NULL != repli1.getsrf_wrapper());
+ BOOST_CHECK(NULL == repli1.releasesrf_wrapper());
+
+ repli1.finalize();
}
//test case25.
-void replication_finalize_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication repli1;
-
- // unit_test[155] finalizeのテスト(未初期化)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[156] finalizeのテスト(SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[157] finalizeのテスト(MASTER時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[158] finalizeのテスト(MASTER_STOP時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[159] finalizeのテスト(SLAVE_STOP)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
- repli1.stop();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- // unit_test[160] finalizeのテスト(SINGLE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- get_string_stubmode = 1;
- get_int_stubmode = 1;
- BOOST_CHECK_EQUAL( repli1.initialize(), -1 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SINGLE );
- repli1.finalize();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- get_string_stubmode = 0;
- get_int_stubmode = 0;
+void replication_finalize_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication repli1;
+
+ // unit_test[155] finalizeのテスト(未初期化)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[156] finalizeのテスト(SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[157] finalizeのテスト(MASTER時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[158] finalizeのテスト(MASTER_STOP時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER_STOP);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[159] finalizeのテスト(SLAVE_STOP)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+ repli1.stop();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE_STOP);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ // unit_test[160] finalizeのテスト(SINGLE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
+ get_string_stubmode = 1;
+ get_int_stubmode = 1;
+ BOOST_CHECK_EQUAL(repli1.initialize(), -1);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SINGLE);
+ repli1.finalize();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
}
//test case26.
-void replication_handle_receive_test( int proto ){
- get_string_stubmode = 0;
- get_int_stubmode = 0;
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- strcpy( get_string_table[1], REPLICATION_PORT ); // "service_name"
- strcpy( get_string_table[2], recv_ip_table[proto] ); // "recv_ip_addr"
- strcpy( get_string_table[3], "virtualservice" ); // "cmponent_id_00"
- strcpy( get_string_table[4], "chash" ); // "cmponent_id_01"
- strcpy( get_string_table[5], "sslid" ); // "cmponent_id_02"
- get_int_table[0] = 10000; // "interval"
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
- get_int_table[4] = 10; // "compulsorily_interval"
-
- l7vs::replication repli1;
-
- //get_string_table[0] = TARGET_HOSTNAME; // "ip_addr"
- strcpy( get_string_table[0], target_ip_table[proto] ); // "ip_addr"
- get_int_table[1] = 1; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 1; // "cmponent_size_02"
-
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_OUT );
-
- BOOST_CHECK_EQUAL( repli1.initialize(), 0 );
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
-
- // unit_test[161] handle_receiveのテスト(正常系)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- {
- boost::thread thread_item( boost::bind ( &sender2_thread, target_ip_table[proto] ) );
-
- thread_item.join();
- }
-
- repli1.dump_memory();
- BOOST_CHECK( 1 );
-
- // unit_test[162] handle_receiveのテスト(MASTER → SLAVE時)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
-
- unsigned int size;
- void* ptr;
-
- ptr = repli1.pay_memory( "virtualservice", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli1.lock( "virtualservice" ), 0 );
- memset( ptr, 0xFF, size * DATA_SIZE );
- repli1.unlock( "virtualservice" );
-
- ptr = repli1.pay_memory( "chash", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli1.lock( "chash" ), 0 );
- memset( ptr, 0xFF, size * DATA_SIZE );
- repli1.unlock( "chash" );
-
- ptr = repli1.pay_memory( "sslid", size );
- BOOST_CHECK( NULL != ptr );
- BOOST_CHECK_EQUAL( repli1.lock( "sslid" ), 0 );
- memset( ptr, 0xFF, size * DATA_SIZE );
- repli1.unlock( "sslid" );
-
- repli1.switch_to_master();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_MASTER );
-
- {
- receiver_end = false;
- boost::thread thread_item( boost::bind ( &receiver_thread, recv_ip_table[proto] ) );
+void replication_handle_receive_test(int proto)
+{
+ get_string_stubmode = 0;
+ get_int_stubmode = 0;
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ strcpy(get_string_table[1], REPLICATION_PORT); // "service_name"
+ strcpy(get_string_table[2], recv_ip_table[proto]); // "recv_ip_addr"
+ strcpy(get_string_table[3], "virtualservice"); // "cmponent_id_00"
+ strcpy(get_string_table[4], "chash"); // "cmponent_id_01"
+ strcpy(get_string_table[5], "sslid"); // "cmponent_id_02"
+ get_int_table[0] = 10000; // "interval"
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ get_int_table[4] = 10; // "compulsorily_interval"
+
+ l7vs::replication repli1;
+
+ //get_string_table[0] = TARGET_HOSTNAME; // "ip_addr"
+ strcpy(get_string_table[0], target_ip_table[proto]); // "ip_addr"
+ get_int_table[1] = 1; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 1; // "cmponent_size_02"
+
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_OUT);
+
+ BOOST_CHECK_EQUAL(repli1.initialize(), 0);
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
+
+ // unit_test[161] handle_receiveのテスト(正常系)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
- while( !receiver_end ){
- global_receive_io.poll();
- }
+ {
+ boost::thread thread_item(boost::bind(&sender2_thread, target_ip_table[proto]));
- thread_item.join();
- }
+ thread_item.join();
+ }
- repli1.switch_to_slave();
- BOOST_CHECK_EQUAL( repli1.get_status(), l7vs::replication::REPLICATION_SLAVE );
+ repli1.dump_memory();
+ BOOST_CHECK(1);
- {
- boost::thread thread_item( boost::bind ( &sender2_thread, target_ip_table[proto] ) );
+ // unit_test[162] handle_receiveのテスト(MASTER → SLAVE時)
+ BOOST_MESSAGE(boost::format("unit_test[%d]") % ++count);
- thread_item.join();
- }
+ unsigned int size;
+ void *ptr;
- repli1.dump_memory();
- BOOST_CHECK( 1 );
+ ptr = repli1.pay_memory("virtualservice", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli1.lock("virtualservice"), 0);
+ memset(ptr, 0xFF, size * DATA_SIZE);
+ repli1.unlock("virtualservice");
-/*
- // unit_test[163] handle_receiveのテスト(replication対replication)
- BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
+ ptr = repli1.pay_memory("chash", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli1.lock("chash"), 0);
+ memset(ptr, 0xFF, size * DATA_SIZE);
+ repli1.unlock("chash");
- boost::thread thread_item2( boost::bind ( &sender_thread ) );
+ ptr = repli1.pay_memory("sslid", size);
+ BOOST_CHECK(NULL != ptr);
+ BOOST_CHECK_EQUAL(repli1.lock("sslid"), 0);
+ memset(ptr, 0xFF, size * DATA_SIZE);
+ repli1.unlock("sslid");
- sleep(1);
+ repli1.switch_to_master();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_MASTER);
- thread_item2.join();
+ {
+ receiver_end = false;
+ boost::thread thread_item(boost::bind(&receiver_thread, recv_ip_table[proto]));
- repli1.dump_memory();
- BOOST_CHECK( 1 );
+ while (!receiver_end) {
+ global_receive_io.poll();
+ }
- get_int_table[1] = 64; // "cmponent_size_00"
- get_int_table[2] = 1; // "cmponent_size_01"
- get_int_table[3] = 200; // "cmponent_size_02"
-*/
- repli1.finalize();
-}
+ thread_item.join();
+ }
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- l7vs::Logger logger;
- l7vs::Parameter parameter;
+ repli1.switch_to_slave();
+ BOOST_CHECK_EQUAL(repli1.get_status(), l7vs::replication::REPLICATION_SLAVE);
- logger.loadConf();
+ {
+ boost::thread thread_item(boost::bind(&sender2_thread, target_ip_table[proto]));
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "replication_test" );
+ thread_item.join();
+ }
- int protos[] = { 0, 1 };
+ repli1.dump_memory();
+ BOOST_CHECK(1);
- // add test case to test suite
- ts->add( BOOST_PARAM_TEST_CASE( &replication_initialize_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_switch_to_master_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_switch_to_slave_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_pay_memory_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_dump_memory_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_start_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_stop_test, protos, protos+2 ) );
+ /*
+ // unit_test[163] handle_receiveのテスト(replication対replication)
+ BOOST_MESSAGE( boost::format( "unit_test[%d]" ) % ++count );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_force_replicate_test, protos, protos+2 ) );
+ boost::thread thread_item2( boost::bind ( &sender_thread ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_reset_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_get_status_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_lock_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_unlock_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_refer_lock_mutex_test, protos, protos+2 ) );
+ sleep(1);
- ts->add( BOOST_PARAM_TEST_CASE( &replication_handle_send_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_set_master_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_set_slave_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_check_parameter_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_getrpl_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_getcmp_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_getsrf_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_make_serial_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_releaserpl_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_releasecmp_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_releasesrf_test, protos, protos+2 ) );
- ts->add( BOOST_PARAM_TEST_CASE( &replication_finalize_test, protos, protos+2 ) );
+ thread_item2.join();
- ts->add( BOOST_PARAM_TEST_CASE( &replication_handle_receive_test, protos, protos+2 ) );
+ repli1.dump_memory();
+ BOOST_CHECK( 1 );
- framework::master_test_suite().add( ts );
+ get_int_table[1] = 64; // "cmponent_size_00"
+ get_int_table[2] = 1; // "cmponent_size_01"
+ get_int_table[3] = 200; // "cmponent_size_02"
+ */
+ repli1.finalize();
+}
- return 0;
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ l7vs::Logger logger;
+ l7vs::Parameter parameter;
+
+ logger.loadConf();
+
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("replication_test");
+
+ int protos[] = { 0, 1 };
+
+ // add test case to test suite
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_initialize_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_switch_to_master_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_switch_to_slave_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_pay_memory_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_dump_memory_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_start_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_stop_test, protos, protos + 2));
+
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_force_replicate_test, protos, protos + 2));
+
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_reset_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_get_status_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_lock_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_unlock_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_refer_lock_mutex_test, protos, protos + 2));
+
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_handle_send_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_set_master_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_set_slave_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_check_parameter_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_getrpl_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_getcmp_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_getsrf_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_make_serial_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_releaserpl_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_releasecmp_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_releasesrf_test, protos, protos + 2));
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_finalize_test, protos, protos + 2));
+
+ ts->add(BOOST_PARAM_TEST_CASE(&replication_handle_receive_test, protos, protos + 2));
+
+ framework::master_test_suite().add(ts);
+
+ return 0;
}
* @return void
*/
l7vs::Logger::Logger() :
- scopedLogCategory(LOG_CAT_L7VSD_LOGGER),
- scopedLogId(0),
- scopedLogMessage("Logger Constructor"),
- scopedLogFile(__FILE__),
- scopedLogLine(__LINE__){
+ scopedLogCategory(LOG_CAT_L7VSD_LOGGER),
+ scopedLogId(0),
+ scopedLogMessage("Logger Constructor"),
+ scopedLogFile(__FILE__),
+ scopedLogLine(__LINE__)
+{
}
//! log output constractor
//! @param[in] log message
//! @param[in] filename (=__FILE__)
//! @param[in] lineno (=__LINE__)
-l7vs::Logger::Logger( LOG_CATEGORY_TAG cat, const unsigned int id, const std::string& msg, const char* file, int line) :
- scopedLogCategory(cat),
- scopedLogId(id),
- scopedLogMessage(msg),
- scopedLogFile(file),
- scopedLogLine(line){
+l7vs::Logger::Logger(LOG_CATEGORY_TAG cat, const unsigned int id, const std::string &msg, const char *file, int line) :
+ scopedLogCategory(cat),
+ scopedLogId(id),
+ scopedLogMessage(msg),
+ scopedLogFile(file),
+ scopedLogLine(line)
+{
// std::stringstream buf;
// buf << msg << " " << file << " " << line;
* @param void
* @return void
*/
-l7vs::Logger::~Logger(){
+l7vs::Logger::~Logger()
+{
}
/*!
* @param category that want to know
* @return log level
*/
-l7vs::LOG_LEVEL_TAG l7vs::Logger::getLogLevel(LOG_CATEGORY_TAG cat){
- return LOG_LV_NONE;
+l7vs::LOG_LEVEL_TAG l7vs::Logger::getLogLevel(LOG_CATEGORY_TAG cat)
+{
+ return LOG_LV_NONE;
}
/*!
* @retval true succeed
* @retval false failed
*/
-bool l7vs::Logger::setLogLevel(LOG_CATEGORY_TAG cat, LOG_LEVEL_TAG level){
- return true;
+bool l7vs::Logger::setLogLevel(LOG_CATEGORY_TAG cat, LOG_LEVEL_TAG level)
+{
+ return true;
}
/*!
* output fatal log.
* this is only wrapper to implement method.
* @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
+ * @param log message id
+ * @param log message
+ * @param current file
* @param current line
* @retrun void
*/
-void l7vs::Logger::putLogFatal(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line){
+void l7vs::Logger::putLogFatal(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
+{
- std::stringstream buf;
- buf << message << " " << file << " " << line;
- BOOST_MESSAGE ( buf.str() ) ;
+ std::stringstream buf;
+ buf << message << " " << file << " " << line;
+ BOOST_MESSAGE(buf.str()) ;
}
/*!
* output errorl log.
* this is only wrapper to implement method.
* @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
+ * @param log message id
+ * @param log message
+ * @param current file
* @param current line
* @retrun void
*/
-void l7vs::Logger::putLogError(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line){
- std::stringstream buf;
- buf << message << " " << file << " " << line;
- BOOST_MESSAGE ( buf.str() ) ;
+void l7vs::Logger::putLogError(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
+{
+ std::stringstream buf;
+ buf << message << " " << file << " " << line;
+ BOOST_MESSAGE(buf.str()) ;
}
/*!
* output warn log.
* this is only wrapper to implement method.
* @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
+ * @param log message id
+ * @param log message
+ * @param current file
* @param current line
* @retrun void
*/
-void l7vs::Logger::putLogWarn(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line){
- std::stringstream buf;
- buf << message << " " << file << " " << line;
- BOOST_MESSAGE ( buf.str() ) ;
+void l7vs::Logger::putLogWarn(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
+{
+ std::stringstream buf;
+ buf << message << " " << file << " " << line;
+ BOOST_MESSAGE(buf.str()) ;
}
/*!
* output info log.
* this is only wrapper to implement method.
* @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
+ * @param log message id
+ * @param log message
+ * @param current file
* @param current line
* @retrun void
*/
-void l7vs::Logger::putLogInfo(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line){
- std::stringstream buf;
- buf << message << " " << file << " " << line;
- BOOST_MESSAGE ( buf.str() ) ;
+void l7vs::Logger::putLogInfo(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
+{
+ std::stringstream buf;
+ buf << message << " " << file << " " << line;
+ BOOST_MESSAGE(buf.str()) ;
}
/*!
* output debug log.
* this is only wrapper to implement method.
* @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
+ * @param log message id
+ * @param log message
+ * @param current file
* @param current line
* @retrun void
*/
-void l7vs::Logger::putLogDebug(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string& message, const char *file, int line){
+void l7vs::Logger::putLogDebug(LOG_CATEGORY_TAG cat, const unsigned int message_id, const std::string &message, const char *file, int line)
+{
}
/*!
* @param void
* @return void
*/
-void l7vs::Logger::loadConf(){
+void l7vs::Logger::loadConf()
+{
}
/*!
* Constructor of Parameter class
*/
-l7vs::Parameter::Parameter(){
+l7vs::Parameter::Parameter()
+{
}
/*!
* Destructor of Parameter class
*/
-l7vs::Parameter::~Parameter(){
+l7vs::Parameter::~Parameter()
+{
}
/*!
* @param[in] key key string
* @return value
*/
-int l7vs::Parameter::get_int( const l7vs::PARAMETER_COMPONENT_TAG comp,
- const std::string& key,
- l7vs::error_code& err,
- const std::string& file) {
- return 0;
+int l7vs::Parameter::get_int(const l7vs::PARAMETER_COMPONENT_TAG comp,
+ const std::string &key,
+ l7vs::error_code &err,
+ const std::string &file)
+{
+ return 0;
}
/*!
* @param[in] key key string
* @return value
*/
-std::string l7vs::Parameter::get_string( const l7vs::PARAMETER_COMPONENT_TAG comp,
- const std::string& key,
- l7vs::error_code& err,
- const std::string& file) {
- return key;
+std::string l7vs::Parameter::get_string(const l7vs::PARAMETER_COMPONENT_TAG comp,
+ const std::string &key,
+ l7vs::error_code &err,
+ const std::string &file)
+{
+ return key;
}
//l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type& list );
//l7vs::schedule_module_base::rslist_type::iterator list_end( l7vs::schedule_module_base::rslist_type& list );
-l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type* list );
-l7vs::schedule_module_base::rslist_type::iterator list_end( l7vs::schedule_module_base::rslist_type* list );
-l7vs::schedule_module_base::rslist_type::iterator list_next( l7vs::schedule_module_base::rslist_type::iterator itr );
+l7vs::schedule_module_base::rslist_type::iterator list_begin(l7vs::schedule_module_base::rslist_type *list);
+l7vs::schedule_module_base::rslist_type::iterator list_end(l7vs::schedule_module_base::rslist_type *list);
+l7vs::schedule_module_base::rslist_type::iterator list_next(l7vs::schedule_module_base::rslist_type::iterator itr);
//test case1.
-void schedule_module_test(){
- l7vs::schedule_module_control& control = l7vs::schedule_module_control::getInstance();
- l7vs::schedule_module_base* schedule_module_lc = NULL;
-
- // unit_test[1] インスタンス作成のテスト
- BOOST_MESSAGE( "unit_test[1]" );
- control.initialize( "." );
- try{
+void schedule_module_test()
+{
+ l7vs::schedule_module_control &control = l7vs::schedule_module_control::getInstance();
+ l7vs::schedule_module_base *schedule_module_lc = NULL;
+
+ // unit_test[1] インスタンス作成のテスト
+ BOOST_MESSAGE("unit_test[1]");
+ control.initialize(".");
+ try {
// schedule_module_lc = create_module();
- schedule_module_lc = control.load_module( SM1 );
- }
- catch(...){
+ schedule_module_lc = control.load_module(SM1);
+ } catch (...) {
// BOOST_ERROR( "exception : create_module" );
- BOOST_ERROR( "exception : load_module" );
- }
- BOOST_CHECK( NULL != schedule_module_lc );
-
- // unit_test[2] get_nameメソッドのテスト
- BOOST_MESSAGE( "unit_test[2]" );
- BOOST_CHECK_EQUAL( CHECK_NAME, schedule_module_lc->get_name() );
-
- l7vs::module_base::getloglevel_func_type getloglevel = boost::bind( &( l7vs::Logger::getLogLevel ), l7vs::LOG_CAT_SCHEDULE );
- l7vs::module_base::logger_func_type putLogFatal = boost::bind( &( l7vs::Logger::putLogFatal ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogError = boost::bind( &( l7vs::Logger::putLogError ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogWarn = boost::bind( &( l7vs::Logger::putLogWarn ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogInfo = boost::bind( &( l7vs::Logger::putLogInfo ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogDebug = boost::bind( &( l7vs::Logger::putLogDebug ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
-
- // unit_test[3] init_logger_functionsメソッドのテスト
- schedule_module_lc->init_logger_functions( getloglevel,
- putLogFatal,
- putLogError,
- putLogWarn,
- putLogInfo,
- putLogDebug);
-
- // unit_test[4] initializeメソッドのテスト
- BOOST_MESSAGE( "unit_test[4]" );
- schedule_module_lc->initialize();
-
- // unit_test[5] is_tcpメソッドのテスト
- BOOST_MESSAGE( "unit_test[5]" );
- BOOST_CHECK_EQUAL( true, schedule_module_lc->is_tcp() );
-
- // unit_test[6] is_udpメソッドのテスト(UDP非対応)
- BOOST_MESSAGE( "unit_test[6]" );
- BOOST_CHECK_EQUAL( false, schedule_module_lc->is_udp() );
-
- boost::thread::id thread_id;
- l7vs::schedule_module_base::rslist_type rs_list;
- l7vs::realserver server1, server2, server3, server4;
-
- l7vs::schedule_module_base::rslist_iterator_begin_func_type rslist_begin;
- l7vs::schedule_module_base::rslist_iterator_end_func_type rslist_end;
- l7vs::schedule_module_base::rslist_iterator_next_func_type rslist_next;
-
- // unit_test[7] handle_schedule(tcp)メソッドのテスト(boost::functionのempty評価のため空のままイテレターメソッドを渡す endpoint1は更新されない)
- BOOST_MESSAGE( "unit_test[7]" );
- boost::asio::ip::tcp::endpoint endpoint1, endpoint3 ;
-
- schedule_module_lc->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( endpoint3 == endpoint1 );
-
- // unit_test[8] handle_schedule(tcp)メソッドのテスト2(リストの内容が空 endpoint1は更新されない)
- BOOST_MESSAGE( "unit_test[8]" );
- rslist_begin = boost::bind( &list_begin, &rs_list );
- rslist_end = boost::bind( &list_end, &rs_list );
- rslist_next = boost::bind( &list_next, _1 );
-
- schedule_module_lc->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( endpoint3 == endpoint1 );
-
- // unit_test[9] handle_schedule(tcp)メソッドのテスト3(リストの項目が全て振り分け無し endpoint1は更新されない)
- BOOST_MESSAGE( "unit_test[9]" );
- server1.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.87" ), 22 ) ;
- server1.weight = 0;
- rs_list.push_back( server1 );
- server2.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.86" ), 21 ) ;
- server2.weight = 0;
- rs_list.push_back( server2 );
- server3.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.85" ), 20 ) ;
- server3.weight = 0;
- rs_list.push_back( server3 );
- server4.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.84" ), 19 ) ;
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- schedule_module_lc->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( endpoint3 == endpoint1 );
-
- // unit_test[10] handle_schedule(tcp)メソッドのテスト4(重みが設定されているのでserver1が返る)
- BOOST_MESSAGE( "unit_test[10]" );
- rs_list.clear();
- server1.weight = 2;
- rs_list.push_back( server1 );
- server2.weight = 1;
- rs_list.push_back( server2 );
- server3.weight = 3;
- rs_list.push_back( server3 );
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- schedule_module_lc->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server1.tcp_endpoint == endpoint1 );
-
- // unit_test[11] handle_schedule(tcp)メソッドのテスト5(重みが設定されているので次に接続数の少ないserver2が返る)
- BOOST_MESSAGE( "unit_test[11]" );
- rs_list.clear();
- server1.increment_active();
- rs_list.push_back( server1 );
- rs_list.push_back( server2 );
- rs_list.push_back( server3 );
- rs_list.push_back( server4 );
- schedule_module_lc->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server2.tcp_endpoint == endpoint1 );
-
- // unit_test[12] handle_schedule(tcp)メソッドのテスト6(重みが設定されているので次に接続数の少ないserver3が返る)
- BOOST_MESSAGE( "unit_test[12]" );
- rs_list.clear();
- rs_list.push_back( server1 );
- server2.increment_active();
- rs_list.push_back( server2 );
- rs_list.push_back( server3 );
- rs_list.push_back( server4 );
- schedule_module_lc->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server3.tcp_endpoint == endpoint1 );
-
- // unit_test[13] handle_schedule(tcp)メソッドのテスト7(server4には重みがないので、一巡し重みが設定されているserver1が返る)
- BOOST_MESSAGE( "unit_test[13]" );
- rs_list.clear();
- rs_list.push_back( server1 );
- rs_list.push_back( server2 );
- server3.increment_active();
- rs_list.push_back( server3 );
- rs_list.push_back( server4 );
- schedule_module_lc->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server1.tcp_endpoint == endpoint1 );
-
-
- // unit_test[14] handle_schedule(udp)メソッドのテスト(UDPは非対応 endpoint2は更新されない)
- BOOST_MESSAGE( "unit_test[14]" );
- boost::asio::ip::udp::endpoint endpoint2, endpoint4 ;
-
- rs_list.clear();
- server1.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.87" ), 22 ) ;
- server1.weight = 2;
- rs_list.push_back( server1 );
- server2.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.86" ), 21 ) ;
- server2.weight = 1;
- rs_list.push_back( server2 );
- server3.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.85" ), 20 ) ;
- server3.weight = 3;
- rs_list.push_back( server3 );
- server4.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.84" ), 19 ) ;
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- schedule_module_lc->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( endpoint4 == endpoint2 );
-
-
- // unit_test[15] replication_interruptメソッドのテスト
- BOOST_MESSAGE( "unit_test[15]" );
- schedule_module_lc->replication_interrupt();
-
- // unit_test[16] handle_schedule(tcp)メソッドのテスト8 server3が返る
- BOOST_MESSAGE( "unit_test[16]" );
- rs_list.clear();
- server1.increment_active();
- server1.increment_active();
- server1.increment_active();
- rs_list.push_back( server1 );
- server2.increment_active();
- server2.increment_active();
- rs_list.push_back( server2 );
- server3.increment_active();
- rs_list.push_back( server3 );
- server4.increment_active();
- server4.increment_active();
- rs_list.push_back( server4 );
- schedule_module_lc->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server3.tcp_endpoint == endpoint1 );
+ BOOST_ERROR("exception : load_module");
+ }
+ BOOST_CHECK(NULL != schedule_module_lc);
+
+ // unit_test[2] get_nameメソッドのテスト
+ BOOST_MESSAGE("unit_test[2]");
+ BOOST_CHECK_EQUAL(CHECK_NAME, schedule_module_lc->get_name());
+
+ l7vs::module_base::getloglevel_func_type getloglevel = boost::bind(&(l7vs::Logger::getLogLevel), l7vs::LOG_CAT_SCHEDULE);
+ l7vs::module_base::logger_func_type putLogFatal = boost::bind(&(l7vs::Logger::putLogFatal), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogError = boost::bind(&(l7vs::Logger::putLogError), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogWarn = boost::bind(&(l7vs::Logger::putLogWarn), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogInfo = boost::bind(&(l7vs::Logger::putLogInfo), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogDebug = boost::bind(&(l7vs::Logger::putLogDebug), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+
+ // unit_test[3] init_logger_functionsメソッドのテスト
+ schedule_module_lc->init_logger_functions(getloglevel,
+ putLogFatal,
+ putLogError,
+ putLogWarn,
+ putLogInfo,
+ putLogDebug);
+
+ // unit_test[4] initializeメソッドのテスト
+ BOOST_MESSAGE("unit_test[4]");
+ schedule_module_lc->initialize();
+
+ // unit_test[5] is_tcpメソッドのテスト
+ BOOST_MESSAGE("unit_test[5]");
+ BOOST_CHECK_EQUAL(true, schedule_module_lc->is_tcp());
+
+ // unit_test[6] is_udpメソッドのテスト(UDP非対応)
+ BOOST_MESSAGE("unit_test[6]");
+ BOOST_CHECK_EQUAL(false, schedule_module_lc->is_udp());
+
+ boost::thread::id thread_id;
+ l7vs::schedule_module_base::rslist_type rs_list;
+ l7vs::realserver server1, server2, server3, server4;
+
+ l7vs::schedule_module_base::rslist_iterator_begin_func_type rslist_begin;
+ l7vs::schedule_module_base::rslist_iterator_end_func_type rslist_end;
+ l7vs::schedule_module_base::rslist_iterator_next_func_type rslist_next;
+
+ // unit_test[7] handle_schedule(tcp)メソッドのテスト(boost::functionのempty評価のため空のままイテレターメソッドを渡す endpoint1は更新されない)
+ BOOST_MESSAGE("unit_test[7]");
+ boost::asio::ip::tcp::endpoint endpoint1, endpoint3 ;
+
+ schedule_module_lc->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(endpoint3 == endpoint1);
+
+ // unit_test[8] handle_schedule(tcp)メソッドのテスト2(リストの内容が空 endpoint1は更新されない)
+ BOOST_MESSAGE("unit_test[8]");
+ rslist_begin = boost::bind(&list_begin, &rs_list);
+ rslist_end = boost::bind(&list_end, &rs_list);
+ rslist_next = boost::bind(&list_next, _1);
+
+ schedule_module_lc->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(endpoint3 == endpoint1);
+
+ // unit_test[9] handle_schedule(tcp)メソッドのテスト3(リストの項目が全て振り分け無し endpoint1は更新されない)
+ BOOST_MESSAGE("unit_test[9]");
+ server1.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.87"), 22) ;
+ server1.weight = 0;
+ rs_list.push_back(server1);
+ server2.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.86"), 21) ;
+ server2.weight = 0;
+ rs_list.push_back(server2);
+ server3.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.85"), 20) ;
+ server3.weight = 0;
+ rs_list.push_back(server3);
+ server4.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.84"), 19) ;
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ schedule_module_lc->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(endpoint3 == endpoint1);
+
+ // unit_test[10] handle_schedule(tcp)メソッドのテスト4(重みが設定されているのでserver1が返る)
+ BOOST_MESSAGE("unit_test[10]");
+ rs_list.clear();
+ server1.weight = 2;
+ rs_list.push_back(server1);
+ server2.weight = 1;
+ rs_list.push_back(server2);
+ server3.weight = 3;
+ rs_list.push_back(server3);
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ schedule_module_lc->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server1.tcp_endpoint == endpoint1);
+
+ // unit_test[11] handle_schedule(tcp)メソッドのテスト5(重みが設定されているので次に接続数の少ないserver2が返る)
+ BOOST_MESSAGE("unit_test[11]");
+ rs_list.clear();
+ server1.increment_active();
+ rs_list.push_back(server1);
+ rs_list.push_back(server2);
+ rs_list.push_back(server3);
+ rs_list.push_back(server4);
+ schedule_module_lc->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server2.tcp_endpoint == endpoint1);
+
+ // unit_test[12] handle_schedule(tcp)メソッドのテスト6(重みが設定されているので次に接続数の少ないserver3が返る)
+ BOOST_MESSAGE("unit_test[12]");
+ rs_list.clear();
+ rs_list.push_back(server1);
+ server2.increment_active();
+ rs_list.push_back(server2);
+ rs_list.push_back(server3);
+ rs_list.push_back(server4);
+ schedule_module_lc->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server3.tcp_endpoint == endpoint1);
+
+ // unit_test[13] handle_schedule(tcp)メソッドのテスト7(server4には重みがないので、一巡し重みが設定されているserver1が返る)
+ BOOST_MESSAGE("unit_test[13]");
+ rs_list.clear();
+ rs_list.push_back(server1);
+ rs_list.push_back(server2);
+ server3.increment_active();
+ rs_list.push_back(server3);
+ rs_list.push_back(server4);
+ schedule_module_lc->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server1.tcp_endpoint == endpoint1);
+
+
+ // unit_test[14] handle_schedule(udp)メソッドのテスト(UDPは非対応 endpoint2は更新されない)
+ BOOST_MESSAGE("unit_test[14]");
+ boost::asio::ip::udp::endpoint endpoint2, endpoint4 ;
+
+ rs_list.clear();
+ server1.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.87"), 22) ;
+ server1.weight = 2;
+ rs_list.push_back(server1);
+ server2.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.86"), 21) ;
+ server2.weight = 1;
+ rs_list.push_back(server2);
+ server3.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.85"), 20) ;
+ server3.weight = 3;
+ rs_list.push_back(server3);
+ server4.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.84"), 19) ;
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ schedule_module_lc->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(endpoint4 == endpoint2);
+
+
+ // unit_test[15] replication_interruptメソッドのテスト
+ BOOST_MESSAGE("unit_test[15]");
+ schedule_module_lc->replication_interrupt();
+
+ // unit_test[16] handle_schedule(tcp)メソッドのテスト8 server3が返る
+ BOOST_MESSAGE("unit_test[16]");
+ rs_list.clear();
+ server1.increment_active();
+ server1.increment_active();
+ server1.increment_active();
+ rs_list.push_back(server1);
+ server2.increment_active();
+ server2.increment_active();
+ rs_list.push_back(server2);
+ server3.increment_active();
+ rs_list.push_back(server3);
+ server4.increment_active();
+ server4.increment_active();
+ rs_list.push_back(server4);
+ schedule_module_lc->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server3.tcp_endpoint == endpoint1);
// destroy_module( schedule_module_lc );
- control.unload_module( schedule_module_lc );
- control.finalize();
+ control.unload_module(schedule_module_lc);
+ control.finalize();
}
//l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type& list ){
// return(list.end());
//}
-l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type* list ){
- return(list->begin());
+l7vs::schedule_module_base::rslist_type::iterator list_begin(l7vs::schedule_module_base::rslist_type *list)
+{
+ return(list->begin());
}
-l7vs::schedule_module_base::rslist_type::iterator list_end( l7vs::schedule_module_base::rslist_type* list ){
- return(list->end());
+l7vs::schedule_module_base::rslist_type::iterator list_end(l7vs::schedule_module_base::rslist_type *list)
+{
+ return(list->end());
}
-l7vs::schedule_module_base::rslist_type::iterator list_next( l7vs::schedule_module_base::rslist_type::iterator itr ){
- return(++itr);
+l7vs::schedule_module_base::rslist_type::iterator list_next(l7vs::schedule_module_base::rslist_type::iterator itr)
+{
+ return(++itr);
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- l7vs::Logger logger;
- l7vs::Parameter parameter;
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ l7vs::Logger logger;
+ l7vs::Parameter parameter;
- logger.loadConf();
+ logger.loadConf();
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "schedule_module_lc_test" );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("schedule_module_lc_test");
- // add test case to test suite
- ts->add( BOOST_TEST_CASE( &schedule_module_test ) );
+ // add test case to test suite
+ ts->add(BOOST_TEST_CASE(&schedule_module_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
#define CHECK_NAME "rr"
#define SM1 "schedule_module_rr"
-namespace l7vs{
+namespace l7vs
+{
class schedule_module_round_robin_fake : public schedule_module_round_robin
{
public:
- //! constractor
- schedule_module_round_robin_fake(){}
- //! destractor
- ~schedule_module_round_robin_fake(){}
-
- boost::asio::ip::tcp::endpoint get_tcp_endpoint(){ return tcp_endpoint ; }
- boost::asio::ip::udp::endpoint get_udp_endpoint(){ return udp_endpoint ; }
- void set_tcp_endpoint( const boost::asio::ip::tcp::endpoint& in_tcp ){ tcp_endpoint = in_tcp ; }
- void set_udp_endpoint( const boost::asio::ip::udp::endpoint& in_udp ){ udp_endpoint = in_udp ; }
+ //! constractor
+ schedule_module_round_robin_fake() {}
+ //! destractor
+ ~schedule_module_round_robin_fake() {}
+
+ boost::asio::ip::tcp::endpoint get_tcp_endpoint() {
+ return tcp_endpoint ;
+ }
+ boost::asio::ip::udp::endpoint get_udp_endpoint() {
+ return udp_endpoint ;
+ }
+ void set_tcp_endpoint(const boost::asio::ip::tcp::endpoint &in_tcp) {
+ tcp_endpoint = in_tcp ;
+ }
+ void set_udp_endpoint(const boost::asio::ip::udp::endpoint &in_udp) {
+ udp_endpoint = in_udp ;
+ }
};
} //namespace l7vs
//l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type& list );
//l7vs::schedule_module_base::rslist_type::iterator list_end( l7vs::schedule_module_base::rslist_type& list );
-l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type* list );
-l7vs::schedule_module_base::rslist_type::iterator list_end( l7vs::schedule_module_base::rslist_type* list );
-l7vs::schedule_module_base::rslist_type::iterator list_next( l7vs::schedule_module_base::rslist_type::iterator itr );
+l7vs::schedule_module_base::rslist_type::iterator list_begin(l7vs::schedule_module_base::rslist_type *list);
+l7vs::schedule_module_base::rslist_type::iterator list_end(l7vs::schedule_module_base::rslist_type *list);
+l7vs::schedule_module_base::rslist_type::iterator list_next(l7vs::schedule_module_base::rslist_type::iterator itr);
//test case1.
-void schedule_module_test(){
- l7vs::schedule_module_control& control = l7vs::schedule_module_control::getInstance();
- l7vs::schedule_module_base* schedule_module_rr = NULL;
-
- // unit_test[1] インスタンス作成のテスト
- BOOST_MESSAGE( "unit_test[1]" );
- control.initialize( "." );
- try{
+void schedule_module_test()
+{
+ l7vs::schedule_module_control &control = l7vs::schedule_module_control::getInstance();
+ l7vs::schedule_module_base *schedule_module_rr = NULL;
+
+ // unit_test[1] インスタンス作成のテスト
+ BOOST_MESSAGE("unit_test[1]");
+ control.initialize(".");
+ try {
// schedule_module_rr = create_module();
- schedule_module_rr = control.load_module( SM1 );
- }
- catch(...){
+ schedule_module_rr = control.load_module(SM1);
+ } catch (...) {
// BOOST_ERROR( "exception : create_module" );
- BOOST_ERROR( "exception : load_module" );
- }
- BOOST_CHECK( NULL != schedule_module_rr );
-
- // unit_test[2] get_nameメソッドのテスト
- BOOST_MESSAGE( "unit_test[2]" );
- BOOST_CHECK_EQUAL( CHECK_NAME, schedule_module_rr->get_name() );
-
- l7vs::module_base::getloglevel_func_type getloglevel = boost::bind( &( l7vs::Logger::getLogLevel ), l7vs::LOG_CAT_SCHEDULE );
- l7vs::module_base::logger_func_type putLogFatal = boost::bind( &( l7vs::Logger::putLogFatal ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogError = boost::bind( &( l7vs::Logger::putLogError ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogWarn = boost::bind( &( l7vs::Logger::putLogWarn ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogInfo = boost::bind( &( l7vs::Logger::putLogInfo ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogDebug = boost::bind( &( l7vs::Logger::putLogDebug ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
-
- // unit_test[3] init_logger_functionsメソッドのテスト
- BOOST_MESSAGE( "unit_test[3]" );
- schedule_module_rr->init_logger_functions( getloglevel,
- putLogFatal,
- putLogError,
- putLogWarn,
- putLogInfo,
- putLogDebug);
-
- // unit_test[4] initializeメソッドのテスト
- BOOST_MESSAGE( "unit_test[4]" );
- schedule_module_rr->initialize();
-
- boost::asio::ip::tcp::endpoint endpoint1( boost::asio::ip::address::from_string( "10.144.169.87" ), 22 ) ;
- boost::asio::ip::udp::endpoint endpoint2( boost::asio::ip::address::from_string( "10.144.169.86" ), 21 ) ;
- // unit_test[5] initializeメソッドのテスト2(派生クラスにgetter/setterを追加してprotected変数の確認)
- BOOST_MESSAGE( "unit_test[5]" );
-
- l7vs::schedule_module_round_robin_fake schedule_module_rr_fake ;
- BOOST_CHECK_EQUAL( CHECK_NAME, schedule_module_rr_fake.get_name() );
-
- schedule_module_rr_fake.set_tcp_endpoint( endpoint1 );
- schedule_module_rr_fake.set_udp_endpoint( endpoint2 );
-
- BOOST_CHECK( schedule_module_rr_fake.get_tcp_endpoint() == endpoint1 );
- BOOST_CHECK( schedule_module_rr_fake.get_udp_endpoint() == endpoint2 );
-
- schedule_module_rr_fake.initialize();
- BOOST_CHECK( schedule_module_rr_fake.get_tcp_endpoint() != endpoint1 );
- BOOST_CHECK( schedule_module_rr_fake.get_udp_endpoint() != endpoint2 );
-
- // unit_test[6] is_tcpメソッドのテスト
- BOOST_MESSAGE( "unit_test[6]" );
- BOOST_CHECK_EQUAL( true, schedule_module_rr->is_tcp() );
-
- // unit_test[7] is_udpメソッドのテスト
- BOOST_MESSAGE( "unit_test[7]" );
- BOOST_CHECK_EQUAL( true, schedule_module_rr->is_udp() );
-
- boost::thread::id thread_id;
- l7vs::schedule_module_base::rslist_type rs_list;
- l7vs::realserver server1, server2, server3, server4;
-
- l7vs::schedule_module_base::rslist_iterator_begin_func_type rslist_begin;
- l7vs::schedule_module_base::rslist_iterator_end_func_type rslist_end;
- l7vs::schedule_module_base::rslist_iterator_next_func_type rslist_next;
-
- // unit_test[8] handle_schedule(tcp)メソッドのテスト(boost::functionのempty評価のため空のままイテレターメソッドを渡す endpoint1は更新されない)
- BOOST_MESSAGE( "unit_test[8]" );
- boost::asio::ip::tcp::endpoint endpoint3 ;
-
- endpoint1 = endpoint3 ;
-
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( endpoint3 == endpoint1 );
-
- // unit_test[9] handle_schedule(tcp)メソッドのテスト2(リストの内容が空 endpoint1は更新されない)
- BOOST_MESSAGE( "unit_test[9]" );
- rslist_begin = boost::bind( &list_begin, &rs_list );
- rslist_end = boost::bind( &list_end, &rs_list );
- rslist_next = boost::bind( &list_next, _1 );
-
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( endpoint3 == endpoint1 );
-
- // unit_test[10] handle_schedule(tcp)メソッドのテスト3(リストの項目が全て振り分け無し endpoint1は更新されない)
- BOOST_MESSAGE( "unit_test[10]" );
- server1.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.87" ), 22 ) ;
- server1.weight = 0;
- rs_list.push_back( server1 );
- server2.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.86" ), 21 ) ;
- server2.weight = 0;
- rs_list.push_back( server2 );
- server3.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.85" ), 20 ) ;
- server3.weight = 0;
- rs_list.push_back( server3 );
- server4.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.84" ), 19 ) ;
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( endpoint3 == endpoint1 );
-
- // unit_test[11] handle_schedule(tcp)メソッドのテスト4(重みが設定されているのでserver1が返る)
- BOOST_MESSAGE( "unit_test[11]" );
- rs_list.clear();
- server1.weight = 2;
- rs_list.push_back( server1 );
- server2.weight = 1;
- rs_list.push_back( server2 );
- server3.weight = 3;
- rs_list.push_back( server3 );
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server1.tcp_endpoint == endpoint1 );
-
- // unit_test[12] handle_schedule(tcp)メソッドのテスト5(重みが設定されているので次のserver2が返る)
- BOOST_MESSAGE( "unit_test[12]" );
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server2.tcp_endpoint == endpoint1 );
-
- // unit_test[13] handle_schedule(tcp)メソッドのテスト6(重みが設定されているので次のserver3が返る)
- BOOST_MESSAGE( "unit_test[13]" );
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server3.tcp_endpoint == endpoint1 );
-
- // unit_test[14] handle_schedule(tcp)メソッドのテスト7(server4には重みがないので、一巡し重みが設定されているserver1が返る)
- BOOST_MESSAGE( "unit_test[14]" );
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server1.tcp_endpoint == endpoint1 );
-
-
- // unit_test[15] handle_schedule(udp)メソッドのテスト(boost::functionのempty評価のため空のままイテレターメソッドを渡す endpoint2は更新されない)
- BOOST_MESSAGE( "unit_test[15]" );
- boost::asio::ip::udp::endpoint endpoint4 ;
-
- rslist_begin.clear();
- rslist_end.clear();
- rslist_next.clear();
-
- rs_list.clear();
-
- endpoint2 = endpoint4 ;
-
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( endpoint4 == endpoint2 );
-
- // unit_test[16] handle_schedule(udp)メソッドのテスト2(リストの内容が空 endpoint2は更新されない)
- BOOST_MESSAGE( "unit_test[16]" );
- rslist_begin = boost::bind( &list_begin, &rs_list );
- rslist_end = boost::bind( &list_end, &rs_list );
- rslist_next = boost::bind( &list_next, _1 );
-
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( endpoint4 == endpoint2 );
-
- // unit_test[17] handle_schedule(udp)メソッドのテスト3(リストの項目が全て振り分け無し endpoint2は更新されない)
- BOOST_MESSAGE( "unit_test[17]" );
- rs_list.clear();
- server1.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.87" ), 22 ) ;
- server1.weight = 0;
- rs_list.push_back( server1 );
- server2.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.86" ), 21 ) ;
- server2.weight = 0;
- rs_list.push_back( server2 );
- server3.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.85" ), 20 ) ;
- server3.weight = 0;
- rs_list.push_back( server3 );
- server4.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.84" ), 19 ) ;
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( endpoint4 == endpoint2 );
-
- // unit_test[18] handle_schedule(udp)メソッドのテスト4(重みが設定されているのでserver1が返る)
- BOOST_MESSAGE( "unit_test[18]" );
- rs_list.clear();
- server1.weight = 2;
- rs_list.push_back( server1 );
- server2.weight = 1;
- rs_list.push_back( server2 );
- server3.weight = 3;
- rs_list.push_back( server3 );
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( server1.udp_endpoint == endpoint2 );
-
- // unit_test[19] handle_schedule(udp)メソッドのテスト5(重みが設定されているので次のserver2が返る)
- BOOST_MESSAGE( "unit_test[19]" );
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( server2.udp_endpoint == endpoint2 );
-
- // unit_test[20] handle_schedule(udp)メソッドのテスト6(重みが設定されているので次のserver3が返る)
- BOOST_MESSAGE( "unit_test[20]" );
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( server3.udp_endpoint == endpoint2 );
-
- // unit_test[21] handle_schedule(udp)メソッドのテスト7(server4には重みがないので、一巡し重みが設定されているserver1が返る)
- BOOST_MESSAGE( "unit_test[21]" );
- schedule_module_rr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( server1.udp_endpoint == endpoint2 );
-
-
- // unit_test[22] replication_interruptメソッドのテスト
- BOOST_MESSAGE( "unit_test[22]" );
- schedule_module_rr->replication_interrupt();
+ BOOST_ERROR("exception : load_module");
+ }
+ BOOST_CHECK(NULL != schedule_module_rr);
+
+ // unit_test[2] get_nameメソッドのテスト
+ BOOST_MESSAGE("unit_test[2]");
+ BOOST_CHECK_EQUAL(CHECK_NAME, schedule_module_rr->get_name());
+
+ l7vs::module_base::getloglevel_func_type getloglevel = boost::bind(&(l7vs::Logger::getLogLevel), l7vs::LOG_CAT_SCHEDULE);
+ l7vs::module_base::logger_func_type putLogFatal = boost::bind(&(l7vs::Logger::putLogFatal), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogError = boost::bind(&(l7vs::Logger::putLogError), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogWarn = boost::bind(&(l7vs::Logger::putLogWarn), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogInfo = boost::bind(&(l7vs::Logger::putLogInfo), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogDebug = boost::bind(&(l7vs::Logger::putLogDebug), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+
+ // unit_test[3] init_logger_functionsメソッドのテスト
+ BOOST_MESSAGE("unit_test[3]");
+ schedule_module_rr->init_logger_functions(getloglevel,
+ putLogFatal,
+ putLogError,
+ putLogWarn,
+ putLogInfo,
+ putLogDebug);
+
+ // unit_test[4] initializeメソッドのテスト
+ BOOST_MESSAGE("unit_test[4]");
+ schedule_module_rr->initialize();
+
+ boost::asio::ip::tcp::endpoint endpoint1(boost::asio::ip::address::from_string("10.144.169.87"), 22) ;
+ boost::asio::ip::udp::endpoint endpoint2(boost::asio::ip::address::from_string("10.144.169.86"), 21) ;
+ // unit_test[5] initializeメソッドのテスト2(派生クラスにgetter/setterを追加してprotected変数の確認)
+ BOOST_MESSAGE("unit_test[5]");
+
+ l7vs::schedule_module_round_robin_fake schedule_module_rr_fake ;
+ BOOST_CHECK_EQUAL(CHECK_NAME, schedule_module_rr_fake.get_name());
+
+ schedule_module_rr_fake.set_tcp_endpoint(endpoint1);
+ schedule_module_rr_fake.set_udp_endpoint(endpoint2);
+
+ BOOST_CHECK(schedule_module_rr_fake.get_tcp_endpoint() == endpoint1);
+ BOOST_CHECK(schedule_module_rr_fake.get_udp_endpoint() == endpoint2);
+
+ schedule_module_rr_fake.initialize();
+ BOOST_CHECK(schedule_module_rr_fake.get_tcp_endpoint() != endpoint1);
+ BOOST_CHECK(schedule_module_rr_fake.get_udp_endpoint() != endpoint2);
+
+ // unit_test[6] is_tcpメソッドのテスト
+ BOOST_MESSAGE("unit_test[6]");
+ BOOST_CHECK_EQUAL(true, schedule_module_rr->is_tcp());
+
+ // unit_test[7] is_udpメソッドのテスト
+ BOOST_MESSAGE("unit_test[7]");
+ BOOST_CHECK_EQUAL(true, schedule_module_rr->is_udp());
+
+ boost::thread::id thread_id;
+ l7vs::schedule_module_base::rslist_type rs_list;
+ l7vs::realserver server1, server2, server3, server4;
+
+ l7vs::schedule_module_base::rslist_iterator_begin_func_type rslist_begin;
+ l7vs::schedule_module_base::rslist_iterator_end_func_type rslist_end;
+ l7vs::schedule_module_base::rslist_iterator_next_func_type rslist_next;
+
+ // unit_test[8] handle_schedule(tcp)メソッドのテスト(boost::functionのempty評価のため空のままイテレターメソッドを渡す endpoint1は更新されない)
+ BOOST_MESSAGE("unit_test[8]");
+ boost::asio::ip::tcp::endpoint endpoint3 ;
+
+ endpoint1 = endpoint3 ;
+
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(endpoint3 == endpoint1);
+
+ // unit_test[9] handle_schedule(tcp)メソッドのテスト2(リストの内容が空 endpoint1は更新されない)
+ BOOST_MESSAGE("unit_test[9]");
+ rslist_begin = boost::bind(&list_begin, &rs_list);
+ rslist_end = boost::bind(&list_end, &rs_list);
+ rslist_next = boost::bind(&list_next, _1);
+
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(endpoint3 == endpoint1);
+
+ // unit_test[10] handle_schedule(tcp)メソッドのテスト3(リストの項目が全て振り分け無し endpoint1は更新されない)
+ BOOST_MESSAGE("unit_test[10]");
+ server1.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.87"), 22) ;
+ server1.weight = 0;
+ rs_list.push_back(server1);
+ server2.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.86"), 21) ;
+ server2.weight = 0;
+ rs_list.push_back(server2);
+ server3.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.85"), 20) ;
+ server3.weight = 0;
+ rs_list.push_back(server3);
+ server4.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.84"), 19) ;
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(endpoint3 == endpoint1);
+
+ // unit_test[11] handle_schedule(tcp)メソッドのテスト4(重みが設定されているのでserver1が返る)
+ BOOST_MESSAGE("unit_test[11]");
+ rs_list.clear();
+ server1.weight = 2;
+ rs_list.push_back(server1);
+ server2.weight = 1;
+ rs_list.push_back(server2);
+ server3.weight = 3;
+ rs_list.push_back(server3);
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server1.tcp_endpoint == endpoint1);
+
+ // unit_test[12] handle_schedule(tcp)メソッドのテスト5(重みが設定されているので次のserver2が返る)
+ BOOST_MESSAGE("unit_test[12]");
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server2.tcp_endpoint == endpoint1);
+
+ // unit_test[13] handle_schedule(tcp)メソッドのテスト6(重みが設定されているので次のserver3が返る)
+ BOOST_MESSAGE("unit_test[13]");
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server3.tcp_endpoint == endpoint1);
+
+ // unit_test[14] handle_schedule(tcp)メソッドのテスト7(server4には重みがないので、一巡し重みが設定されているserver1が返る)
+ BOOST_MESSAGE("unit_test[14]");
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server1.tcp_endpoint == endpoint1);
+
+
+ // unit_test[15] handle_schedule(udp)メソッドのテスト(boost::functionのempty評価のため空のままイテレターメソッドを渡す endpoint2は更新されない)
+ BOOST_MESSAGE("unit_test[15]");
+ boost::asio::ip::udp::endpoint endpoint4 ;
+
+ rslist_begin.clear();
+ rslist_end.clear();
+ rslist_next.clear();
+
+ rs_list.clear();
+
+ endpoint2 = endpoint4 ;
+
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(endpoint4 == endpoint2);
+
+ // unit_test[16] handle_schedule(udp)メソッドのテスト2(リストの内容が空 endpoint2は更新されない)
+ BOOST_MESSAGE("unit_test[16]");
+ rslist_begin = boost::bind(&list_begin, &rs_list);
+ rslist_end = boost::bind(&list_end, &rs_list);
+ rslist_next = boost::bind(&list_next, _1);
+
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(endpoint4 == endpoint2);
+
+ // unit_test[17] handle_schedule(udp)メソッドのテスト3(リストの項目が全て振り分け無し endpoint2は更新されない)
+ BOOST_MESSAGE("unit_test[17]");
+ rs_list.clear();
+ server1.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.87"), 22) ;
+ server1.weight = 0;
+ rs_list.push_back(server1);
+ server2.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.86"), 21) ;
+ server2.weight = 0;
+ rs_list.push_back(server2);
+ server3.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.85"), 20) ;
+ server3.weight = 0;
+ rs_list.push_back(server3);
+ server4.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.84"), 19) ;
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(endpoint4 == endpoint2);
+
+ // unit_test[18] handle_schedule(udp)メソッドのテスト4(重みが設定されているのでserver1が返る)
+ BOOST_MESSAGE("unit_test[18]");
+ rs_list.clear();
+ server1.weight = 2;
+ rs_list.push_back(server1);
+ server2.weight = 1;
+ rs_list.push_back(server2);
+ server3.weight = 3;
+ rs_list.push_back(server3);
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(server1.udp_endpoint == endpoint2);
+
+ // unit_test[19] handle_schedule(udp)メソッドのテスト5(重みが設定されているので次のserver2が返る)
+ BOOST_MESSAGE("unit_test[19]");
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(server2.udp_endpoint == endpoint2);
+
+ // unit_test[20] handle_schedule(udp)メソッドのテスト6(重みが設定されているので次のserver3が返る)
+ BOOST_MESSAGE("unit_test[20]");
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(server3.udp_endpoint == endpoint2);
+
+ // unit_test[21] handle_schedule(udp)メソッドのテスト7(server4には重みがないので、一巡し重みが設定されているserver1が返る)
+ BOOST_MESSAGE("unit_test[21]");
+ schedule_module_rr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(server1.udp_endpoint == endpoint2);
+
+
+ // unit_test[22] replication_interruptメソッドのテスト
+ BOOST_MESSAGE("unit_test[22]");
+ schedule_module_rr->replication_interrupt();
// destroy_module( schedule_module_rr );
- control.unload_module( schedule_module_rr );
- control.finalize();
+ control.unload_module(schedule_module_rr);
+ control.finalize();
}
//l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type& list ){
// return(list.end());
//}
-l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type* list ){
- return(list->begin());
+l7vs::schedule_module_base::rslist_type::iterator list_begin(l7vs::schedule_module_base::rslist_type *list)
+{
+ return(list->begin());
}
-l7vs::schedule_module_base::rslist_type::iterator list_end( l7vs::schedule_module_base::rslist_type* list ){
- return(list->end());
+l7vs::schedule_module_base::rslist_type::iterator list_end(l7vs::schedule_module_base::rslist_type *list)
+{
+ return(list->end());
}
-l7vs::schedule_module_base::rslist_type::iterator list_next( l7vs::schedule_module_base::rslist_type::iterator itr ){
- return(++itr);
+l7vs::schedule_module_base::rslist_type::iterator list_next(l7vs::schedule_module_base::rslist_type::iterator itr)
+{
+ return(++itr);
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- l7vs::Logger logger;
- l7vs::Parameter parameter;
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ l7vs::Logger logger;
+ l7vs::Parameter parameter;
- logger.loadConf();
+ logger.loadConf();
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "schedule_module_rr_test" );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("schedule_module_rr_test");
- // add test case to test suite
- ts->add( BOOST_TEST_CASE( &schedule_module_test ) );
+ // add test case to test suite
+ ts->add(BOOST_TEST_CASE(&schedule_module_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
#define CHECK_NAME "wrr"
#define SM1 "schedule_module_wrr"
-namespace l7vs{
+namespace l7vs
+{
class schedule_module_weighted_round_robin_fake : public schedule_module_weighted_round_robin
{
public:
- //! constractor
- schedule_module_weighted_round_robin_fake(){}
- //! destractor
- ~schedule_module_weighted_round_robin_fake(){}
-
- boost::asio::ip::tcp::endpoint get_tcp_endpoint(){ return tcp_endpoint ; }
- boost::asio::ip::udp::endpoint get_udp_endpoint(){ return udp_endpoint ; }
- void set_tcp_endpoint( const boost::asio::ip::tcp::endpoint& in_tcp ){ tcp_endpoint = in_tcp ; }
- void set_udp_endpoint( const boost::asio::ip::udp::endpoint& in_udp ){ udp_endpoint = in_udp ; }
-
- int get_currentWeight(){ return vs_weights.currentWeight ; }
- int get_maxWeight(){ return vs_weights.maxWeight ; }
- int get_gcd(){ return vs_weights.gcd ; }
- void set_currentWeight( const int in_weight ){ vs_weights.currentWeight = in_weight ; }
- void set_maxWeight( const int in_weight ){ vs_weights.maxWeight = in_weight ; }
- void set_gcd( const int in_gcd ){ vs_weights.gcd = in_gcd ; }
-
- void handle_init ( rslist_iterator_begin_func_type inlist_begin,
- rslist_iterator_end_func_type inlist_end,
- rslist_iterator_next_func_type inlist_next ){
- sched_wrr_service_init ( inlist_begin, inlist_end, inlist_next );
- }
-
- int sched_wrr_service_init_wrapper(
- rslist_iterator_begin_func_type inlist_begin,
+ //! constractor
+ schedule_module_weighted_round_robin_fake() {}
+ //! destractor
+ ~schedule_module_weighted_round_robin_fake() {}
+
+ boost::asio::ip::tcp::endpoint get_tcp_endpoint() {
+ return tcp_endpoint ;
+ }
+ boost::asio::ip::udp::endpoint get_udp_endpoint() {
+ return udp_endpoint ;
+ }
+ void set_tcp_endpoint(const boost::asio::ip::tcp::endpoint &in_tcp) {
+ tcp_endpoint = in_tcp ;
+ }
+ void set_udp_endpoint(const boost::asio::ip::udp::endpoint &in_udp) {
+ udp_endpoint = in_udp ;
+ }
+
+ int get_currentWeight() {
+ return vs_weights.currentWeight ;
+ }
+ int get_maxWeight() {
+ return vs_weights.maxWeight ;
+ }
+ int get_gcd() {
+ return vs_weights.gcd ;
+ }
+ void set_currentWeight(const int in_weight) {
+ vs_weights.currentWeight = in_weight ;
+ }
+ void set_maxWeight(const int in_weight) {
+ vs_weights.maxWeight = in_weight ;
+ }
+ void set_gcd(const int in_gcd) {
+ vs_weights.gcd = in_gcd ;
+ }
+
+ void handle_init(rslist_iterator_begin_func_type inlist_begin,
rslist_iterator_end_func_type inlist_end,
- rslist_iterator_next_func_type inlist_next ){
- return sched_wrr_service_init( inlist_begin, inlist_end, inlist_next );
- }
- int sched_wrr_getMaxWeight_wrapper(
- rslist_iterator_begin_func_type inlist_begin,
- rslist_iterator_end_func_type inlist_end,
- rslist_iterator_next_func_type inlist_next ){
- return sched_wrr_getMaxWeight( inlist_begin, inlist_end, inlist_next );
- }
- int sched_wrr_gcd_wrapper( int a, int b ){
- return sched_wrr_gcd( a, b );
- }
- int sched_wrr_getGCD_wrapper(
- rslist_iterator_begin_func_type inlist_begin,
- rslist_iterator_end_func_type inlist_end,
- rslist_iterator_next_func_type inlist_next ){
- return sched_wrr_getGCD( inlist_begin, inlist_end, inlist_next );
- }
+ rslist_iterator_next_func_type inlist_next) {
+ sched_wrr_service_init(inlist_begin, inlist_end, inlist_next);
+ }
+
+ int sched_wrr_service_init_wrapper(
+ rslist_iterator_begin_func_type inlist_begin,
+ rslist_iterator_end_func_type inlist_end,
+ rslist_iterator_next_func_type inlist_next) {
+ return sched_wrr_service_init(inlist_begin, inlist_end, inlist_next);
+ }
+ int sched_wrr_getMaxWeight_wrapper(
+ rslist_iterator_begin_func_type inlist_begin,
+ rslist_iterator_end_func_type inlist_end,
+ rslist_iterator_next_func_type inlist_next) {
+ return sched_wrr_getMaxWeight(inlist_begin, inlist_end, inlist_next);
+ }
+ int sched_wrr_gcd_wrapper(int a, int b) {
+ return sched_wrr_gcd(a, b);
+ }
+ int sched_wrr_getGCD_wrapper(
+ rslist_iterator_begin_func_type inlist_begin,
+ rslist_iterator_end_func_type inlist_end,
+ rslist_iterator_next_func_type inlist_next) {
+ return sched_wrr_getGCD(inlist_begin, inlist_end, inlist_next);
+ }
};
//l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type& list );
//l7vs::schedule_module_base::rslist_type::iterator list_end( l7vs::schedule_module_base::rslist_type& list );
-l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type* list );
-l7vs::schedule_module_base::rslist_type::iterator list_end( l7vs::schedule_module_base::rslist_type* list );
-l7vs::schedule_module_base::rslist_type::iterator list_next( l7vs::schedule_module_base::rslist_type::iterator itr );
+l7vs::schedule_module_base::rslist_type::iterator list_begin(l7vs::schedule_module_base::rslist_type *list);
+l7vs::schedule_module_base::rslist_type::iterator list_end(l7vs::schedule_module_base::rslist_type *list);
+l7vs::schedule_module_base::rslist_type::iterator list_next(l7vs::schedule_module_base::rslist_type::iterator itr);
//test case1.
-void schedule_module_test(){
- l7vs::schedule_module_control& control = l7vs::schedule_module_control::getInstance();
- l7vs::schedule_module_base* schedule_module_wrr = NULL;
-
- // unit_test[1] インスタンス作成のテスト
- BOOST_MESSAGE( "unit_test[1]" );
- control.initialize( "." );
- try{
+void schedule_module_test()
+{
+ l7vs::schedule_module_control &control = l7vs::schedule_module_control::getInstance();
+ l7vs::schedule_module_base *schedule_module_wrr = NULL;
+
+ // unit_test[1] インスタンス作成のテスト
+ BOOST_MESSAGE("unit_test[1]");
+ control.initialize(".");
+ try {
// schedule_module_wrr = create_module();
- schedule_module_wrr = control.load_module( SM1 );
- }
- catch(...){
+ schedule_module_wrr = control.load_module(SM1);
+ } catch (...) {
// BOOST_ERROR( "exception : create_module" );
- BOOST_ERROR( "exception : load_module" );
- }
- BOOST_CHECK( NULL != schedule_module_wrr );
-
- // unit_test[2] get_nameメソッドのテスト
- BOOST_MESSAGE( "unit_test[2]" );
- BOOST_CHECK_EQUAL( CHECK_NAME, schedule_module_wrr->get_name() );
-
- l7vs::module_base::getloglevel_func_type getloglevel = boost::bind( &( l7vs::Logger::getLogLevel ), l7vs::LOG_CAT_SCHEDULE );
- l7vs::module_base::logger_func_type putLogFatal = boost::bind( &( l7vs::Logger::putLogFatal ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogError = boost::bind( &( l7vs::Logger::putLogError ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogWarn = boost::bind( &( l7vs::Logger::putLogWarn ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogInfo = boost::bind( &( l7vs::Logger::putLogInfo ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
- l7vs::module_base::logger_func_type putLogDebug = boost::bind( &( l7vs::Logger::putLogDebug ), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4 );
-
- // unit_test[3] init_logger_functionsメソッドのテスト
- BOOST_MESSAGE( "unit_test[3]" );
- schedule_module_wrr->init_logger_functions( getloglevel,
- putLogFatal,
- putLogError,
- putLogWarn,
- putLogInfo,
- putLogDebug);
-
- // unit_test[4] initializeメソッドのテスト
- BOOST_MESSAGE( "unit_test[4]" );
- schedule_module_wrr->initialize();
-
- boost::asio::ip::tcp::endpoint endpoint1( boost::asio::ip::address::from_string( "10.144.169.87" ), 22 ) ;
- boost::asio::ip::udp::endpoint endpoint2( boost::asio::ip::address::from_string( "10.144.169.86" ), 21 ) ;
-
- // unit_test[5] initializeメソッドのテスト2(派生クラスにgetter/setterを追加してprotected変数の確認)
- BOOST_MESSAGE( "unit_test[5]" );
- l7vs::schedule_module_weighted_round_robin_fake schedule_module_wrr_fake ;
- BOOST_CHECK_EQUAL( CHECK_NAME, schedule_module_wrr_fake.get_name() );
-
- schedule_module_wrr_fake.set_tcp_endpoint( endpoint1 );
- schedule_module_wrr_fake.set_udp_endpoint( endpoint2 );
-
- schedule_module_wrr_fake.set_currentWeight( 5 );
- schedule_module_wrr_fake.set_maxWeight( 10 );
- schedule_module_wrr_fake.set_gcd( 1 );
-
- BOOST_CHECK( schedule_module_wrr_fake.get_tcp_endpoint() == endpoint1 );
- BOOST_CHECK( schedule_module_wrr_fake.get_udp_endpoint() == endpoint2 );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.get_currentWeight(), 5 );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.get_maxWeight(), 10 );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.get_gcd(), 1 );
-
- schedule_module_wrr_fake.initialize();
- BOOST_CHECK( schedule_module_wrr_fake.get_tcp_endpoint() != endpoint1 );
- BOOST_CHECK( schedule_module_wrr_fake.get_udp_endpoint() != endpoint2 );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.get_currentWeight(), 0 );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.get_maxWeight(), 0 );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.get_gcd(), 0 );
-
- // unit_test[6] is_tcpメソッドのテスト
- BOOST_MESSAGE( "unit_test[6]" );
- BOOST_CHECK_EQUAL( true, schedule_module_wrr->is_tcp() );
-
- // unit_test[7] is_udpメソッドのテスト
- BOOST_MESSAGE( "unit_test[7]" );
- BOOST_CHECK_EQUAL( true, schedule_module_wrr->is_udp() );
-
- boost::thread::id thread_id;
- l7vs::schedule_module_base::rslist_type rs_list;
- l7vs::realserver server1, server2, server3, server4;
-
- l7vs::schedule_module_base::rslist_iterator_begin_func_type rslist_begin;
- l7vs::schedule_module_base::rslist_iterator_end_func_type rslist_end;
- l7vs::schedule_module_base::rslist_iterator_next_func_type rslist_next;
-
- // unit_test[8] handle_schedule(tcp)メソッドのテスト(boost::functionのempty評価のため空のままイテレターメソッドを渡す endpoint1は更新されない)
- BOOST_MESSAGE( "unit_test[8]" );
- boost::asio::ip::tcp::endpoint endpoint3 ;
-
- endpoint1 = endpoint3 ;
-
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( endpoint3 == endpoint1 );
-
- // unit_test[9] handle_schedule(tcp)メソッドのテスト2(リストの内容が空 endpoint1は更新されない)
- BOOST_MESSAGE( "unit_test[9]" );
- rslist_begin = boost::bind( &list_begin, &rs_list );
- rslist_end = boost::bind( &list_end, &rs_list );
- rslist_next = boost::bind( &list_next, _1 );
-
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( endpoint3 == endpoint1 );
-
- // unit_test[10] handle_schedule(tcp)メソッドのテスト3(リストの項目が全て振り分け無し endpoint1は更新されない)
- BOOST_MESSAGE( "unit_test[10]" );
- server1.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.87" ), 22 ) ;
- server1.weight = 0;
- rs_list.push_back( server1 );
- server2.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.86" ), 21 ) ;
- server2.weight = 0;
- rs_list.push_back( server2 );
- server3.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.85" ), 20 ) ;
- server3.weight = 0;
- rs_list.push_back( server3 );
- server4.tcp_endpoint = boost::asio::ip::tcp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.84" ), 19 ) ;
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( endpoint3 == endpoint1 );
-
- // unit_test[11] handle_schedule(tcp)メソッドのテスト4(重みが設定されているので最大値のserver3が返る)
- BOOST_MESSAGE( "unit_test[11]" );
- rs_list.clear();
- server1.weight = 2;
- rs_list.push_back( server1 );
- server2.weight = 1;
- rs_list.push_back( server2 );
- server3.weight = 3;
- rs_list.push_back( server3 );
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server3.tcp_endpoint == endpoint1 );
-
- // unit_test[12] handle_schedule(tcp)メソッドのテスト5(一巡し重みが設定されているのでserver1が返る)
- BOOST_MESSAGE( "unit_test[12]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server1.tcp_endpoint == endpoint1 );
-
- // unit_test[13] handle_schedule(tcp)メソッドのテスト6(重みが設定されているので次のserver3が返る)
- BOOST_MESSAGE( "unit_test[13]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server3.tcp_endpoint == endpoint1 );
-
- // unit_test[14] handle_schedule(tcp)メソッドのテスト7(一巡し重みが設定されているのでserver1が返る)
- BOOST_MESSAGE( "unit_test[14]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server1.tcp_endpoint == endpoint1 );
-
- // unit_test[15] handle_schedule(tcp)メソッドのテスト8(重みが設定されているので次のserver2が返る)
- BOOST_MESSAGE( "unit_test[15]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server2.tcp_endpoint == endpoint1 );
-
- // unit_test[16] handle_schedule(tcp)メソッドのテスト9(重みが設定されているので次のserver3が返る)
- BOOST_MESSAGE( "unit_test[16]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server3.tcp_endpoint == endpoint1 );
-
- // unit_test[17] handle_schedule(tcp)メソッドのテスト10(一巡し重みが設定されているので最大値のserver3が返る)
- BOOST_MESSAGE( "unit_test[17]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server3.tcp_endpoint == endpoint1 );
-
-
- // unit_test[18] handle_schedule(udp)メソッドのテスト(boost::functionのempty評価のため空のままイテレターメソッドを渡す endpoint2は更新されない)
- BOOST_MESSAGE( "unit_test[18]" );
- boost::asio::ip::udp::endpoint endpoint4 ;
-
- rslist_begin.clear();
- rslist_end.clear();
- rslist_next.clear();
-
- rs_list.clear();
-
- endpoint2 = endpoint4 ;
-
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( endpoint4 == endpoint2 );
-
- // unit_test[19] handle_schedule(udp)メソッドのテスト2(リストの内容が空 endpoint2は更新されない)
- BOOST_MESSAGE( "unit_test[19]" );
- rslist_begin = boost::bind( &list_begin, &rs_list );
- rslist_end = boost::bind( &list_end, &rs_list );
- rslist_next = boost::bind( &list_next, _1 );
-
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( endpoint4 == endpoint2 );
-
- // unit_test[20] handle_schedule(udp)メソッドのテスト3(リストの項目が全て振り分け無し endpoint2は更新されない)
- BOOST_MESSAGE( "unit_test[20]" );
- rs_list.clear();
- server1.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.87" ), 22 ) ;
- server1.weight = 0;
- rs_list.push_back( server1 );
- server2.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.86" ), 21 ) ;
- server2.weight = 0;
- rs_list.push_back( server2 );
- server3.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.85" ), 20 ) ;
- server3.weight = 0;
- rs_list.push_back( server3 );
- server4.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.84" ), 19 ) ;
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( endpoint4 == endpoint2 );
-
- // unit_test[21] handle_schedule(udp)メソッドのテスト4(重みが設定されているので最大値のserver3が返る)
- BOOST_MESSAGE( "unit_test[21]" );
- rs_list.clear();
- server1.weight = 2;
- rs_list.push_back( server1 );
- server2.weight = 1;
- rs_list.push_back( server2 );
- server3.weight = 3;
- rs_list.push_back( server3 );
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( server3.udp_endpoint == endpoint2 );
-
- // unit_test[22] handle_schedule(udp)メソッドのテスト5(一巡し重みが設定されているのでserver1が返る)
- BOOST_MESSAGE( "unit_test[22]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( server1.udp_endpoint == endpoint2 );
-
- // unit_test[23] handle_schedule(udp)メソッドのテスト6(重みが設定されているので次のserver3が返る)
- BOOST_MESSAGE( "unit_test[23]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( server3.udp_endpoint == endpoint2 );
-
- // unit_test[24] handle_schedule(udp)メソッドのテスト7(一巡し重みが設定されているのでserver1が返る)
- BOOST_MESSAGE( "unit_test[24]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( server1.udp_endpoint == endpoint2 );
-
- // unit_test[25] handle_schedule(udp)メソッドのテスト8(重みが設定されているので次のserver2が返る)
- BOOST_MESSAGE( "unit_test[25]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( server2.udp_endpoint == endpoint2 );
-
- // unit_test[26] handle_schedule(udp)メソッドのテスト9(重みが設定されているので次のserver3が返る)
- BOOST_MESSAGE( "unit_test[26]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( server3.udp_endpoint == endpoint2 );
-
- // unit_test[27] handle_schedule(udp)メソッドのテスト10(一巡し重みが設定されているので最大値のserver3が返る)
- BOOST_MESSAGE( "unit_test[27]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint2 ) ;
- BOOST_CHECK( server3.udp_endpoint == endpoint2 );
-
- // unit_test[28] replication_interruptメソッドのテスト
- BOOST_MESSAGE( "unit_test[28]" );
- schedule_module_wrr->replication_interrupt();
-
- // unit_test[29] sched_wrr_getMaxWeightメソッドのテスト(最大値3)
- BOOST_MESSAGE( "unit_test[29]" );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.sched_wrr_getMaxWeight_wrapper( rslist_begin, rslist_end, rslist_next ), 3 );
-
- // unit_test[30] sched_wrr_getGCDメソッドのテスト(最大公約数1)
- BOOST_MESSAGE( "unit_test[30]" );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.sched_wrr_getGCD_wrapper( rslist_begin, rslist_end, rslist_next), 1);
-
- // unit_test[31] sched_wrr_getMaxWeightメソッドのテスト2(内部領域に格納されているか確認)
- BOOST_MESSAGE( "unit_test[31]" );
- schedule_module_wrr_fake.handle_init( rslist_begin, rslist_end, rslist_next );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.get_maxWeight(), 3 );
-
- // unit_test[32] sched_wrr_getGCDメソッドのテスト2(内部領域に格納されているか確認)
- BOOST_MESSAGE( "unit_test[32]" );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.get_gcd(), 1 );
-
- rslist_begin.clear();
- rslist_end.clear();
- rslist_next.clear();
-
- rs_list.clear();
-
- // unit_test[33] sched_wrr_service_initメソッドのテスト(リストの内容が空)
- BOOST_MESSAGE( "unit_test[33]" );
- rslist_begin = boost::bind( &list_begin, &rs_list );
- rslist_end = boost::bind( &list_end, &rs_list );
- rslist_next = boost::bind( &list_next, _1 );
-
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.sched_wrr_service_init_wrapper( rslist_begin, rslist_end, rslist_next ), -1 );
-
- // unit_test[34] sched_wrr_service_initメソッドのテスト2(リストの項目が全て振り分け無し)
- BOOST_MESSAGE( "unit_test[34]" );
- rs_list.clear();
- server1.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.87" ), 22 ) ;
- server1.weight = 0;
- rs_list.push_back( server1 );
- server2.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.86" ), 21 ) ;
- server2.weight = 0;
- rs_list.push_back( server2 );
- server3.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.85" ), 20 ) ;
- server3.weight = 0;
- rs_list.push_back( server3 );
- server4.udp_endpoint = boost::asio::ip::udp::endpoint ( boost::asio::ip::address::from_string( "10.144.169.84" ), 19 ) ;
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.sched_wrr_service_init_wrapper( rslist_begin, rslist_end, rslist_next ), -1 );
-
- // unit_test[35] sched_wrr_service_initメソッドのテスト3(重みが設定されている)
- BOOST_MESSAGE( "unit_test[35]" );
- rs_list.clear();
- server1.weight = 2;
- rs_list.push_back( server1 );
- server2.weight = 1;
- rs_list.push_back( server2 );
- server3.weight = 3;
- rs_list.push_back( server3 );
- server4.weight = 0;
- rs_list.push_back( server4 );
-
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.sched_wrr_service_init_wrapper( rslist_begin, rslist_end, rslist_next ), 0 );
-
- // unit_test[36] sched_wrr_gcdメソッドのテスト(最大公約数2)
- BOOST_MESSAGE( "unit_test[36]" );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.sched_wrr_gcd_wrapper( 2, 4 ), 2 );
-
- // unit_test[37] sched_wrr_gcdメソッドのテスト2(最大公約数1)
- BOOST_MESSAGE( "unit_test[37]" );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.sched_wrr_gcd_wrapper( 1, 3 ), 1 );
-
- // unit_test[38] sched_wrr_gcdメソッドのテスト3(最大公約数3)
- BOOST_MESSAGE( "unit_test[38]" );
- BOOST_CHECK_EQUAL( schedule_module_wrr_fake.sched_wrr_gcd_wrapper( 6, 3 ), 3 );
-
-
- // unit_test[39] handle_schedule(tcp)メソッドのテスト(重みが設定されているので最大値のserver2が返る)
- BOOST_MESSAGE( "unit_test[39]" );
- rs_list.clear();
- server1.weight = 1;
- rs_list.push_back( server1 );
- server2.weight = 2;
- rs_list.push_back( server2 );
-
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server2.tcp_endpoint == endpoint1 );
-
- // unit_test[40] handle_schedule(tcp)メソッドのテスト2(一巡し重みが設定されているのでserver1が返る)
- BOOST_MESSAGE( "unit_test[40]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server1.tcp_endpoint == endpoint1 );
-
- // unit_test[41] handle_schedule(tcp)メソッドのテスト3(重みが設定されているので次のserver2が返る)
- BOOST_MESSAGE( "unit_test[41]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server2.tcp_endpoint == endpoint1 );
-
- // unit_test[42] handle_schedule(tcp)メソッドのテスト4(一巡し重みが設定されているので最大値のserver2が返る)
- BOOST_MESSAGE( "unit_test[42]" );
- schedule_module_wrr->handle_schedule( thread_id, rslist_begin, rslist_end, rslist_next, endpoint1 ) ;
- BOOST_CHECK( server2.tcp_endpoint == endpoint1 );
+ BOOST_ERROR("exception : load_module");
+ }
+ BOOST_CHECK(NULL != schedule_module_wrr);
+
+ // unit_test[2] get_nameメソッドのテスト
+ BOOST_MESSAGE("unit_test[2]");
+ BOOST_CHECK_EQUAL(CHECK_NAME, schedule_module_wrr->get_name());
+
+ l7vs::module_base::getloglevel_func_type getloglevel = boost::bind(&(l7vs::Logger::getLogLevel), l7vs::LOG_CAT_SCHEDULE);
+ l7vs::module_base::logger_func_type putLogFatal = boost::bind(&(l7vs::Logger::putLogFatal), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogError = boost::bind(&(l7vs::Logger::putLogError), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogWarn = boost::bind(&(l7vs::Logger::putLogWarn), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogInfo = boost::bind(&(l7vs::Logger::putLogInfo), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+ l7vs::module_base::logger_func_type putLogDebug = boost::bind(&(l7vs::Logger::putLogDebug), l7vs::LOG_CAT_SCHEDULE, _1, _2, _3, _4);
+
+ // unit_test[3] init_logger_functionsメソッドのテスト
+ BOOST_MESSAGE("unit_test[3]");
+ schedule_module_wrr->init_logger_functions(getloglevel,
+ putLogFatal,
+ putLogError,
+ putLogWarn,
+ putLogInfo,
+ putLogDebug);
+
+ // unit_test[4] initializeメソッドのテスト
+ BOOST_MESSAGE("unit_test[4]");
+ schedule_module_wrr->initialize();
+
+ boost::asio::ip::tcp::endpoint endpoint1(boost::asio::ip::address::from_string("10.144.169.87"), 22) ;
+ boost::asio::ip::udp::endpoint endpoint2(boost::asio::ip::address::from_string("10.144.169.86"), 21) ;
+
+ // unit_test[5] initializeメソッドのテスト2(派生クラスにgetter/setterを追加してprotected変数の確認)
+ BOOST_MESSAGE("unit_test[5]");
+ l7vs::schedule_module_weighted_round_robin_fake schedule_module_wrr_fake ;
+ BOOST_CHECK_EQUAL(CHECK_NAME, schedule_module_wrr_fake.get_name());
+
+ schedule_module_wrr_fake.set_tcp_endpoint(endpoint1);
+ schedule_module_wrr_fake.set_udp_endpoint(endpoint2);
+
+ schedule_module_wrr_fake.set_currentWeight(5);
+ schedule_module_wrr_fake.set_maxWeight(10);
+ schedule_module_wrr_fake.set_gcd(1);
+
+ BOOST_CHECK(schedule_module_wrr_fake.get_tcp_endpoint() == endpoint1);
+ BOOST_CHECK(schedule_module_wrr_fake.get_udp_endpoint() == endpoint2);
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.get_currentWeight(), 5);
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.get_maxWeight(), 10);
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.get_gcd(), 1);
+
+ schedule_module_wrr_fake.initialize();
+ BOOST_CHECK(schedule_module_wrr_fake.get_tcp_endpoint() != endpoint1);
+ BOOST_CHECK(schedule_module_wrr_fake.get_udp_endpoint() != endpoint2);
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.get_currentWeight(), 0);
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.get_maxWeight(), 0);
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.get_gcd(), 0);
+
+ // unit_test[6] is_tcpメソッドのテスト
+ BOOST_MESSAGE("unit_test[6]");
+ BOOST_CHECK_EQUAL(true, schedule_module_wrr->is_tcp());
+
+ // unit_test[7] is_udpメソッドのテスト
+ BOOST_MESSAGE("unit_test[7]");
+ BOOST_CHECK_EQUAL(true, schedule_module_wrr->is_udp());
+
+ boost::thread::id thread_id;
+ l7vs::schedule_module_base::rslist_type rs_list;
+ l7vs::realserver server1, server2, server3, server4;
+
+ l7vs::schedule_module_base::rslist_iterator_begin_func_type rslist_begin;
+ l7vs::schedule_module_base::rslist_iterator_end_func_type rslist_end;
+ l7vs::schedule_module_base::rslist_iterator_next_func_type rslist_next;
+
+ // unit_test[8] handle_schedule(tcp)メソッドのテスト(boost::functionのempty評価のため空のままイテレターメソッドを渡す endpoint1は更新されない)
+ BOOST_MESSAGE("unit_test[8]");
+ boost::asio::ip::tcp::endpoint endpoint3 ;
+
+ endpoint1 = endpoint3 ;
+
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(endpoint3 == endpoint1);
+
+ // unit_test[9] handle_schedule(tcp)メソッドのテスト2(リストの内容が空 endpoint1は更新されない)
+ BOOST_MESSAGE("unit_test[9]");
+ rslist_begin = boost::bind(&list_begin, &rs_list);
+ rslist_end = boost::bind(&list_end, &rs_list);
+ rslist_next = boost::bind(&list_next, _1);
+
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(endpoint3 == endpoint1);
+
+ // unit_test[10] handle_schedule(tcp)メソッドのテスト3(リストの項目が全て振り分け無し endpoint1は更新されない)
+ BOOST_MESSAGE("unit_test[10]");
+ server1.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.87"), 22) ;
+ server1.weight = 0;
+ rs_list.push_back(server1);
+ server2.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.86"), 21) ;
+ server2.weight = 0;
+ rs_list.push_back(server2);
+ server3.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.85"), 20) ;
+ server3.weight = 0;
+ rs_list.push_back(server3);
+ server4.tcp_endpoint = boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("10.144.169.84"), 19) ;
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(endpoint3 == endpoint1);
+
+ // unit_test[11] handle_schedule(tcp)メソッドのテスト4(重みが設定されているので最大値のserver3が返る)
+ BOOST_MESSAGE("unit_test[11]");
+ rs_list.clear();
+ server1.weight = 2;
+ rs_list.push_back(server1);
+ server2.weight = 1;
+ rs_list.push_back(server2);
+ server3.weight = 3;
+ rs_list.push_back(server3);
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server3.tcp_endpoint == endpoint1);
+
+ // unit_test[12] handle_schedule(tcp)メソッドのテスト5(一巡し重みが設定されているのでserver1が返る)
+ BOOST_MESSAGE("unit_test[12]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server1.tcp_endpoint == endpoint1);
+
+ // unit_test[13] handle_schedule(tcp)メソッドのテスト6(重みが設定されているので次のserver3が返る)
+ BOOST_MESSAGE("unit_test[13]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server3.tcp_endpoint == endpoint1);
+
+ // unit_test[14] handle_schedule(tcp)メソッドのテスト7(一巡し重みが設定されているのでserver1が返る)
+ BOOST_MESSAGE("unit_test[14]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server1.tcp_endpoint == endpoint1);
+
+ // unit_test[15] handle_schedule(tcp)メソッドのテスト8(重みが設定されているので次のserver2が返る)
+ BOOST_MESSAGE("unit_test[15]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server2.tcp_endpoint == endpoint1);
+
+ // unit_test[16] handle_schedule(tcp)メソッドのテスト9(重みが設定されているので次のserver3が返る)
+ BOOST_MESSAGE("unit_test[16]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server3.tcp_endpoint == endpoint1);
+
+ // unit_test[17] handle_schedule(tcp)メソッドのテスト10(一巡し重みが設定されているので最大値のserver3が返る)
+ BOOST_MESSAGE("unit_test[17]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server3.tcp_endpoint == endpoint1);
+
+
+ // unit_test[18] handle_schedule(udp)メソッドのテスト(boost::functionのempty評価のため空のままイテレターメソッドを渡す endpoint2は更新されない)
+ BOOST_MESSAGE("unit_test[18]");
+ boost::asio::ip::udp::endpoint endpoint4 ;
+
+ rslist_begin.clear();
+ rslist_end.clear();
+ rslist_next.clear();
+
+ rs_list.clear();
+
+ endpoint2 = endpoint4 ;
+
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(endpoint4 == endpoint2);
+
+ // unit_test[19] handle_schedule(udp)メソッドのテスト2(リストの内容が空 endpoint2は更新されない)
+ BOOST_MESSAGE("unit_test[19]");
+ rslist_begin = boost::bind(&list_begin, &rs_list);
+ rslist_end = boost::bind(&list_end, &rs_list);
+ rslist_next = boost::bind(&list_next, _1);
+
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(endpoint4 == endpoint2);
+
+ // unit_test[20] handle_schedule(udp)メソッドのテスト3(リストの項目が全て振り分け無し endpoint2は更新されない)
+ BOOST_MESSAGE("unit_test[20]");
+ rs_list.clear();
+ server1.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.87"), 22) ;
+ server1.weight = 0;
+ rs_list.push_back(server1);
+ server2.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.86"), 21) ;
+ server2.weight = 0;
+ rs_list.push_back(server2);
+ server3.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.85"), 20) ;
+ server3.weight = 0;
+ rs_list.push_back(server3);
+ server4.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.84"), 19) ;
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(endpoint4 == endpoint2);
+
+ // unit_test[21] handle_schedule(udp)メソッドのテスト4(重みが設定されているので最大値のserver3が返る)
+ BOOST_MESSAGE("unit_test[21]");
+ rs_list.clear();
+ server1.weight = 2;
+ rs_list.push_back(server1);
+ server2.weight = 1;
+ rs_list.push_back(server2);
+ server3.weight = 3;
+ rs_list.push_back(server3);
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(server3.udp_endpoint == endpoint2);
+
+ // unit_test[22] handle_schedule(udp)メソッドのテスト5(一巡し重みが設定されているのでserver1が返る)
+ BOOST_MESSAGE("unit_test[22]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(server1.udp_endpoint == endpoint2);
+
+ // unit_test[23] handle_schedule(udp)メソッドのテスト6(重みが設定されているので次のserver3が返る)
+ BOOST_MESSAGE("unit_test[23]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(server3.udp_endpoint == endpoint2);
+
+ // unit_test[24] handle_schedule(udp)メソッドのテスト7(一巡し重みが設定されているのでserver1が返る)
+ BOOST_MESSAGE("unit_test[24]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(server1.udp_endpoint == endpoint2);
+
+ // unit_test[25] handle_schedule(udp)メソッドのテスト8(重みが設定されているので次のserver2が返る)
+ BOOST_MESSAGE("unit_test[25]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(server2.udp_endpoint == endpoint2);
+
+ // unit_test[26] handle_schedule(udp)メソッドのテスト9(重みが設定されているので次のserver3が返る)
+ BOOST_MESSAGE("unit_test[26]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(server3.udp_endpoint == endpoint2);
+
+ // unit_test[27] handle_schedule(udp)メソッドのテスト10(一巡し重みが設定されているので最大値のserver3が返る)
+ BOOST_MESSAGE("unit_test[27]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint2) ;
+ BOOST_CHECK(server3.udp_endpoint == endpoint2);
+
+ // unit_test[28] replication_interruptメソッドのテスト
+ BOOST_MESSAGE("unit_test[28]");
+ schedule_module_wrr->replication_interrupt();
+
+ // unit_test[29] sched_wrr_getMaxWeightメソッドのテスト(最大値3)
+ BOOST_MESSAGE("unit_test[29]");
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.sched_wrr_getMaxWeight_wrapper(rslist_begin, rslist_end, rslist_next), 3);
+
+ // unit_test[30] sched_wrr_getGCDメソッドのテスト(最大公約数1)
+ BOOST_MESSAGE("unit_test[30]");
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.sched_wrr_getGCD_wrapper(rslist_begin, rslist_end, rslist_next), 1);
+
+ // unit_test[31] sched_wrr_getMaxWeightメソッドのテスト2(内部領域に格納されているか確認)
+ BOOST_MESSAGE("unit_test[31]");
+ schedule_module_wrr_fake.handle_init(rslist_begin, rslist_end, rslist_next);
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.get_maxWeight(), 3);
+
+ // unit_test[32] sched_wrr_getGCDメソッドのテスト2(内部領域に格納されているか確認)
+ BOOST_MESSAGE("unit_test[32]");
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.get_gcd(), 1);
+
+ rslist_begin.clear();
+ rslist_end.clear();
+ rslist_next.clear();
+
+ rs_list.clear();
+
+ // unit_test[33] sched_wrr_service_initメソッドのテスト(リストの内容が空)
+ BOOST_MESSAGE("unit_test[33]");
+ rslist_begin = boost::bind(&list_begin, &rs_list);
+ rslist_end = boost::bind(&list_end, &rs_list);
+ rslist_next = boost::bind(&list_next, _1);
+
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.sched_wrr_service_init_wrapper(rslist_begin, rslist_end, rslist_next), -1);
+
+ // unit_test[34] sched_wrr_service_initメソッドのテスト2(リストの項目が全て振り分け無し)
+ BOOST_MESSAGE("unit_test[34]");
+ rs_list.clear();
+ server1.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.87"), 22) ;
+ server1.weight = 0;
+ rs_list.push_back(server1);
+ server2.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.86"), 21) ;
+ server2.weight = 0;
+ rs_list.push_back(server2);
+ server3.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.85"), 20) ;
+ server3.weight = 0;
+ rs_list.push_back(server3);
+ server4.udp_endpoint = boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string("10.144.169.84"), 19) ;
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.sched_wrr_service_init_wrapper(rslist_begin, rslist_end, rslist_next), -1);
+
+ // unit_test[35] sched_wrr_service_initメソッドのテスト3(重みが設定されている)
+ BOOST_MESSAGE("unit_test[35]");
+ rs_list.clear();
+ server1.weight = 2;
+ rs_list.push_back(server1);
+ server2.weight = 1;
+ rs_list.push_back(server2);
+ server3.weight = 3;
+ rs_list.push_back(server3);
+ server4.weight = 0;
+ rs_list.push_back(server4);
+
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.sched_wrr_service_init_wrapper(rslist_begin, rslist_end, rslist_next), 0);
+
+ // unit_test[36] sched_wrr_gcdメソッドのテスト(最大公約数2)
+ BOOST_MESSAGE("unit_test[36]");
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.sched_wrr_gcd_wrapper(2, 4), 2);
+
+ // unit_test[37] sched_wrr_gcdメソッドのテスト2(最大公約数1)
+ BOOST_MESSAGE("unit_test[37]");
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.sched_wrr_gcd_wrapper(1, 3), 1);
+
+ // unit_test[38] sched_wrr_gcdメソッドのテスト3(最大公約数3)
+ BOOST_MESSAGE("unit_test[38]");
+ BOOST_CHECK_EQUAL(schedule_module_wrr_fake.sched_wrr_gcd_wrapper(6, 3), 3);
+
+
+ // unit_test[39] handle_schedule(tcp)メソッドのテスト(重みが設定されているので最大値のserver2が返る)
+ BOOST_MESSAGE("unit_test[39]");
+ rs_list.clear();
+ server1.weight = 1;
+ rs_list.push_back(server1);
+ server2.weight = 2;
+ rs_list.push_back(server2);
+
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server2.tcp_endpoint == endpoint1);
+
+ // unit_test[40] handle_schedule(tcp)メソッドのテスト2(一巡し重みが設定されているのでserver1が返る)
+ BOOST_MESSAGE("unit_test[40]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server1.tcp_endpoint == endpoint1);
+
+ // unit_test[41] handle_schedule(tcp)メソッドのテスト3(重みが設定されているので次のserver2が返る)
+ BOOST_MESSAGE("unit_test[41]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server2.tcp_endpoint == endpoint1);
+
+ // unit_test[42] handle_schedule(tcp)メソッドのテスト4(一巡し重みが設定されているので最大値のserver2が返る)
+ BOOST_MESSAGE("unit_test[42]");
+ schedule_module_wrr->handle_schedule(thread_id, rslist_begin, rslist_end, rslist_next, endpoint1) ;
+ BOOST_CHECK(server2.tcp_endpoint == endpoint1);
// destroy_module( schedule_module_wrr );
- control.unload_module( schedule_module_wrr );
- control.finalize();
+ control.unload_module(schedule_module_wrr);
+ control.finalize();
}
//l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type& list ){
// return(list.end());
//}
-l7vs::schedule_module_base::rslist_type::iterator list_begin( l7vs::schedule_module_base::rslist_type* list ){
- return(list->begin());
+l7vs::schedule_module_base::rslist_type::iterator list_begin(l7vs::schedule_module_base::rslist_type *list)
+{
+ return(list->begin());
}
-l7vs::schedule_module_base::rslist_type::iterator list_end( l7vs::schedule_module_base::rslist_type* list ){
- return(list->end());
+l7vs::schedule_module_base::rslist_type::iterator list_end(l7vs::schedule_module_base::rslist_type *list)
+{
+ return(list->end());
}
-l7vs::schedule_module_base::rslist_type::iterator list_next( l7vs::schedule_module_base::rslist_type::iterator itr ){
- return(++itr);
+l7vs::schedule_module_base::rslist_type::iterator list_next(l7vs::schedule_module_base::rslist_type::iterator itr)
+{
+ return(++itr);
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- l7vs::Logger logger;
- l7vs::Parameter parameter;
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ l7vs::Logger logger;
+ l7vs::Parameter parameter;
- logger.loadConf();
+ logger.loadConf();
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "schedule_module_wrr_test" );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("schedule_module_wrr_test");
- // add test case to test suite
- ts->add( BOOST_TEST_CASE( &schedule_module_test ) );
+ // add test case to test suite
+ ts->add(BOOST_TEST_CASE(&schedule_module_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
-#ifndef LOGGER_IMPL_ACCESS_H
-#define LOGGER_IMPL_ACCESS_H
+#ifndef LOGGER_IMPL_ACCESS_H
+#define LOGGER_IMPL_ACCESS_H
//#include <sstream>
//#include <map>
//namespace log4cxx
//{
-// typedef helpers::ObjectPtrT<RollingFileAppender> RollingFileAppenderPtr;
+// typedef helpers::ObjectPtrT<RollingFileAppender> RollingFileAppenderPtr;
//}
namespace l7vs{
logger_implement_access(const std::string &aclogFilename);
virtual ~logger_implement_access(){};
- //! initialze function
-// virtual bool init(appender_property& access_log_default_property,const std::map<std::string,std::string>& rotate);
+ //! initialze function
+// virtual bool init(appender_property& access_log_default_property,const std::map<std::string,std::string>& rotate);
/*!
- * output info log.
- *
- * @param category that logging matter occured
- * @param log message id
- * @param log message
- * @param current file
- * @param current line
- * @retrun void
- */
- virtual inline void putLog(
- const std::string& vsinfo,
- const std::string& cl_con_org,
- const std::string& rs_con_org,
- const std::string& rs_con_dest,
+ * output info log.
+ *
+ * @param category that logging matter occured
+ * @param log message id
+ * @param log message
+ * @param current file
+ * @param current line
+ * @retrun void
+ */
+ virtual inline void putLog(
+ const std::string& vsinfo,
+ const std::string& cl_con_org,
+ const std::string& rs_con_org,
+ const std::string& rs_con_dest,
const std::string& msg){
putLog_vsinfo = vsinfo;
putLog_cl_con_org = cl_con_org;
putLog_rs_con_org = rs_con_org;
putLog_rs_con_dest =rs_con_dest;
putLog_msg = msg;
- };
+ };
std::string putLog_vsinfo;
std::string putLog_cl_con_org;
std::string putLog_rs_con_dest;
std::string putLog_msg;
-// void addRef();
+// void addRef();
-// void releaseRef();
+// void releaseRef();
-// bool operator<=(const int access_num );
+// bool operator<=(const int access_num );
// std::string getAcLogFileName(){ return( this->acLogFileName ); }
// std::string acLogFileName;
- //! initialized flag
-// bool initialized;
+ //! initialized flag
+// bool initialized;
- //! hostname
+ //! hostname
// appender_property access_log_property;
// accesslog_rotate_map_type aclog_args;
};
-#endif // LOGGER_IMPL_ACCESS_H
+#endif // LOGGER_IMPL_ACCESS_H
bool handshake(boost::system::error_code& ec){
handshake_call_check = true;
ec = handshake_set_ec;
- return handshake_res;
+ return handshake_res;
}
bool handshake_call_check;
bool handshake_res;
int counter;
-class test_thread{
- boost::function<void()> access_func;
- boost::mutex func_mutex;
- boost::thread acc_thread;
- bool stop_flag;
- boost::mutex flag_mutex;
- unsigned int call_cnt;
- void run(){
- for( unsigned int i = 0; i < call_cnt; ++i ){
- {
- boost::mutex::scoped_lock( flag_mutex );
- if( stop_flag )break;
- }
- boost::mutex::scoped_lock( func_mutex );
- access_func();
+class test_thread
+{
+ boost::function<void()> access_func;
+ boost::mutex func_mutex;
+ boost::thread acc_thread;
+ bool stop_flag;
+ boost::mutex flag_mutex;
+ unsigned int call_cnt;
+ void run() {
+ for (unsigned int i = 0; i < call_cnt; ++i) {
+ {
+ boost::mutex::scoped_lock(flag_mutex);
+ if (stop_flag)break;
+ }
+ boost::mutex::scoped_lock(func_mutex);
+ access_func();
+ }
}
- }
public:
- test_thread(unsigned int set_call_cnt = UINT_MAX){ call_cnt = set_call_cnt; }
- ~test_thread(){ stop(); acc_thread.join(); }
- boost::thread::id get_id(){ return acc_thread.get_id(); }
- void start( boost::function<void()> in_func ){
- {
- boost::mutex::scoped_lock( flag_mutex );
- stop_flag = false;
+ test_thread(unsigned int set_call_cnt = UINT_MAX) {
+ call_cnt = set_call_cnt;
+ }
+ ~test_thread() {
+ stop();
+ acc_thread.join();
+ }
+ boost::thread::id get_id() {
+ return acc_thread.get_id();
+ }
+ void start(boost::function<void()> in_func) {
+ {
+ boost::mutex::scoped_lock(flag_mutex);
+ stop_flag = false;
+ }
+ boost::mutex::scoped_lock(func_mutex);
+ access_func = in_func;
+ acc_thread = boost::thread(&test_thread::run, this);
+ }
+ void stop() {
+ boost::mutex::scoped_lock(flag_mutex);
+ stop_flag = true;
}
- boost::mutex::scoped_lock( func_mutex );
- access_func = in_func;
- acc_thread = boost::thread( &test_thread::run, this );
- }
- void stop(){
- boost::mutex::scoped_lock( flag_mutex );
- stop_flag = true;
- }
};
//test case1. 全メソッドの正常動作確認
-void stc_method_test1(){
- counter = 0;
+void stc_method_test1()
+{
+ counter = 0;
// unit_test[1] session_thread_controlオブジェクトの作成
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----1" );
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- l7vs::virtualservice_tcp tcpservice( vsd, rep, element );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----1");
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ l7vs::virtualservice_tcp tcpservice(vsd, rep, element);
// session_type session( new l7vs::tcp_session( tcpservice, dispatcher ) );
- l7vs::tcp_socket_option_info set_sock_opt;
- boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
- bool ssl_virtualservice_mode_flag = false;
- boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
- bool is_session_cache_use = false;
- int handshake_timeout = 300;
-
- l7vs::tcp_session* sess = new l7vs::tcp_session(tcpservice,
- dispatcher,
- set_sock_opt,
- element.tcp_accept_endpoint,
- ssl_virtualservice_mode_flag,
- sslcontext,
- is_session_cache_use,
- handshake_timeout,
- NULL);
-
-
- boost::asio::ip::address address = element.tcp_accept_endpoint.address();
- cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( address );
- cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( "eth0" );
- stc_type stc( new l7vs::session_thread_control( sess,
- vsnic_cpumask, rsnic_cpumask, 0 ) );
+ l7vs::tcp_socket_option_info set_sock_opt;
+ boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
+ bool ssl_virtualservice_mode_flag = false;
+ boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
+ bool is_session_cache_use = false;
+ int handshake_timeout = 300;
+
+ l7vs::tcp_session *sess = new l7vs::tcp_session(tcpservice,
+ dispatcher,
+ set_sock_opt,
+ element.tcp_accept_endpoint,
+ ssl_virtualservice_mode_flag,
+ sslcontext,
+ is_session_cache_use,
+ handshake_timeout,
+ NULL);
+
+
+ boost::asio::ip::address address = element.tcp_accept_endpoint.address();
+ cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask(address);
+ cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask("eth0");
+ stc_type stc(new l7vs::session_thread_control(sess,
+ vsnic_cpumask, rsnic_cpumask, 0));
//
// unit_test[2] get_sessionメソッドのテスト
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----2" );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----2");
// BOOST_CHECK_EQUAL( session, stc->get_session() );
//スレッドID取得のテスト
// unit_test[3] 上りスレッドID取得
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----3" );
- std::cout << "upthread id : " << stc->get_upthread_id() << std::endl;
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----3");
+ std::cout << "upthread id : " << stc->get_upthread_id() << std::endl;
// unit_test[4] 下りスレッドID取得
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----4" );
- std::cout << "downthread id : " << stc->get_downthread_id() << std::endl;
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----4");
+ std::cout << "downthread id : " << stc->get_downthread_id() << std::endl;
//上りスレッド
//パターン1
// unit_test[5] 上りスレッドスタート
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----5" );
- stc->startupstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----5");
+ stc->startupstream();
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 4000000 );
+ usleep(4000000);
// unit_test[6] 上りスレッドストップ
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----6" );
- stc->stopupstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----6");
+ stc->stopupstream();
//下りスレッド
// unit_test[7] 下りスレッドスタート
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----7" );
- stc->startdownstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----7");
+ stc->startdownstream();
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 4000000 );
+ usleep(4000000);
// unit_test[8] 下りスレッドストップ
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----8" );
- stc->stopdownstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----8");
+ stc->stopdownstream();
// unit_test[9] sessionの上りスレッドが外から停止された場合
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----9" );
- stc->startupstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----9");
+ stc->startupstream();
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 1000 );
+ usleep(1000);
// stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_ENABLE );
- stc->session_sorry_enable();
- usleep( 1000 );
- stc->stopupstream();
+ stc->session_sorry_enable();
+ usleep(1000);
+ stc->stopupstream();
// stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_DISABLE );
- stc->session_sorry_disable();
+ stc->session_sorry_disable();
// unit_test[10] sessionの下りスレッドが外から停止された場合
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----10" );
- stc->startdownstream();
- usleep( 1000 );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----10");
+ stc->startdownstream();
+ usleep(1000);
// stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_ON );
- stc->session_pause_on();
- usleep( 1000 );
- stc->stopdownstream();
+ stc->session_pause_on();
+ usleep(1000);
+ stc->stopdownstream();
// stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_OFF );
- stc->session_pause_off();
+ stc->session_pause_off();
// unit_test[12] 停止スレッドの待ち合わせ
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----12" );
- stc->join();
- usleep( 1 );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----12");
+ stc->join();
+ usleep(1);
}
//test case2. スレッドの停止と再開
-void stc_method_test2(){
+void stc_method_test2()
+{
//session_thread_controlオブジェクトの作成
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- l7vs::virtualservice_tcp tcpservice( vsd, rep, element );
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ l7vs::virtualservice_tcp tcpservice(vsd, rep, element);
// session_type session( new l7vs::tcp_session( tcpservice, dispatcher ) );
- l7vs::tcp_socket_option_info set_sock_opt;
- boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
- bool ssl_virtualservice_mode_flag = false;
- boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
- bool is_session_cache_use = false;
- int handshake_timeout = 300;
-
- l7vs::tcp_session* sess = new l7vs::tcp_session(tcpservice,
- dispatcher,
- set_sock_opt,
- element.tcp_accept_endpoint,
- ssl_virtualservice_mode_flag,
- sslcontext,
- is_session_cache_use,
- handshake_timeout,
- NULL);
-
-
- boost::asio::ip::address address = element.tcp_accept_endpoint.address();
- cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( address );
- cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( "eth0" );
- stc_type stc( new l7vs::session_thread_control( sess,
- vsnic_cpumask, rsnic_cpumask, 0 ) );
+ l7vs::tcp_socket_option_info set_sock_opt;
+ boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
+ bool ssl_virtualservice_mode_flag = false;
+ boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
+ bool is_session_cache_use = false;
+ int handshake_timeout = 300;
+
+ l7vs::tcp_session *sess = new l7vs::tcp_session(tcpservice,
+ dispatcher,
+ set_sock_opt,
+ element.tcp_accept_endpoint,
+ ssl_virtualservice_mode_flag,
+ sslcontext,
+ is_session_cache_use,
+ handshake_timeout,
+ NULL);
+
+
+ boost::asio::ip::address address = element.tcp_accept_endpoint.address();
+ cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask(address);
+ cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask("eth0");
+ stc_type stc(new l7vs::session_thread_control(sess,
+ vsnic_cpumask, rsnic_cpumask, 0));
// unit_test[12] 上りスレッドと下りスレッドを開始し、順番に停止する(sessionループは自然に終了)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----12" );
- stc->startupstream();
- stc->startdownstream();
- usleep( 5000000 );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----12");
+ stc->startupstream();
+ stc->startdownstream();
+ usleep(5000000);
// unit_test[13] 上りスレッドと下りスレッドを開始し、下りスレッド・上りスレッドの順に停止する(sessionループは外から停止)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----13" );
- stc->startupstream();
- stc->startdownstream();
- usleep( 1000 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_ON );
- usleep( 1000 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_ENABLE );
- usleep( 1000 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_OFF );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_DISABLE );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----13");
+ stc->startupstream();
+ stc->startdownstream();
+ usleep(1000);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SESSION_PAUSE_ON);
+ usleep(1000);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SORRY_STATE_ENABLE);
+ usleep(1000);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SESSION_PAUSE_OFF);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SORRY_STATE_DISABLE);
// unit_test[14] 上りスレッドを外部から停止後に上りスレッドを再開
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----14" );
- stc->startupstream();
- usleep( 100 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_ENABLE );
- usleep( 100 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_DISABLE );
- stc->startupstream();
- usleep( 2000 );
- //停止
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_ENABLE );
- usleep( 100 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_DISABLE );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----14");
+ stc->startupstream();
+ usleep(100);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SORRY_STATE_ENABLE);
+ usleep(100);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SORRY_STATE_DISABLE);
+ stc->startupstream();
+ usleep(2000);
+ //停止
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SORRY_STATE_ENABLE);
+ usleep(100);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SORRY_STATE_DISABLE);
// unit_test[15] 下りスレッドストップ後に再開
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----15" );
- stc->startdownstream();
- usleep( 100 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_ON );
- usleep( 100 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_OFF );
- stc->startdownstream();
- usleep( 2000 );
- //停止
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_ON );
- usleep( 100 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_OFF );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----15");
+ stc->startdownstream();
+ usleep(100);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SESSION_PAUSE_ON);
+ usleep(100);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SESSION_PAUSE_OFF);
+ stc->startdownstream();
+ usleep(2000);
+ //停止
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SESSION_PAUSE_ON);
+ usleep(100);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SESSION_PAUSE_OFF);
// unit_test[16] 上りスレッドを連続で開始指示した場合
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----16" );
- stc->startupstream();
- stc->startupstream();
- stc->startupstream();
- stc->startupstream();
- usleep( 10000 );
- //停止
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_ENABLE );
- usleep( 100 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_DISABLE );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----16");
+ stc->startupstream();
+ stc->startupstream();
+ stc->startupstream();
+ stc->startupstream();
+ usleep(10000);
+ //停止
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SORRY_STATE_ENABLE);
+ usleep(100);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SORRY_STATE_DISABLE);
// unit_test[17] 下りスレッドを連続で開始指示した場合
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----17" );
- stc->startdownstream();
- stc->startdownstream();
- stc->startdownstream();
- stc->startdownstream();
- usleep( 10000 );
- //停止
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_ON );
- usleep( 100 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_OFF );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----17");
+ stc->startdownstream();
+ stc->startdownstream();
+ stc->startdownstream();
+ stc->startdownstream();
+ usleep(10000);
+ //停止
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SESSION_PAUSE_ON);
+ usleep(100);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SESSION_PAUSE_OFF);
// unit_test[18] 上りスレッドを連続で開始・停止指示した場合(ループカウント0で出力)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----18" );
- stc->startupstream();
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_ENABLE );
- usleep( 100 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SORRY_STATE_DISABLE );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----18");
+ stc->startupstream();
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SORRY_STATE_ENABLE);
+ usleep(100);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SORRY_STATE_DISABLE);
// unit_test[19] 下りスレッドを連続で開始・停止指示した場合(ループカウント0で出力)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----19" );
- stc->startdownstream();
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_ON );
- usleep( 100 );
- stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_OFF );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----19");
+ stc->startdownstream();
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SESSION_PAUSE_ON);
+ usleep(100);
+ stc->get_session()->set_virtual_service_message(l7vs::tcp_session::SESSION_PAUSE_OFF);
-std::cout << "join 1" << std::endl;
+ std::cout << "join 1" << std::endl;
//停止スレッドの待ち合わせ
- stc->join();
+ stc->join();
//join後のスレッドID取得のテスト
// unit_test[20] 上りスレッドID取得
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----20" );
- std::cout << "upthread id : " << stc->get_upthread_id() << std::endl;
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----20");
+ std::cout << "upthread id : " << stc->get_upthread_id() << std::endl;
// unit_test[21] 下りスレッドID取得
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----21" );
- std::cout << "downthread id : " << stc->get_downthread_id() << std::endl;
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----21");
+ std::cout << "downthread id : " << stc->get_downthread_id() << std::endl;
}
//test case3
-void stc_method_test3(){
+void stc_method_test3()
+{
// unit_test[23] joinを呼ばずにオブジェクト廃棄する
- std::cout << counter++ << std::endl;
-/* BOOST_MESSAGE( "-----23" );
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- l7vs::virtualservice_tcp tcpservice( vsd, rep, element );
- boost::asio::ip::address address = element.tcp_accept_endpoint.address();
- cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( address );
- cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( "eth0" );
- stc_type stc( new l7vs::session_thread_control( new l7vs::tcp_session( tcpservice, dispatcher ),
- vsnic_cpumask, rsnic_cpumask, 0 ) );
-*/
+ std::cout << counter++ << std::endl;
+ /* BOOST_MESSAGE( "-----23" );
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ l7vs::virtualservice_tcp tcpservice( vsd, rep, element );
+ boost::asio::ip::address address = element.tcp_accept_endpoint.address();
+ cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( address );
+ cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( "eth0" );
+ stc_type stc( new l7vs::session_thread_control( new l7vs::tcp_session( tcpservice, dispatcher ),
+ vsnic_cpumask, rsnic_cpumask, 0 ) );
+ */
}
//test case4
-void stc_method_test4(){
+void stc_method_test4()
+{
// unit_test[24] スレッドを動かしたまま廃棄する
- std::cout << counter++ << std::endl;
-/* BOOST_MESSAGE( "-----24" );
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- l7vs::virtualservice_tcp tcpservice( vsd, rep, element );
- boost::asio::ip::address address = element.tcp_accept_endpoint.address();
- cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( address );
- cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( "eth0" );
- stc_type stc( new l7vs::session_thread_control( new l7vs::tcp_session( tcpservice, dispatcher ),
- vsnic_cpumask, rsnic_cpumask, 0 ) );
-
- //start thread
- stc->startupstream();
- stc->startdownstream();
- usleep( 1 );*/
+ std::cout << counter++ << std::endl;
+ /* BOOST_MESSAGE( "-----24" );
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ l7vs::virtualservice_tcp tcpservice( vsd, rep, element );
+ boost::asio::ip::address address = element.tcp_accept_endpoint.address();
+ cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( address );
+ cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( "eth0" );
+ stc_type stc( new l7vs::session_thread_control( new l7vs::tcp_session( tcpservice, dispatcher ),
+ vsnic_cpumask, rsnic_cpumask, 0 ) );
+
+ //start thread
+ stc->startupstream();
+ stc->startdownstream();
+ usleep( 1 );*/
}
//test case5. 外部スレッドからのメソッドアクセス
-void stc_method_test5(){
+void stc_method_test5()
+{
//session_thread_controlオブジェクトの作成
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- l7vs::virtualservice_tcp tcpservice( vsd, rep, element );
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ l7vs::virtualservice_tcp tcpservice(vsd, rep, element);
// session_type session( new l7vs::tcp_session( tcpservice, dispatcher ) );
- boost::asio::ip::address address = element.tcp_accept_endpoint.address();
- cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( address );
- cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( "eth0" );
+ boost::asio::ip::address address = element.tcp_accept_endpoint.address();
+ cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask(address);
+ cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask("eth0");
- l7vs::tcp_socket_option_info set_sock_opt;
- boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
- bool ssl_virtualservice_mode_flag = false;
- boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
- bool is_session_cache_use = false;
- int handshake_timeout = 300;
+ l7vs::tcp_socket_option_info set_sock_opt;
+ boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
+ bool ssl_virtualservice_mode_flag = false;
+ boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
+ bool is_session_cache_use = false;
+ int handshake_timeout = 300;
- l7vs::tcp_session* sess = new l7vs::tcp_session(tcpservice,
- dispatcher,
- set_sock_opt,
- element.tcp_accept_endpoint,
- ssl_virtualservice_mode_flag,
- sslcontext,
- is_session_cache_use,
- handshake_timeout,
- NULL);
+ l7vs::tcp_session *sess = new l7vs::tcp_session(tcpservice,
+ dispatcher,
+ set_sock_opt,
+ element.tcp_accept_endpoint,
+ ssl_virtualservice_mode_flag,
+ sslcontext,
+ is_session_cache_use,
+ handshake_timeout,
+ NULL);
- stc_type stc( new l7vs::session_thread_control( sess,
- vsnic_cpumask, rsnic_cpumask, 0 ) );
+ stc_type stc(new l7vs::session_thread_control(sess,
+ vsnic_cpumask, rsnic_cpumask, 0));
- test_thread thread1;
+ test_thread thread1;
// unit_test[25] スレッドを開始して、別スレッドからスレッド停止メソッドを呼ぶ(上りスレッド)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----25" );
- std::cout << "thread id : " << thread1.get_id() << std::endl;
- stc->startupstream();
- usleep( 2000000 );
- thread1.start( boost::bind( &l7vs::session_thread_control::stopupstream, stc ) );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----25");
+ std::cout << "thread id : " << thread1.get_id() << std::endl;
+ stc->startupstream();
+ usleep(2000000);
+ thread1.start(boost::bind(&l7vs::session_thread_control::stopupstream, stc));
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 2000000 );
- std::cout << "thread id : " << thread1.get_id() << std::endl;
- thread1.stop();
+ usleep(2000000);
+ std::cout << "thread id : " << thread1.get_id() << std::endl;
+ thread1.stop();
// unit_test[26] スレッドを開始して、別スレッドからスレッド停止メソッドを呼ぶ(下りスレッド)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----26" );
- std::cout << "thread id : " << thread1.get_id() << std::endl;
- stc->startdownstream();
- usleep( 2000000 );
- thread1.start( boost::bind( &l7vs::session_thread_control::stopdownstream, stc ) );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----26");
+ std::cout << "thread id : " << thread1.get_id() << std::endl;
+ stc->startdownstream();
+ usleep(2000000);
+ thread1.start(boost::bind(&l7vs::session_thread_control::stopdownstream, stc));
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 2000000 );
- std::cout << "thread id : " << thread1.get_id() << std::endl;
- thread1.stop();
+ usleep(2000000);
+ std::cout << "thread id : " << thread1.get_id() << std::endl;
+ thread1.stop();
// unit_test[27] スレッドが停止すると同時に別スレッドから開始メソッドが呼ばれる(上りスレッド)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----27" );
- std::cout << "thread id : " << thread1.get_id() << std::endl;
- stc->startupstream();
- usleep( 2000000 );
- thread1.start( boost::bind( &l7vs::session_thread_control::startupstream, stc ) );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----27");
+ std::cout << "thread id : " << thread1.get_id() << std::endl;
+ stc->startupstream();
+ usleep(2000000);
+ thread1.start(boost::bind(&l7vs::session_thread_control::startupstream, stc));
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 2000000 );
- std::cout << "thread id : " << thread1.get_id() << std::endl;
- thread1.stop();
+ usleep(2000000);
+ std::cout << "thread id : " << thread1.get_id() << std::endl;
+ thread1.stop();
// unit_test[28] スレッドが停止すると同時に別スレッドから開始メソッドが呼ばれる(下りスレッド)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----28" );
- std::cout << "thread id : " << thread1.get_id() << std::endl;
- stc->startdownstream();
- usleep( 2000000 );
- thread1.start( boost::bind( &l7vs::session_thread_control::startdownstream, stc ) );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----28");
+ std::cout << "thread id : " << thread1.get_id() << std::endl;
+ stc->startdownstream();
+ usleep(2000000);
+ thread1.start(boost::bind(&l7vs::session_thread_control::startdownstream, stc));
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 2000000 );
- std::cout << "thread id : " << thread1.get_id() << std::endl;
- thread1.stop();
+ usleep(2000000);
+ std::cout << "thread id : " << thread1.get_id() << std::endl;
+ thread1.stop();
//停止スレッドの待ち合わせ
- stc->join();
+ stc->join();
}
//test case6. スレッド停止と同時にjoinが呼ばれる・その1(上りスレッド)
-void stc_method_test6(){
+void stc_method_test6()
+{
//session_thread_controlオブジェクトの作成
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- l7vs::virtualservice_tcp tcpservice( vsd, rep, element );
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ l7vs::virtualservice_tcp tcpservice(vsd, rep, element);
// session_type session( new l7vs::tcp_session( tcpservice, dispatcher ) );
- boost::asio::ip::address address = element.tcp_accept_endpoint.address();
- cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( address );
- l7vs::tcp_socket_option_info set_sock_opt;
- boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
- bool ssl_virtualservice_mode_flag = false;
- boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
- bool is_session_cache_use = false;
- int handshake_timeout = 300;
+ boost::asio::ip::address address = element.tcp_accept_endpoint.address();
+ cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask(address);
+ l7vs::tcp_socket_option_info set_sock_opt;
+ boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
+ bool ssl_virtualservice_mode_flag = false;
+ boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
+ bool is_session_cache_use = false;
+ int handshake_timeout = 300;
- l7vs::tcp_session* sess = new l7vs::tcp_session(tcpservice,
- dispatcher,
- set_sock_opt,
- element.tcp_accept_endpoint,
- ssl_virtualservice_mode_flag,
- sslcontext,
- is_session_cache_use,
- handshake_timeout,
- NULL);
- cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( "eth0" );
+ l7vs::tcp_session *sess = new l7vs::tcp_session(tcpservice,
+ dispatcher,
+ set_sock_opt,
+ element.tcp_accept_endpoint,
+ ssl_virtualservice_mode_flag,
+ sslcontext,
+ is_session_cache_use,
+ handshake_timeout,
+ NULL);
+ cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask("eth0");
- stc_type stc( new l7vs::session_thread_control( sess,
- vsnic_cpumask, rsnic_cpumask, 0 ) );
+ stc_type stc(new l7vs::session_thread_control(sess,
+ vsnic_cpumask, rsnic_cpumask, 0));
- test_thread thread1(1);
+ test_thread thread1(1);
// unit_test[29] 上りスレッド停止と同時にjoinを呼ぶ
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----29" );
- stc->startupstream();
- usleep( 2000000 );
- thread1.start( boost::bind( &l7vs::session_thread_control::join, stc ) );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----29");
+ stc->startupstream();
+ usleep(2000000);
+ thread1.start(boost::bind(&l7vs::session_thread_control::join, stc));
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 2000000 );
- thread1.stop();
+ usleep(2000000);
+ thread1.stop();
}
//test case7. スレッド停止と同時にjoinが呼ばれる・その2(下りスレッド)
-void stc_method_test7(){
+void stc_method_test7()
+{
//session_thread_controlオブジェクトの作成
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- l7vs::virtualservice_tcp tcpservice( vsd, rep, element );
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ l7vs::virtualservice_tcp tcpservice(vsd, rep, element);
// session_type session( new l7vs::tcp_session( tcpservice, dispatcher ) );
- boost::asio::ip::address address = element.tcp_accept_endpoint.address();
- cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( address );
- cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( "eth0" );
+ boost::asio::ip::address address = element.tcp_accept_endpoint.address();
+ cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask(address);
+ cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask("eth0");
- l7vs::tcp_socket_option_info set_sock_opt;
- boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
- bool ssl_virtualservice_mode_flag = false;
- boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
- bool is_session_cache_use = false;
- int handshake_timeout = 300;
+ l7vs::tcp_socket_option_info set_sock_opt;
+ boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
+ bool ssl_virtualservice_mode_flag = false;
+ boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
+ bool is_session_cache_use = false;
+ int handshake_timeout = 300;
- l7vs::tcp_session* sess = new l7vs::tcp_session(tcpservice,
- dispatcher,
- set_sock_opt,
- element.tcp_accept_endpoint,
- ssl_virtualservice_mode_flag,
- sslcontext,
- is_session_cache_use,
- handshake_timeout,
- NULL);
+ l7vs::tcp_session *sess = new l7vs::tcp_session(tcpservice,
+ dispatcher,
+ set_sock_opt,
+ element.tcp_accept_endpoint,
+ ssl_virtualservice_mode_flag,
+ sslcontext,
+ is_session_cache_use,
+ handshake_timeout,
+ NULL);
- stc_type stc( new l7vs::session_thread_control( sess,
- vsnic_cpumask, rsnic_cpumask, 0 ) );
+ stc_type stc(new l7vs::session_thread_control(sess,
+ vsnic_cpumask, rsnic_cpumask, 0));
- test_thread thread1(1);
+ test_thread thread1(1);
// unit_test[30] 下りスレッド停止と同時にjoinを呼ぶ
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----30" );
- stc->startdownstream();
- usleep( 2000000 );
- thread1.start( boost::bind( &l7vs::session_thread_control::join, stc ) );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----30");
+ stc->startdownstream();
+ usleep(2000000);
+ thread1.start(boost::bind(&l7vs::session_thread_control::join, stc));
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 2000000 );
- thread1.stop();
+ usleep(2000000);
+ thread1.stop();
}
//test case8. スレッド停止と同時にjoinが呼ばれる・その3(上下スレッド)
-void stc_method_test8(){
+void stc_method_test8()
+{
//session_thread_controlオブジェクトの作成
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- l7vs::virtualservice_tcp tcpservice( vsd, rep, element );
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ l7vs::virtualservice_tcp tcpservice(vsd, rep, element);
// session_type session( new l7vs::tcp_session( tcpservice, dispatcher ) );
- boost::asio::ip::address address = element.tcp_accept_endpoint.address();
- cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( address );
- cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( "eth0" );
-
- l7vs::tcp_socket_option_info set_sock_opt;
- boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
- bool ssl_virtualservice_mode_flag = false;
- boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
- bool is_session_cache_use = false;
- int handshake_timeout = 300;
-
- l7vs::tcp_session* sess = new l7vs::tcp_session(tcpservice,
- dispatcher,
- set_sock_opt,
- element.tcp_accept_endpoint,
- ssl_virtualservice_mode_flag,
- sslcontext,
- is_session_cache_use,
- handshake_timeout,
- NULL);
-
- stc_type stc( new l7vs::session_thread_control( sess,
- vsnic_cpumask, rsnic_cpumask, 0 ) );
-
- test_thread thread1(1);
+ boost::asio::ip::address address = element.tcp_accept_endpoint.address();
+ cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask(address);
+ cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask("eth0");
+
+ l7vs::tcp_socket_option_info set_sock_opt;
+ boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
+ bool ssl_virtualservice_mode_flag = false;
+ boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
+ bool is_session_cache_use = false;
+ int handshake_timeout = 300;
+
+ l7vs::tcp_session *sess = new l7vs::tcp_session(tcpservice,
+ dispatcher,
+ set_sock_opt,
+ element.tcp_accept_endpoint,
+ ssl_virtualservice_mode_flag,
+ sslcontext,
+ is_session_cache_use,
+ handshake_timeout,
+ NULL);
+
+ stc_type stc(new l7vs::session_thread_control(sess,
+ vsnic_cpumask, rsnic_cpumask, 0));
+
+ test_thread thread1(1);
// unit_test[31] 上下スレッド停止と同時にjoinを呼ぶ
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----31" );
- stc->startupstream();
- stc->startdownstream();
- usleep( 2000000 );
- thread1.start( boost::bind( &l7vs::session_thread_control::join, stc ) );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----31");
+ stc->startupstream();
+ stc->startdownstream();
+ usleep(2000000);
+ thread1.start(boost::bind(&l7vs::session_thread_control::join, stc));
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 2000000 );
- thread1.stop();
+ usleep(2000000);
+ thread1.stop();
}
//test case9. sorryモード変更関数及びアクセスログ出力設定/解除関数の正常動作確認
-void stc_method_test9(){
+void stc_method_test9()
+{
// unit_test[33] session_thread_controlオブジェクトの作成
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----33" );
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- l7vs::virtualservice_tcp tcpservice( vsd, rep, element );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----33");
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ l7vs::virtualservice_tcp tcpservice(vsd, rep, element);
// session_type session( new l7vs::tcp_session( tcpservice, dispatcher ) );
- l7vs::tcp_socket_option_info set_sock_opt;
- boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
- bool ssl_virtualservice_mode_flag = false;
- boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
- bool is_session_cache_use = false;
- int handshake_timeout = 300;
-
- l7vs::tcp_session* sess = new l7vs::tcp_session(tcpservice,
- dispatcher,
- set_sock_opt,
- element.tcp_accept_endpoint,
- ssl_virtualservice_mode_flag,
- sslcontext,
- is_session_cache_use,
- handshake_timeout,
- NULL);
-
-
- boost::asio::ip::address address = element.tcp_accept_endpoint.address();
- cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( address );
- cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask( "eth0" );
- stc_type stc( new l7vs::session_thread_control( sess,
- vsnic_cpumask, rsnic_cpumask, 0 ) );
+ l7vs::tcp_socket_option_info set_sock_opt;
+ boost::asio::ip::tcp::endpoint tcp_accept_endpoint;
+ bool ssl_virtualservice_mode_flag = false;
+ boost::asio::ssl::context sslcontext(dispatcher, DEFAULT_SSL_METHOD);
+ bool is_session_cache_use = false;
+ int handshake_timeout = 300;
+
+ l7vs::tcp_session *sess = new l7vs::tcp_session(tcpservice,
+ dispatcher,
+ set_sock_opt,
+ element.tcp_accept_endpoint,
+ ssl_virtualservice_mode_flag,
+ sslcontext,
+ is_session_cache_use,
+ handshake_timeout,
+ NULL);
+
+
+ boost::asio::ip::address address = element.tcp_accept_endpoint.address();
+ cpu_set_t vsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask(address);
+ cpu_set_t rsnic_cpumask = debugg_flug_struct::getInstance().get_cpu_mask("eth0");
+ stc_type stc(new l7vs::session_thread_control(sess,
+ vsnic_cpumask, rsnic_cpumask, 0));
//
// unit_test[34] get_sessionメソッドのテスト
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----34" );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----34");
// BOOST_CHECK_EQUAL( session, stc->get_session() );
//スレッドID取得のテスト
// unit_test[35] 上りスレッドID取得
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----35" );
- std::cout << "upthread id : " << stc->get_upthread_id() << std::endl;
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----35");
+ std::cout << "upthread id : " << stc->get_upthread_id() << std::endl;
// unit_test[36] 下りスレッドID取得
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----36" );
- std::cout << "downthread id : " << stc->get_downthread_id() << std::endl;
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----36");
+ std::cout << "downthread id : " << stc->get_downthread_id() << std::endl;
//上りスレッド
//パターン1
// unit_test[37] 上りスレッドスタート
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----37" );
- stc->startupstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----37");
+ stc->startupstream();
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 4000000 );
+ usleep(4000000);
// unit_test[38] 上りスレッドストップ
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----38" );
- stc->stopupstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----38");
+ stc->stopupstream();
//下りスレッド
// unit_test[39] 下りスレッドスタート
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----39" );
- stc->startdownstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----39");
+ stc->startdownstream();
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 4000000 );
+ usleep(4000000);
// unit_test[40] 下りスレッドストップ
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----40" );
- stc->stopdownstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----40");
+ stc->stopdownstream();
// unit_test[41] sessionの上りスレッドが外から停止された場合 パターン2
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----41" );
- stc->startupstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----41");
+ stc->startupstream();
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 1000 );
- stc->session_sorry_mode_change(1);
- usleep( 1000 );
- stc->stopupstream();
- stc->session_sorry_mode_change(INT_MAX);
+ usleep(1000);
+ stc->session_sorry_mode_change(1);
+ usleep(1000);
+ stc->stopupstream();
+ stc->session_sorry_mode_change(INT_MAX);
// unit_test[42] sessionの上りスレッドが外から停止された場合
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----42" );
- stc->startupstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----42");
+ stc->startupstream();
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 1000 );
- stc->session_accesslog_output_mode_on();
- usleep( 1000 );
- stc->stopupstream();
- stc->session_accesslog_output_mode_off();
+ usleep(1000);
+ stc->session_accesslog_output_mode_on();
+ usleep(1000);
+ stc->stopupstream();
+ stc->session_accesslog_output_mode_off();
// unit_test[43] sessionの上りスレッドが外から停止された場合
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-----43" );
- stc->startupstream();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-----43");
+ stc->startupstream();
//sleepを入れないとsessionのループに入る前にEXITしてしまう
- usleep( 1000 );
- stc->session_access_log_output_mode_change(true);
- usleep( 1000 );
- stc->stopupstream();
- stc->session_access_log_output_mode_change(false);
+ usleep(1000);
+ stc->session_access_log_output_mode_change(true);
+ usleep(1000);
+ stc->stopupstream();
+ stc->session_access_log_output_mode_change(false);
// unit_test[44] sessionの下りスレッドが外から停止された場合
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----44" );
- stc->startdownstream();
- usleep( 1000 );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----44");
+ stc->startdownstream();
+ usleep(1000);
// stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_ON );
- stc->session_pause_on();
- usleep( 1000 );
- stc->stopdownstream();
+ stc->session_pause_on();
+ usleep(1000);
+ stc->stopdownstream();
// stc->get_session()->set_virtual_service_message( l7vs::tcp_session::SESSION_PAUSE_OFF );
- stc->session_pause_off();
+ stc->session_pause_off();
// unit_test[45] 停止スレッドの待ち合わせ
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "----45" );
- stc->join();
- usleep( 1 );
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("----45");
+ stc->join();
+ usleep(1);
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "stc_test" );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("stc_test");
- // add test case to test suite
- ts->add( BOOST_TEST_CASE( &stc_method_test1 ) );
- ts->add( BOOST_TEST_CASE( &stc_method_test2 ) );
- ts->add( BOOST_TEST_CASE( &stc_method_test3 ) );
- ts->add( BOOST_TEST_CASE( &stc_method_test4 ) );
- ts->add( BOOST_TEST_CASE( &stc_method_test5 ) );
- ts->add( BOOST_TEST_CASE( &stc_method_test6 ) );
- ts->add( BOOST_TEST_CASE( &stc_method_test7 ) );
- ts->add( BOOST_TEST_CASE( &stc_method_test8 ) );
- ts->add( BOOST_TEST_CASE( &stc_method_test9 ) );
+ // add test case to test suite
+ ts->add(BOOST_TEST_CASE(&stc_method_test1));
+ ts->add(BOOST_TEST_CASE(&stc_method_test2));
+ ts->add(BOOST_TEST_CASE(&stc_method_test3));
+ ts->add(BOOST_TEST_CASE(&stc_method_test4));
+ ts->add(BOOST_TEST_CASE(&stc_method_test5));
+ ts->add(BOOST_TEST_CASE(&stc_method_test6));
+ ts->add(BOOST_TEST_CASE(&stc_method_test7));
+ ts->add(BOOST_TEST_CASE(&stc_method_test8));
+ ts->add(BOOST_TEST_CASE(&stc_method_test9));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
#include "stub.h"
// protocol_module_control STUB code
-l7vs::protocol_module_control& l7vs::protocol_module_control::getInstance(){
- static protocol_module_control instance;
- return instance;
+l7vs::protocol_module_control &l7vs::protocol_module_control::getInstance()
+{
+ static protocol_module_control instance;
+ return instance;
}
-void l7vs::protocol_module_control::initialize( const std::string& infile_path ){}
-void l7vs::protocol_module_control::finalize(){}
-l7vs::protocol_module_base* l7vs::protocol_module_control::load_module( const std::string& modulename ){
- l7vs::protocol_module_base* return_value = NULL;
+void l7vs::protocol_module_control::initialize(const std::string &infile_path) {}
+void l7vs::protocol_module_control::finalize() {}
+l7vs::protocol_module_base *l7vs::protocol_module_control::load_module(const std::string &modulename)
+{
+ l7vs::protocol_module_base *return_value = NULL;
// if( !pmcontrol_error_flag )
// return_value = new protocol_module_test1;
- return return_value;
+ return return_value;
}
-void l7vs::protocol_module_control::unload_module( protocol_module_base* module_ptr ){
- delete module_ptr;
+void l7vs::protocol_module_control::unload_module(protocol_module_base *module_ptr)
+{
+ delete module_ptr;
}
-l7vs::schedule_module_control& l7vs::schedule_module_control::getInstance(){
- static schedule_module_control instance;
- return instance;
+l7vs::schedule_module_control &l7vs::schedule_module_control::getInstance()
+{
+ static schedule_module_control instance;
+ return instance;
}
-void l7vs::schedule_module_control::initialize( const std::string& infile_path ){}
-void l7vs::schedule_module_control::finalize(){}
-l7vs::schedule_module_base* l7vs::schedule_module_control::load_module( const std::string& modulename ){
- l7vs::schedule_module_base* return_value = NULL;
+void l7vs::schedule_module_control::initialize(const std::string &infile_path) {}
+void l7vs::schedule_module_control::finalize() {}
+l7vs::schedule_module_base *l7vs::schedule_module_control::load_module(const std::string &modulename)
+{
+ l7vs::schedule_module_base *return_value = NULL;
// if( !smcontrol_error_flag )
// return_value = new schedule_module_test1;
- return return_value;
+ return return_value;
}
-void l7vs::schedule_module_control::unload_module( schedule_module_base* module_ptr ){
- delete module_ptr;
+void l7vs::schedule_module_control::unload_module(schedule_module_base *module_ptr)
+{
+ delete module_ptr;
}
// parameter stub
-l7vs::Parameter::Parameter(){}
+l7vs::Parameter::Parameter() {}
-l7vs::Parameter::~Parameter(){}
+l7vs::Parameter::~Parameter() {}
-bool l7vs::Parameter::read_file( const PARAMETER_COMPONENT_TAG in,const std::string& filename ){ return true; }
+bool l7vs::Parameter::read_file(const PARAMETER_COMPONENT_TAG in, const std::string &filename)
+{
+ return true;
+}
-int l7vs::Parameter::get_int( const PARAMETER_COMPONENT_TAG in_tag,
- const std::string& in_str,
- error_code& err,
- const std::string& file_name){
- int retval = 0;
- if( debugg_flug_struct::getInstance().param_exist_flag() ){
- retval = SESSION_POOL_NUM_PARAM;
- }else{
- err.setter( true, "not exist value." );
- }
- return retval;
+int l7vs::Parameter::get_int(const PARAMETER_COMPONENT_TAG in_tag,
+ const std::string &in_str,
+ error_code &err,
+ const std::string &file_name)
+{
+ int retval = 0;
+ if (debugg_flug_struct::getInstance().param_exist_flag()) {
+ retval = SESSION_POOL_NUM_PARAM;
+ } else {
+ err.setter(true, "not exist value.");
+ }
+ return retval;
}
-bool l7vs::Parameter::init( const PARAMETER_COMPONENT_TAG in_tag, const std::string& data){
+bool l7vs::Parameter::init(const PARAMETER_COMPONENT_TAG in_tag, const std::string &data)
+{
- return(true);
+ return(true);
}
std::string l7vs::Parameter::get_string(const PARAMETER_COMPONENT_TAG in_tag,
- const std::string& in_str,
- error_code& err,const std::string& file_name){
- return "";
+ const std::string &in_str,
+ error_code &err, const std::string &file_name)
+{
+ return "";
}
void l7vs::Parameter::get_multistring(const PARAMETER_COMPONENT_TAG,
- const std::string&,
- std::vector<std::string>&,
- error_code&,const std::string& file_name ){
+ const std::string &,
+ std::vector<std::string>&,
+ error_code &, const std::string &file_name)
+{
}
}
*/
-l7vs::l7vsd::l7vsd(){}
-l7vs::l7vsd::~l7vsd(){}
-l7vs::l7vsd::vslist_type::iterator l7vs::l7vsd::search_vslist( const virtualservice_element&, bool ) const{
- return vslist.begin();
+l7vs::l7vsd::l7vsd() {}
+l7vs::l7vsd::~l7vsd() {}
+l7vs::l7vsd::vslist_type::iterator l7vs::l7vsd::search_vslist(const virtualservice_element &, bool) const
+{
+ return vslist.begin();
}
-void l7vs::l7vsd::release_virtual_service( const virtualservice_element& ) const {}
+void l7vs::l7vsd::release_virtual_service(const virtualservice_element &) const {}
-int l7vs::replication::initialize(){
- return 0;
-}
-void l7vs::replication::finalize(){}
-void l7vs::replication::switch_to_master(){}
-void l7vs::replication::switch_to_slave(){}
-void* l7vs::replication::pay_memory( const std::string& inid, unsigned int& outsize ){
- return NULL;
+int l7vs::replication::initialize()
+{
+ return 0;
}
-void l7vs::replication::dump_memory(){}
-void l7vs::replication::start(){}
-void l7vs::replication::stop(){}
-void l7vs::replication::force_replicate(){}
-void l7vs::replication::reset(){}
-l7vs::replication::REPLICATION_MODE_TAG l7vs::replication::get_status(){
- l7vs::replication::REPLICATION_MODE_TAG retmode = l7vs::replication::REPLICATION_OUT;
- return retmode;
+void l7vs::replication::finalize() {}
+void l7vs::replication::switch_to_master() {}
+void l7vs::replication::switch_to_slave() {}
+void *l7vs::replication::pay_memory(const std::string &inid, unsigned int &outsize)
+{
+ return NULL;
+}
+void l7vs::replication::dump_memory() {}
+void l7vs::replication::start() {}
+void l7vs::replication::stop() {}
+void l7vs::replication::force_replicate() {}
+void l7vs::replication::reset() {}
+l7vs::replication::REPLICATION_MODE_TAG l7vs::replication::get_status()
+{
+ l7vs::replication::REPLICATION_MODE_TAG retmode = l7vs::replication::REPLICATION_OUT;
+ return retmode;
}
-int l7vs::replication::handle_send(){
- return 0;
+int l7vs::replication::handle_send()
+{
+ return 0;
}
-void l7vs::replication::handle_receive( const boost::system::error_code& err, size_t size ){
+void l7vs::replication::handle_receive(const boost::system::error_code &err, size_t size)
+{
}
-int l7vs::replication::lock( const std::string& inid ){
- return 0;
+int l7vs::replication::lock(const std::string &inid)
+{
+ return 0;
}
-int l7vs::replication::unlock( const std::string& inid ){
- return 0;
+int l7vs::replication::unlock(const std::string &inid)
+{
+ return 0;
}
-int l7vs::replication::refer_lock_mutex( const std::string& inid, mutex_ptr& outmutex ){
- return 0;
+int l7vs::replication::refer_lock_mutex(const std::string &inid, mutex_ptr &outmutex)
+{
+ return 0;
}
-l7vs::tcp_realserver_connect_socket_list::tcp_realserver_connect_socket_list(){}
+l7vs::tcp_realserver_connect_socket_list::tcp_realserver_connect_socket_list() {}
-l7vs::tcp_realserver_connect_socket_list::~tcp_realserver_connect_socket_list(){}
+l7vs::tcp_realserver_connect_socket_list::~tcp_realserver_connect_socket_list() {}
-void l7vs::tcp_realserver_connect_socket_list::push_back(list_element realserver_socket){}
+void l7vs::tcp_realserver_connect_socket_list::push_back(list_element realserver_socket) {}
-l7vs::tcp_realserver_connect_socket_list::list_element l7vs::tcp_realserver_connect_socket_list::get_socket(){
- l7vs::tcp_realserver_connect_socket_list::list_element retval;
- return retval;
+l7vs::tcp_realserver_connect_socket_list::list_element l7vs::tcp_realserver_connect_socket_list::get_socket()
+{
+ l7vs::tcp_realserver_connect_socket_list::list_element retval;
+ return retval;
}
-bool l7vs::tcp_realserver_connect_socket_list::empty(){
- return true;
+bool l7vs::tcp_realserver_connect_socket_list::empty()
+{
+ return true;
}
-bool l7vs::tcp_socket::connect(const boost::asio::ip::tcp::endpoint connect_endpoint,boost::system::error_code& ec){
- return true;
+bool l7vs::tcp_socket::connect(const boost::asio::ip::tcp::endpoint connect_endpoint, boost::system::error_code &ec)
+{
+ return true;
}
-bool l7vs::tcp_socket::close(boost::system::error_code& ec){
- return true;
+bool l7vs::tcp_socket::close(boost::system::error_code &ec)
+{
+ return true;
}
-bool l7vs::tcp_socket::set_non_blocking_mode(boost::system::error_code& ec){
- return true;
+bool l7vs::tcp_socket::set_non_blocking_mode(boost::system::error_code &ec)
+{
+ return true;
}
-std::size_t l7vs::tcp_socket::write_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code& ec){
- size_t ret = 0;
- return ret;
+std::size_t l7vs::tcp_socket::write_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code &ec)
+{
+ size_t ret = 0;
+ return ret;
}
-std::size_t l7vs::tcp_socket::read_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code& ec){
- size_t ret = 0;
- return ret;
+std::size_t l7vs::tcp_socket::read_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code &ec)
+{
+ size_t ret = 0;
+ return ret;
}
-l7vs::tcp_session::tcp_session(virtualservice_tcp& vs,
- boost::asio::io_service& session_io,
- const tcp_socket_option_info set_option,
- const boost::asio::ip::tcp::endpoint listen_endpoint,
- const bool ssl_mode,
- boost::asio::ssl::context& set_ssl_context,
- const bool set_ssl_cache_flag,
- const int set_ssl_handshake_time_out,
- logger_implement_access* set_access_logger)
+l7vs::tcp_session::tcp_session(virtualservice_tcp &vs,
+ boost::asio::io_service &session_io,
+ const tcp_socket_option_info set_option,
+ const boost::asio::ip::tcp::endpoint listen_endpoint,
+ const bool ssl_mode,
+ boost::asio::ssl::context &set_ssl_context,
+ const bool set_ssl_cache_flag,
+ const int set_ssl_handshake_time_out,
+ logger_implement_access *set_access_logger)
:
io(session_io),
parent_service(vs),
// thread_state(0),
protocol_module(NULL),
// session_pause_flag(false),
- client_socket(session_io,set_option),
+ client_socket(session_io, set_option),
upstream_buffer_size(8192),
downstream_buffer_size(8192),
virtualservice_endpoint(listen_endpoint),
access_log_flag(false),
access_logger(set_access_logger),
ssl_flag(ssl_mode),
- client_ssl_socket(session_io, set_ssl_context,set_option),
+ client_ssl_socket(session_io, set_ssl_context, set_option),
ssl_context(set_ssl_context),
ssl_cache_flag(set_ssl_cache_flag),
ssl_handshake_timer_flag(false),
ssl_handshake_time_out(set_ssl_handshake_time_out),
ssl_handshake_time_out_flag(false),
- socket_opt_info(set_option){
+ socket_opt_info(set_option)
+{
- exit_flag = false;
+ exit_flag = false;
// session_pause_flag = false;
- std::cout << "SESSION:CREATE" << std::endl;
+ std::cout << "SESSION:CREATE" << std::endl;
}
-l7vs::tcp_session::~tcp_session(void){
- std::cout << "SESSION:DESTROY" << std::endl;
+l7vs::tcp_session::~tcp_session(void)
+{
+ std::cout << "SESSION:DESTROY" << std::endl;
}
-l7vs::session_result_message l7vs::tcp_session::initialize(void){
- l7vs::session_result_message result;
- return result;
+l7vs::session_result_message l7vs::tcp_session::initialize(void)
+{
+ l7vs::session_result_message result;
+ return result;
}
-boost::asio::ip::tcp::socket& l7vs::tcp_session::get_client_socket(void){
- return client_socket.get_socket();
+boost::asio::ip::tcp::socket &l7vs::tcp_session::get_client_socket(void)
+{
+ return client_socket.get_socket();
}
-ssl_socket& l7vs::tcp_session::get_client_ssl_socket()
+ssl_socket &l7vs::tcp_session::get_client_ssl_socket()
{
- return client_ssl_socket.get_socket();
+ return client_ssl_socket.get_socket();
}
/*
*/
//! handshake timer handler
-void l7vs::tcp_session::handle_ssl_handshake_timer(const boost::system::error_code& error){};
+void l7vs::tcp_session::handle_ssl_handshake_timer(const boost::system::error_code &error) {};
//! reset ssl object for reuse
-bool l7vs::tcp_session::ssl_clear_keep_cache(SSL *clear_ssl){
- return true;
+bool l7vs::tcp_session::ssl_clear_keep_cache(SSL *clear_ssl)
+{
+ return true;
}
-std::string l7vs::tcp_session::endpoint_to_string( const boost::asio::ip::tcp::endpoint& target_endpoint){
- return "";
-};
+std::string l7vs::tcp_session::endpoint_to_string(const boost::asio::ip::tcp::endpoint &target_endpoint)
+{
+ return "";
+};
-void l7vs::tcp_session::set_virtual_service_message(const TCP_VIRTUAL_SERVICE_MESSAGE_TAG message){
- switch( message ){
- case SORRY_STATE_ENABLE:
- {
- boost::mutex::scoped_lock( exit_flag_update_mutex );
- exit_flag = true;
+void l7vs::tcp_session::set_virtual_service_message(const TCP_VIRTUAL_SERVICE_MESSAGE_TAG message)
+{
+ switch (message) {
+ case SORRY_STATE_ENABLE: {
+ boost::mutex::scoped_lock(exit_flag_update_mutex);
+ exit_flag = true;
}
break;
- case SORRY_STATE_DISABLE:
- {
- boost::mutex::scoped_lock( exit_flag_update_mutex );
- exit_flag = false;
+ case SORRY_STATE_DISABLE: {
+ boost::mutex::scoped_lock(exit_flag_update_mutex);
+ exit_flag = false;
}
break;
- case SESSION_END:
- {
- boost::mutex::scoped_lock( exit_flag_update_mutex );
- boost::mutex::scoped_lock( module_function_sorry_disable_mutex );
- exit_flag = true;
+ case SESSION_END: {
+ boost::mutex::scoped_lock(exit_flag_update_mutex);
+ boost::mutex::scoped_lock(module_function_sorry_disable_mutex);
+ exit_flag = true;
// session_pause_flag = true;
}
break;
- case SESSION_PAUSE_ON:
- {
- boost::mutex::scoped_lock( module_function_sorry_disable_mutex );
+ case SESSION_PAUSE_ON: {
+ boost::mutex::scoped_lock(module_function_sorry_disable_mutex);
// session_pause_flag = true;
}
break;
- case SESSION_PAUSE_OFF:
- {
- boost::mutex::scoped_lock( module_function_sorry_disable_mutex );
+ case SESSION_PAUSE_OFF: {
+ boost::mutex::scoped_lock(module_function_sorry_disable_mutex);
// session_pause_flag = false;
}
break;
- case ACCESS_LOG_ON:{
- std::cout<< "set_virtual_service_message called : ACCESS_LOG_ON" << std::endl;
- break;
- }
- case ACCESS_LOG_OFF:{
- std::cout<< "set_virtual_service_message called : ACCESS_LOG_OFF" << std::endl;
- break;
- }
+ case ACCESS_LOG_ON: {
+ std::cout << "set_virtual_service_message called : ACCESS_LOG_ON" << std::endl;
+ break;
+ }
+ case ACCESS_LOG_OFF: {
+ std::cout << "set_virtual_service_message called : ACCESS_LOG_OFF" << std::endl;
+ break;
+ }
- }
+ }
}
-void l7vs::tcp_session::up_thread_run(void){
- unsigned int i = 0;
- std::cout << "UP:RUN" << std::endl;
- for( i = 0; i < (INT_MAX/12); ++i ){
- {
- boost::mutex::scoped_lock( exit_flag_update_mutex );
- if( exit_flag )break;
+void l7vs::tcp_session::up_thread_run(void)
+{
+ unsigned int i = 0;
+ std::cout << "UP:RUN" << std::endl;
+ for (i = 0; i < (INT_MAX / 12); ++i) {
+ {
+ boost::mutex::scoped_lock(exit_flag_update_mutex);
+ if (exit_flag)break;
+ }
}
- }
- std::cout << "UP:STOP(" << i << ")" << std::endl;
+ std::cout << "UP:STOP(" << i << ")" << std::endl;
}
-void l7vs::tcp_session::down_thread_run(void){
- unsigned int i = 0;
- std::cout << "DOWN:RUN" << std::endl;
- for( i = 0; i < (INT_MAX/12); ++i ){
- {
- boost::mutex::scoped_lock( module_function_sorry_disable_mutex );
+void l7vs::tcp_session::down_thread_run(void)
+{
+ unsigned int i = 0;
+ std::cout << "DOWN:RUN" << std::endl;
+ for (i = 0; i < (INT_MAX / 12); ++i) {
+ {
+ boost::mutex::scoped_lock(module_function_sorry_disable_mutex);
// if( session_pause_flag )break;
+ }
}
- }
- std::cout << "DOWN:STOP(" << i << ")" << std::endl;
+ std::cout << "DOWN:STOP(" << i << ")" << std::endl;
}
//void l7vs::tcp_session::thread_state_update(const std::bitset<TCP_SESSION_THREAD_STATE_BIT> thread_flag,const bool regist){}
-void l7vs::tcp_session::up_thread_client_accept_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_receive(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_respond(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_send(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_connect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_send(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_connect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_exit(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_all_socket_close(void){}
-
-void l7vs::tcp_session::down_thread_realserver_receive(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_connection_chk_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_send(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_receive(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_exit(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_all_socket_close(){}
-
-void l7vs::tcp_session::up_thread_client_accept(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::to_time(int in, boost::xtime &xt){}
-
-l7vs::udp_session::udp_session(virtualservice_udp& vs, boost::asio::io_service& session_io) : io( session_io ),
- parent_service( vs ),
- client_side_socket( io ) {}
-l7vs::udp_session::~udp_session(){}
-l7vs::session_result_message l7vs::udp_session::initialize(const udp_endpoint listen_end){
- l7vs::session_result_message result;
- return result;
-}
-
-void l7vs::udp_session::set_virtual_service_message(const UDP_VIRTUAL_SERVICE_MESSAGE_TAG message){}
-void l7vs::udp_session::run(void){}
-bool l7vs::udp_session::client_send(const udp_endpoint client_endpoint, const udp_session_buff& data_buff,const std::size_t data_size,boost::system::error_code& ec){
- return true;
+void l7vs::tcp_session::up_thread_client_accept_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_receive(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_respond(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_send(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_connect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_send(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_connect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_exit(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_all_socket_close(void) {}
+
+void l7vs::tcp_session::down_thread_realserver_receive(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_connection_chk_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_send(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_receive(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_exit(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_all_socket_close() {}
+
+void l7vs::tcp_session::up_thread_client_accept(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::to_time(int in, boost::xtime &xt) {}
+
+l7vs::udp_session::udp_session(virtualservice_udp &vs, boost::asio::io_service &session_io) : io(session_io),
+ parent_service(vs),
+ client_side_socket(io) {}
+l7vs::udp_session::~udp_session() {}
+l7vs::session_result_message l7vs::udp_session::initialize(const udp_endpoint listen_end)
+{
+ l7vs::session_result_message result;
+ return result;
+}
+
+void l7vs::udp_session::set_virtual_service_message(const UDP_VIRTUAL_SERVICE_MESSAGE_TAG message) {}
+void l7vs::udp_session::run(void) {}
+bool l7vs::udp_session::client_send(const udp_endpoint client_endpoint, const udp_session_buff &data_buff, const std::size_t data_size, boost::system::error_code &ec)
+{
+ return true;
}
-void l7vs::udp_session::release_request(const boost::thread::id release_thread_id){}
+void l7vs::udp_session::release_request(const boost::thread::id release_thread_id) {}
-void l7vs::udp_session::make_request_thread(const int max_count){}
-void l7vs::udp_session::active_request_thread(const udp_endpoint client_endpoint , const udp_session_buff receive_data, const std::size_t receive_size){}
-void l7vs::udp_session::all_active_request_stop(void){}
+void l7vs::udp_session::make_request_thread(const int max_count) {}
+void l7vs::udp_session::active_request_thread(const udp_endpoint client_endpoint , const udp_session_buff receive_data, const std::size_t receive_size) {}
+void l7vs::udp_session::all_active_request_stop(void) {}
//--tests--
-void equal_test(){
- l7vs::virtualservice_element vs1;
- l7vs::virtualservice_element vs2;
+void equal_test()
+{
+ l7vs::virtualservice_element vs1;
+ l7vs::virtualservice_element vs2;
- BOOST_CHECK( vs1 == vs2 );
- BOOST_CHECK( !(vs1 != vs2) );
+ BOOST_CHECK(vs1 == vs2);
+ BOOST_CHECK(!(vs1 != vs2));
- vs1.udpmode = true;
- vs2.udpmode = false;
+ vs1.udpmode = true;
+ vs2.udpmode = false;
- BOOST_CHECK( vs1 != vs2 );
- BOOST_CHECK( !(vs1 == vs2) );
+ BOOST_CHECK(vs1 != vs2);
+ BOOST_CHECK(!(vs1 == vs2));
- vs1.udpmode = true;
- vs2.udpmode = true;
+ vs1.udpmode = true;
+ vs2.udpmode = true;
- vs1.access_log_rotate_arguments["key"] = "value";
- vs2.access_log_rotate_arguments["key"] = "val";
+ vs1.access_log_rotate_arguments["key"] = "value";
+ vs2.access_log_rotate_arguments["key"] = "val";
- std::stringstream s;
- s << "vs1=" << vs1;
- s << "vs2=" << vs2;
- BOOST_MESSAGE( s.str() );
+ std::stringstream s;
+ s << "vs1=" << vs1;
+ s << "vs2=" << vs2;
+ BOOST_MESSAGE(s.str());
- BOOST_CHECK( vs1 != vs2 );
- BOOST_CHECK( !(vs1 == vs2) );
+ BOOST_CHECK(vs1 != vs2);
+ BOOST_CHECK(!(vs1 == vs2));
}
-void copy_test(){
- l7vs::virtualservice_element vs1;
- l7vs::virtualservice_element vs2;
+void copy_test()
+{
+ l7vs::virtualservice_element vs1;
+ l7vs::virtualservice_element vs2;
+
+ vs1.access_log_rotate_arguments["key"] = "value";
- vs1.access_log_rotate_arguments["key"] = "value";
+ BOOST_CHECK(vs1 != vs2);
+ BOOST_CHECK(!(vs1 == vs2));
- BOOST_CHECK( vs1 != vs2 );
- BOOST_CHECK( !(vs1 == vs2) );
+ vs2 = vs1;
- vs2 = vs1;
+ BOOST_CHECK(vs1 == vs2);
+ BOOST_CHECK(!(vs1 != vs2));
- BOOST_CHECK( vs1 == vs2 );
- BOOST_CHECK( !(vs1 != vs2) );
-
}
-void archive_test(){
- l7vs::virtualservice_element vs1;
- l7vs::virtualservice_element vs2;
- //save
- {
- vs1.access_log_rotate_arguments["key"] = "value";
- std::ofstream file( "save.dat" );
- boost::archive::text_oarchive oa( file );
- oa << (const l7vs::virtualservice_element)vs1;
- }
- //load
- {
- std::ifstream file("save.dat");
- boost::archive::text_iarchive ia( file );
- ia >> vs2;
- }
+void archive_test()
+{
+ l7vs::virtualservice_element vs1;
+ l7vs::virtualservice_element vs2;
+ //save
+ {
+ vs1.access_log_rotate_arguments["key"] = "value";
+ std::ofstream file("save.dat");
+ boost::archive::text_oarchive oa(file);
+ oa << (const l7vs::virtualservice_element)vs1;
+ }
+ //load
+ {
+ std::ifstream file("save.dat");
+ boost::archive::text_iarchive ia(file);
+ ia >> vs2;
+ }
// std::stringstream buf;
// buf << vs2;
- std::cout << vs2<< std::endl;
- //unit_test[1]
- BOOST_CHECK( vs1 == vs2 );
- BOOST_CHECK( !(vs1 != vs2) );
+ std::cout << vs2 << std::endl;
+ //unit_test[1]
+ BOOST_CHECK(vs1 == vs2);
+ BOOST_CHECK(!(vs1 != vs2));
+
-
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
- test_suite* ts = BOOST_TEST_SUITE( "vselement class test" );
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
+ test_suite *ts = BOOST_TEST_SUITE("vselement class test");
- ts->add( BOOST_TEST_CASE( &equal_test ) );
- ts->add( BOOST_TEST_CASE( ©_test ) );
- ts->add( BOOST_TEST_CASE( &archive_test ) );
+ ts->add(BOOST_TEST_CASE(&equal_test));
+ ts->add(BOOST_TEST_CASE(©_test));
+ ts->add(BOOST_TEST_CASE(&archive_test));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
-#ifndef ERROR_CODE_H
-#define ERROR_CODE_H
+#ifndef ERROR_CODE_H
+#define ERROR_CODE_H
#include <string>
namespace l7vs{
-//! @class error_code
-//! @brief getValue error
-//! @brief this class is POD
-class error_code{
+//! @class error_code
+//! @brief getValue error
+//! @brief this class is POD
+class error_code{
protected:
- bool flag; //!< errorcode flag
- std::string msg; //!< errorcode message
+ bool flag; //!< errorcode flag
+ std::string msg; //!< errorcode message
public:
- error_code() : flag(false){} //!< constractor
- //! setter constractor
- //! @param[in] flags
- //! @param[in] error message
- error_code( const bool inflg, const std::string& instr ){
- flag = inflg;
- msg = instr;
- }
- bool operator==( const bool in )const { return ( flag == in ); } //!< operator== orverload
- bool operator!=( const bool in )const { return ( flag != in ); } //!< operator!= orverload
- bool operator!() const { return !flag; } //!< operator! orverload
- typedef void (*unspecified_bool_type)(); //!< if return function
- static void unspecified_bool_true() {} //!< if true orverload function
- operator unspecified_bool_type() const { return flag == 0 ? 0 : unspecified_bool_true; } //!< if() orverload
- const std::string& get_message() const { return msg; } //!< message getter
- //! error setter
- //! @param[in] flags
- //! @param[in] error message
- void setter( const bool flg, const std::string& instr ){
- flag = flg;
- msg = instr;
- }
+ error_code() : flag(false){} //!< constractor
+ //! setter constractor
+ //! @param[in] flags
+ //! @param[in] error message
+ error_code( const bool inflg, const std::string& instr ){
+ flag = inflg;
+ msg = instr;
+ }
+ bool operator==( const bool in )const { return ( flag == in ); } //!< operator== orverload
+ bool operator!=( const bool in )const { return ( flag != in ); } //!< operator!= orverload
+ bool operator!() const { return !flag; } //!< operator! orverload
+ typedef void (*unspecified_bool_type)(); //!< if return function
+ static void unspecified_bool_true() {} //!< if true orverload function
+ operator unspecified_bool_type() const { return flag == 0 ? 0 : unspecified_bool_true; } //!< if() orverload
+ const std::string& get_message() const { return msg; } //!< message getter
+ //! error setter
+ //! @param[in] flags
+ //! @param[in] error message
+ void setter( const bool flg, const std::string& instr ){
+ flag = flg;
+ msg = instr;
+ }
};
}
namespace l7vs{
-//! @enum LOG_LV_TAG
-//! @brief LogLevel enumeration.
-enum LOG_LEVEL_TAG {
- LOG_LV_NONE = 0, //!< loglevel is none
- LOG_LV_DEBUG, //!< loglevel is debug
- LOG_LV_INFO, //!< loglevel is info
- LOG_LV_WARN, //!< loglevel is warn
- LOG_LV_ERROR, //!< loglevel is error
- LOG_LV_FATAL //!< loglevel is fatal
+//! @enum LOG_LV_TAG
+//! @brief LogLevel enumeration.
+enum LOG_LEVEL_TAG {
+ LOG_LV_NONE = 0, //!< loglevel is none
+ LOG_LV_DEBUG, //!< loglevel is debug
+ LOG_LV_INFO, //!< loglevel is info
+ LOG_LV_WARN, //!< loglevel is warn
+ LOG_LV_ERROR, //!< loglevel is error
+ LOG_LV_FATAL //!< loglevel is fatal
};
//! loglevel enum incliment function
-//! @param[in] logleveltag refarence
-//! @return logleveltag reference
+//! @param[in] logleveltag refarence
+//! @return logleveltag reference
inline LOG_LEVEL_TAG& operator++(LOG_LEVEL_TAG& level) {
- level = static_cast<LOG_LEVEL_TAG>(level + 1);
- return level;
+ level = static_cast<LOG_LEVEL_TAG>(level + 1);
+ return level;
}
-//! @enum LOG_CATEGORY_TAG
-//! @brief Category enumeration.
-//! @brief LOG_CAT_SSLPROXY_LOGGER should be first for logger log.
+//! @enum LOG_CATEGORY_TAG
+//! @brief Category enumeration.
+//! @brief LOG_CAT_SSLPROXY_LOGGER should be first for logger log.
enum LOG_CATEGORY_TAG{
- LOG_CAT_NONE = 0, //!< logcategory is none
- LOG_CAT_L7VSD_NETWORK, //!< logcategory is network
- LOG_CAT_L7VSD_NETWORK_QOS, //!< logcategory is QoS
- LOG_CAT_L7VSD_NETWORK_BANDWIDTH, //!< logcategory is bps
- LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION, //!< logcategory is connection count
- LOG_CAT_L7VSD_NETWORK_ACCESS, //!< logcategory is access log
- LOG_CAT_L7VSD_MAINTHREAD, //!< logcategory is mainthread
- LOG_CAT_L7VSD_VIRTUALSERVICE, //!< logcategory is virtualservice
- LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, //!< logcategory is virtualservice thread
- LOG_CAT_L7VSD_SESSION, //!< logcategory is session
- LOG_CAT_L7VSD_SESSION_THREAD, //!< logcategory is session thread
- LOG_CAT_L7VSD_REALSERVER, //!< logcategory is realserver
- LOG_CAT_L7VSD_SORRYSERVER, //!< logcategory is sollyserver
- LOG_CAT_L7VSD_MODULE, //!< logcategory is module controler
- LOG_CAT_L7VSD_REPLICATION, //!< logcategory is replication
- LOG_CAT_L7VSD_REPLICATION_SENDTHREAD, //!< logcategory is replication send thread
- LOG_CAT_L7VSD_PARAMETER, //!< logcategory is parameter
- LOG_CAT_L7VSD_LOGGER, //!< logcategory is logger
- LOG_CAT_L7VSD_COMMAND, //!< logcategory is command reciver
- LOG_CAT_L7VSD_START_STOP, //!< logcategory is main function used
- LOG_CAT_L7VSD_SYSTEM, //!< logcategory is systemcall other
- LOG_CAT_L7VSD_SYSTEM_MEMORY, //!< logcategory is systemcall memory
- LOG_CAT_L7VSD_SYSTEM_ENDPOINT, //!< logcategory is systemcall socket
- LOG_CAT_L7VSD_SYSTEM_SIGNAL, //!< logcategory is systemcall signal
- LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT, //!< logcategory is systemcall env
- LOG_CAT_L7VSD_SNMPBRIDGE, //!< logcategory is snmp_bridge
-
- LOG_CAT_PROTOCOL, //!< logcategory is protocol.
- LOG_CAT_SCHEDULE, //!< logcategory is schedule
-
- LOG_CAT_L7VSADM_PARSE, //!< logcategory is parse
- LOG_CAT_L7VSADM_OPERATE, //!< logcategory is operate
- LOG_CAT_L7VSADM_CONFIG_RESULT, //!< logcategory is configure
- LOG_CAT_L7VSADM_COMMON, //!< logcategory is other
- LOG_CAT_L7VSADM_LOGGER, //!< logcategory is logger
- LOG_CAT_L7VSADM_PARAMETER, //!< logcategory is parameter
- LOG_CAT_L7VSADM_MODULE, //!< logcategory is module control
-
- LOG_CAT_SNMPAGENT_START_STOP, //!< logcategory is snmpagent main
- LOG_CAT_SNMPAGENT_MANAGER_RECEIVE, //!< logcategory is manager send
- LOG_CAT_SNMPAGENT_MANAGER_SEND, //!< logcategory is manager recv
- LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, //!< logcategory is snmpbrigde recv
- LOG_CAT_SNMPAGENT_L7VSD_SEND, //!< logcategory is snmpbrigre send
- LOG_CAT_SNMPAGENT_LOGGER, //!< logcategory is manager logger
- LOG_CAT_SNMPAGENT_PARAMETER, //!< logcategory is manager parameter
- LOG_CAT_SNMPAGENT_SYSTEM, //!< logcategory is snmpagent systemcall other
- LOG_CAT_SNMPAGENT_SYSTEM_MEMORY, //!< logcategory is snmpagent systemcall memory
- LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT, //!< logcategory is snmpagent systemcall socket
- LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL, //!< logcategory is snmpagent systemcall signal
- LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT, //!< logcategory is snmpagent systemcall env
-
- LOG_CAT_SSLPROXY_LOGGER, //!< logcategory is snmpproxy logger
- LOG_CAT_SSLPROXY_PARAMETER, //!< logcategory is snmpproxy parameter
- LOG_CAT_SSLPROXY_COMMON, //!< logcategory is snmpproxy common
- LOG_CAT_SSLPROXY_SERVER, //!< logcategory is snmpproxy server
- LOG_CAT_SSLPROXY_SESSION, //!< logcategory is snmpproxy session
- LOG_CAT_SSLPROXY_CONNECTION, //!< logcategory is snmpproxy connection
- LOG_CAT_END, //!< end of logcategory
+ LOG_CAT_NONE = 0, //!< logcategory is none
+ LOG_CAT_L7VSD_NETWORK, //!< logcategory is network
+ LOG_CAT_L7VSD_NETWORK_QOS, //!< logcategory is QoS
+ LOG_CAT_L7VSD_NETWORK_BANDWIDTH, //!< logcategory is bps
+ LOG_CAT_L7VSD_NETWORK_NUM_CONNECTION, //!< logcategory is connection count
+ LOG_CAT_L7VSD_NETWORK_ACCESS, //!< logcategory is access log
+ LOG_CAT_L7VSD_MAINTHREAD, //!< logcategory is mainthread
+ LOG_CAT_L7VSD_VIRTUALSERVICE, //!< logcategory is virtualservice
+ LOG_CAT_L7VSD_VIRTUALSERVICE_THREAD, //!< logcategory is virtualservice thread
+ LOG_CAT_L7VSD_SESSION, //!< logcategory is session
+ LOG_CAT_L7VSD_SESSION_THREAD, //!< logcategory is session thread
+ LOG_CAT_L7VSD_REALSERVER, //!< logcategory is realserver
+ LOG_CAT_L7VSD_SORRYSERVER, //!< logcategory is sollyserver
+ LOG_CAT_L7VSD_MODULE, //!< logcategory is module controler
+ LOG_CAT_L7VSD_REPLICATION, //!< logcategory is replication
+ LOG_CAT_L7VSD_REPLICATION_SENDTHREAD, //!< logcategory is replication send thread
+ LOG_CAT_L7VSD_PARAMETER, //!< logcategory is parameter
+ LOG_CAT_L7VSD_LOGGER, //!< logcategory is logger
+ LOG_CAT_L7VSD_COMMAND, //!< logcategory is command reciver
+ LOG_CAT_L7VSD_START_STOP, //!< logcategory is main function used
+ LOG_CAT_L7VSD_SYSTEM, //!< logcategory is systemcall other
+ LOG_CAT_L7VSD_SYSTEM_MEMORY, //!< logcategory is systemcall memory
+ LOG_CAT_L7VSD_SYSTEM_ENDPOINT, //!< logcategory is systemcall socket
+ LOG_CAT_L7VSD_SYSTEM_SIGNAL, //!< logcategory is systemcall signal
+ LOG_CAT_L7VSD_SYSTEM_ENVIRONMENT, //!< logcategory is systemcall env
+ LOG_CAT_L7VSD_SNMPBRIDGE, //!< logcategory is snmp_bridge
+
+ LOG_CAT_PROTOCOL, //!< logcategory is protocol.
+ LOG_CAT_SCHEDULE, //!< logcategory is schedule
+
+ LOG_CAT_L7VSADM_PARSE, //!< logcategory is parse
+ LOG_CAT_L7VSADM_OPERATE, //!< logcategory is operate
+ LOG_CAT_L7VSADM_CONFIG_RESULT, //!< logcategory is configure
+ LOG_CAT_L7VSADM_COMMON, //!< logcategory is other
+ LOG_CAT_L7VSADM_LOGGER, //!< logcategory is logger
+ LOG_CAT_L7VSADM_PARAMETER, //!< logcategory is parameter
+ LOG_CAT_L7VSADM_MODULE, //!< logcategory is module control
+
+ LOG_CAT_SNMPAGENT_START_STOP, //!< logcategory is snmpagent main
+ LOG_CAT_SNMPAGENT_MANAGER_RECEIVE, //!< logcategory is manager send
+ LOG_CAT_SNMPAGENT_MANAGER_SEND, //!< logcategory is manager recv
+ LOG_CAT_SNMPAGENT_L7VSD_RECEIVE, //!< logcategory is snmpbrigde recv
+ LOG_CAT_SNMPAGENT_L7VSD_SEND, //!< logcategory is snmpbrigre send
+ LOG_CAT_SNMPAGENT_LOGGER, //!< logcategory is manager logger
+ LOG_CAT_SNMPAGENT_PARAMETER, //!< logcategory is manager parameter
+ LOG_CAT_SNMPAGENT_SYSTEM, //!< logcategory is snmpagent systemcall other
+ LOG_CAT_SNMPAGENT_SYSTEM_MEMORY, //!< logcategory is snmpagent systemcall memory
+ LOG_CAT_SNMPAGENT_SYSTEM_ENDPOINT, //!< logcategory is snmpagent systemcall socket
+ LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL, //!< logcategory is snmpagent systemcall signal
+ LOG_CAT_SNMPAGENT_SYSTEM_ENVIRONMENT, //!< logcategory is snmpagent systemcall env
+
+ LOG_CAT_SSLPROXY_LOGGER, //!< logcategory is snmpproxy logger
+ LOG_CAT_SSLPROXY_PARAMETER, //!< logcategory is snmpproxy parameter
+ LOG_CAT_SSLPROXY_COMMON, //!< logcategory is snmpproxy common
+ LOG_CAT_SSLPROXY_SERVER, //!< logcategory is snmpproxy server
+ LOG_CAT_SSLPROXY_SESSION, //!< logcategory is snmpproxy session
+ LOG_CAT_SSLPROXY_CONNECTION, //!< logcategory is snmpproxy connection
+ LOG_CAT_END, //!< end of logcategory
};
//! logcategory enum incliment function
-//! @param[in] logcategorytag refarence
-//! @return logcategorytag reference
+//! @param[in] logcategorytag refarence
+//! @return logcategorytag reference
inline LOG_CATEGORY_TAG& operator++(LOG_CATEGORY_TAG& cat) {
- cat = static_cast<LOG_CATEGORY_TAG>(cat + 1);
- return cat;
+ cat = static_cast<LOG_CATEGORY_TAG>(cat + 1);
+ return cat;
}
//! typedef category level pair list
-typedef std::list< std::pair< LOG_CATEGORY_TAG, LOG_LEVEL_TAG > >
- category_level_list_type;
+typedef std::list< std::pair< LOG_CATEGORY_TAG, LOG_LEVEL_TAG > >
+ category_level_list_type;
//! typedef snmp send trap func type
typedef boost::function<void( const std::string& )>
- snmpSendtrapFuncType;
+ snmpSendtrapFuncType;
} //namespace l7vs
-#endif //__LOGGER_ENUM_H__
+#endif //__LOGGER_ENUM_H__
namespace l7vs
{
- class ParameterImpl;
- class Parameter
- {
+ class ParameterImpl;
+ class Parameter
+ {
public:
Parameter(); //!< default constractor
~Parameter(); //!< default destractor
const std::string& = PARAMETER_FILE );
- void setIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const int value);
- void setStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const std::string& value);
+ void setIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const int value);
+ void setStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const std::string& value);
void deleteIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key);
void deleteStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key);
- };
+ };
};
-
-#endif //PARAMETER_H__
+
+#endif //PARAMETER_H__
namespace l7vs
{
- struct component{
- std::string section;
- void (*function)();
- component(){ section = ""; function = NULL;}
- component( std::string str, void (*p_func)() ){ section = str; function = p_func;}
- component& operator=(const component& in_comp){ section = in_comp.section; function = in_comp.function;return *this;}
- };
+ struct component{
+ std::string section;
+ void (*function)();
+ component(){ section = ""; function = NULL;}
+ component( std::string str, void (*p_func)() ){ section = str; function = p_func;}
+ component& operator=(const component& in_comp){ section = in_comp.section; function = in_comp.function;return *this;}
+ };
class ParameterImpl : private boost::noncopyable {
protected:
typedef std::map< std::string, int > int_map_type;
error_code&,
const std::string& );
- void setIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const int value);
+ void setIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const int value);
- void setStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const std::string& value);
+ void setStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key, const std::string& value);
void deleteIntValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key);
void deleteStringValue(const PARAMETER_COMPONENT_TAG comp, const std::string& key);
- };
+ };
};
-#endif //PARAMETER_IMPL_H__
+#endif //PARAMETER_IMPL_H__
// protocol_module_control STUB code
-l7vs::protocol_module_control& l7vs::protocol_module_control::getInstance(){
- static protocol_module_control instance;
- return instance;
+l7vs::protocol_module_control &l7vs::protocol_module_control::getInstance()
+{
+ static protocol_module_control instance;
+ return instance;
}
-void l7vs::protocol_module_control::initialize( const std::string& infile_path ){}
-void l7vs::protocol_module_control::finalize(){}
-l7vs::protocol_module_base* l7vs::protocol_module_control::load_module( const std::string& modulename ){
- l7vs::protocol_module_base* return_value = NULL;
+void l7vs::protocol_module_control::initialize(const std::string &infile_path) {}
+void l7vs::protocol_module_control::finalize() {}
+l7vs::protocol_module_base *l7vs::protocol_module_control::load_module(const std::string &modulename)
+{
+ l7vs::protocol_module_base *return_value = NULL;
- if( !debugg_flug_struct::getInstance().pmcontrol_err_flag() )
- return_value = new l7vs::protocol_module_test1();
+ if (!debugg_flug_struct::getInstance().pmcontrol_err_flag())
+ return_value = new l7vs::protocol_module_test1();
- return return_value;
+ return return_value;
}
-void l7vs::protocol_module_control::unload_module( protocol_module_base* module_ptr ){
- delete module_ptr;
+void l7vs::protocol_module_control::unload_module(protocol_module_base *module_ptr)
+{
+ delete module_ptr;
}
-l7vs::schedule_module_control& l7vs::schedule_module_control::getInstance(){
- static schedule_module_control instance;
- return instance;
+l7vs::schedule_module_control &l7vs::schedule_module_control::getInstance()
+{
+ static schedule_module_control instance;
+ return instance;
}
-void l7vs::schedule_module_control::initialize( const std::string& infile_path ){}
-void l7vs::schedule_module_control::finalize(){}
-l7vs::schedule_module_base* l7vs::schedule_module_control::load_module( const std::string& modulename ){
- l7vs::schedule_module_base* return_value = NULL;
+void l7vs::schedule_module_control::initialize(const std::string &infile_path) {}
+void l7vs::schedule_module_control::finalize() {}
+l7vs::schedule_module_base *l7vs::schedule_module_control::load_module(const std::string &modulename)
+{
+ l7vs::schedule_module_base *return_value = NULL;
- if( !debugg_flug_struct::getInstance().smcontrol_err_flag() )
- return_value = new schedule_module_test1;
+ if (!debugg_flug_struct::getInstance().smcontrol_err_flag())
+ return_value = new schedule_module_test1;
- return return_value;
+ return return_value;
}
-void l7vs::schedule_module_control::unload_module( schedule_module_base* module_ptr ){
- delete module_ptr;
+void l7vs::schedule_module_control::unload_module(schedule_module_base *module_ptr)
+{
+ delete module_ptr;
}
/*
}
*/
l7vs::Logger::Logger() :
- scopedLogCategory(LOG_CAT_L7VSD_LOGGER),
- scopedLogId(0),
- scopedLogMessage("Logger Constructor"),
- scopedLogFile(__FILE__),
- scopedLogLine(__LINE__) {}
+ scopedLogCategory(LOG_CAT_L7VSD_LOGGER),
+ scopedLogId(0),
+ scopedLogMessage("Logger Constructor"),
+ scopedLogFile(__FILE__),
+ scopedLogLine(__LINE__) {}
-l7vs::Logger::Logger( LOG_CATEGORY_TAG cat, const unsigned int id, const std::string& msg, const char* file, int line) :
- scopedLogCategory(cat),
- scopedLogId(id),
- scopedLogMessage(msg),
- scopedLogFile(file),
- scopedLogLine(line) {}
+l7vs::Logger::Logger(LOG_CATEGORY_TAG cat, const unsigned int id, const std::string &msg, const char *file, int line) :
+ scopedLogCategory(cat),
+ scopedLogId(id),
+ scopedLogMessage(msg),
+ scopedLogFile(file),
+ scopedLogLine(line) {}
-l7vs::Logger::~Logger(){}
+l7vs::Logger::~Logger() {}
-void l7vs::Logger::loadConf(){}
+void l7vs::Logger::loadConf() {}
-l7vs::LOG_LEVEL_TAG l7vs::Logger::getLogLevel( l7vs::LOG_CATEGORY_TAG ){
- l7vs::LOG_LEVEL_TAG ret_tag = l7vs::LOG_LV_INFO;
- return ret_tag;
+l7vs::LOG_LEVEL_TAG l7vs::Logger::getLogLevel(l7vs::LOG_CATEGORY_TAG)
+{
+ l7vs::LOG_LEVEL_TAG ret_tag = l7vs::LOG_LV_INFO;
+ return ret_tag;
}
-bool l7vs::Logger::setLogLevel( l7vs::LOG_CATEGORY_TAG cat, l7vs::LOG_LEVEL_TAG level ){
- return true;
+bool l7vs::Logger::setLogLevel(l7vs::LOG_CATEGORY_TAG cat, l7vs::LOG_LEVEL_TAG level)
+{
+ return true;
}
-void l7vs::Logger::putLogFatal( l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string& msg, const char*, int ){
- std::cout << "FATAL : " << msg << std::endl;
+void l7vs::Logger::putLogFatal(l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string &msg, const char *, int)
+{
+ std::cout << "FATAL : " << msg << std::endl;
}
-void l7vs::Logger::putLogError( l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string& msg, const char*, int ){
- std::cout << "ERROR : " << msg << std::endl;
+void l7vs::Logger::putLogError(l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string &msg, const char *, int)
+{
+ std::cout << "ERROR : " << msg << std::endl;
}
-void l7vs::Logger::putLogWarn( l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string& msg, const char*, int ){
- std::cout << "WARN : " << msg << std::endl;
+void l7vs::Logger::putLogWarn(l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string &msg, const char *, int)
+{
+ std::cout << "WARN : " << msg << std::endl;
}
-void l7vs::Logger::putLogInfo( l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string& msg, const char*, int ){
- std::cout << "INFO : " << msg << std::endl;
+void l7vs::Logger::putLogInfo(l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string &msg, const char *, int)
+{
+ std::cout << "INFO : " << msg << std::endl;
}
-void l7vs::Logger::putLogDebug( l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string& msg, const char*, int ){
- std::cout << "DEBUG : " << msg << std::endl;
+void l7vs::Logger::putLogDebug(l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string &msg, const char *, int)
+{
+ std::cout << "DEBUG : " << msg << std::endl;
}
-l7vs::l7vsd::l7vsd(){}
-l7vs::l7vsd::~l7vsd(){}
-l7vs::l7vsd::vslist_type::iterator l7vs::l7vsd::search_vslist( const virtualservice_element&, bool ) const{
- return vslist.begin();
+l7vs::l7vsd::l7vsd() {}
+l7vs::l7vsd::~l7vsd() {}
+l7vs::l7vsd::vslist_type::iterator l7vs::l7vsd::search_vslist(const virtualservice_element &, bool) const
+{
+ return vslist.begin();
}
-void l7vs::l7vsd::release_virtual_service( const virtualservice_element& ) const {}
+void l7vs::l7vsd::release_virtual_service(const virtualservice_element &) const {}
-int l7vs::replication::initialize(){
- return 0;
-}
-void l7vs::replication::finalize(){}
-void l7vs::replication::switch_to_master(){}
-void l7vs::replication::switch_to_slave(){}
-void* l7vs::replication::pay_memory( const std::string& inid, unsigned int& outsize ){
- void* retval = debugg_flug_struct::getInstance().get_rep_area();
- outsize = l7vs::virtualservice_base::MAX_REPLICATION_DATA_NUM;
- return retval;
+int l7vs::replication::initialize()
+{
+ return 0;
}
-void l7vs::replication::dump_memory(){}
-void l7vs::replication::start(){}
-void l7vs::replication::stop(){}
-void l7vs::replication::force_replicate(){}
-void l7vs::replication::reset(){}
-l7vs::replication::REPLICATION_MODE_TAG l7vs::replication::get_status(){
- l7vs::replication::REPLICATION_MODE_TAG retmode = l7vs::replication::REPLICATION_OUT;
- return retmode;
+void l7vs::replication::finalize() {}
+void l7vs::replication::switch_to_master() {}
+void l7vs::replication::switch_to_slave() {}
+void *l7vs::replication::pay_memory(const std::string &inid, unsigned int &outsize)
+{
+ void *retval = debugg_flug_struct::getInstance().get_rep_area();
+ outsize = l7vs::virtualservice_base::MAX_REPLICATION_DATA_NUM;
+ return retval;
+}
+void l7vs::replication::dump_memory() {}
+void l7vs::replication::start() {}
+void l7vs::replication::stop() {}
+void l7vs::replication::force_replicate() {}
+void l7vs::replication::reset() {}
+l7vs::replication::REPLICATION_MODE_TAG l7vs::replication::get_status()
+{
+ l7vs::replication::REPLICATION_MODE_TAG retmode = l7vs::replication::REPLICATION_OUT;
+ return retmode;
}
-int l7vs::replication::handle_send(){
- return 0;
+int l7vs::replication::handle_send()
+{
+ return 0;
}
-void l7vs::replication::handle_receive( const boost::system::error_code& err, size_t size ){
+void l7vs::replication::handle_receive(const boost::system::error_code &err, size_t size)
+{
}
-int l7vs::replication::lock( const std::string& inid ){
- return 0;
+int l7vs::replication::lock(const std::string &inid)
+{
+ return 0;
}
-int l7vs::replication::unlock( const std::string& inid ){
- return 0;
+int l7vs::replication::unlock(const std::string &inid)
+{
+ return 0;
}
-int l7vs::replication::refer_lock_mutex( const std::string& inid, mutex_ptr& outmutex ){
- return 0;
+int l7vs::replication::refer_lock_mutex(const std::string &inid, mutex_ptr &outmutex)
+{
+ return 0;
}
/*
return send_size;
}
*/
-l7vs::tcp_realserver_connect_socket_list::tcp_realserver_connect_socket_list(){}
-l7vs::tcp_realserver_connect_socket_list::~tcp_realserver_connect_socket_list(){}
-void l7vs::tcp_realserver_connect_socket_list::push_back(list_element realserver_socket){}
-l7vs::tcp_realserver_connect_socket_list::list_element l7vs::tcp_realserver_connect_socket_list::get_socket(){
- l7vs::tcp_realserver_connect_socket_list::list_element retval;
- return retval;
+l7vs::tcp_realserver_connect_socket_list::tcp_realserver_connect_socket_list() {}
+l7vs::tcp_realserver_connect_socket_list::~tcp_realserver_connect_socket_list() {}
+void l7vs::tcp_realserver_connect_socket_list::push_back(list_element realserver_socket) {}
+l7vs::tcp_realserver_connect_socket_list::list_element l7vs::tcp_realserver_connect_socket_list::get_socket()
+{
+ l7vs::tcp_realserver_connect_socket_list::list_element retval;
+ return retval;
}
-bool l7vs::tcp_realserver_connect_socket_list::empty(){
- return true;
+bool l7vs::tcp_realserver_connect_socket_list::empty()
+{
+ return true;
}
//l7vs::tcp_thread_message::tcp_thread_message(){}
/*
l7vs::tcp_thread_message_que::tcp_thread_message_que(){}
l7vs::tcp_thread_message_que::~tcp_thread_message_que(){}
-void l7vs::tcp_thread_message_que::push(tcp_thread_message_ptr message){}
-l7vs::tcp_thread_message_que::tcp_thread_message_ptr l7vs::tcp_thread_message_que::front(){
- return message_que.front();
+void l7vs::tcp_thread_message_que::push(tcp_thread_message_ptr message){}
+l7vs::tcp_thread_message_que::tcp_thread_message_ptr l7vs::tcp_thread_message_que::front(){
+ return message_que.front();
}
-bool l7vs::tcp_thread_message_que::empty(){
- return true;
+bool l7vs::tcp_thread_message_que::empty(){
+ return true;
}
-void l7vs::tcp_thread_message_que::clear(){}
+void l7vs::tcp_thread_message_que::clear(){}
*/
/*
l7vs::tcp_data::tcp_data(){}
//l7vs::tcp_socket::tcp_socket(boost::asio::io_service& io) : my_socket( io ){}
//l7vs::tcp_socket::~tcp_socket(){}
-//boost::asio::ip::tcp::socket& l7vs::tcp_socket::get_socket(){
-// return my_socket;
+//boost::asio::ip::tcp::socket& l7vs::tcp_socket::get_socket(){
+// return my_socket;
//}
-bool l7vs::tcp_socket::connect(const boost::asio::ip::tcp::endpoint connect_endpoint,boost::system::error_code& ec){
- return true;
+bool l7vs::tcp_socket::connect(const boost::asio::ip::tcp::endpoint connect_endpoint, boost::system::error_code &ec)
+{
+ return true;
}
-bool l7vs::tcp_socket::close(boost::system::error_code& ec){
- return true;
+bool l7vs::tcp_socket::close(boost::system::error_code &ec)
+{
+ return true;
}
-bool l7vs::tcp_socket::set_non_blocking_mode(boost::system::error_code& ec){
- return true;
+bool l7vs::tcp_socket::set_non_blocking_mode(boost::system::error_code &ec)
+{
+ return true;
}
-std::size_t l7vs::tcp_socket::write_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code& ec){
- size_t ret = 0;
- return ret;
+std::size_t l7vs::tcp_socket::write_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code &ec)
+{
+ size_t ret = 0;
+ return ret;
}
-std::size_t l7vs::tcp_socket::read_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code& ec){
- size_t ret = 0;
- return ret;
+std::size_t l7vs::tcp_socket::read_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code &ec)
+{
+ size_t ret = 0;
+ return ret;
}
-l7vs::tcp_session::tcp_session(virtualservice_tcp& vs,
- boost::asio::io_service& session_io,
- const tcp_socket_option_info set_option,
- const boost::asio::ip::tcp::endpoint listen_endpoint,
- const bool ssl_mode,
- boost::asio::ssl::context& set_ssl_context,
- const bool set_ssl_cache_flag,
- const int set_ssl_handshake_time_out,
- logger_implement_access* set_access_logger)
+l7vs::tcp_session::tcp_session(virtualservice_tcp &vs,
+ boost::asio::io_service &session_io,
+ const tcp_socket_option_info set_option,
+ const boost::asio::ip::tcp::endpoint listen_endpoint,
+ const bool ssl_mode,
+ boost::asio::ssl::context &set_ssl_context,
+ const bool set_ssl_cache_flag,
+ const int set_ssl_handshake_time_out,
+ logger_implement_access *set_access_logger)
:
io(session_io),
parent_service(vs),
// thread_state(0),
protocol_module(NULL),
// session_pause_flag(false),
- client_socket(session_io,set_option),
+ client_socket(session_io, set_option),
upstream_buffer_size(8192),
downstream_buffer_size(8192),
virtualservice_endpoint(listen_endpoint),
access_log_flag(false),
access_logger(set_access_logger),
ssl_flag(ssl_mode),
- client_ssl_socket(session_io, set_ssl_context,set_option),
+ client_ssl_socket(session_io, set_ssl_context, set_option),
ssl_context(set_ssl_context),
ssl_cache_flag(set_ssl_cache_flag),
ssl_handshake_timer_flag(false),
ssl_handshake_time_out(set_ssl_handshake_time_out),
ssl_handshake_time_out_flag(false),
- socket_opt_info(set_option){
+ socket_opt_info(set_option)
+{
- exit_flag = false;
+ exit_flag = false;
// session_pause_flag = false;
// std::cout << "SESSION:CREATE" << std::endl;
}
-l7vs::tcp_session::~tcp_session(void){}
-l7vs::session_result_message l7vs::tcp_session::initialize(void){
- l7vs::session_result_message result;
- result.flag = false;
- return result;
+l7vs::tcp_session::~tcp_session(void) {}
+l7vs::session_result_message l7vs::tcp_session::initialize(void)
+{
+ l7vs::session_result_message result;
+ result.flag = false;
+ return result;
}
// return(result);
//}
-boost::asio::ip::tcp::socket& l7vs::tcp_session::get_client_socket(void){
- return client_socket.get_socket();
+boost::asio::ip::tcp::socket &l7vs::tcp_session::get_client_socket(void)
+{
+ return client_socket.get_socket();
}
-ssl_socket& l7vs::tcp_session::get_client_ssl_socket()
+ssl_socket &l7vs::tcp_session::get_client_ssl_socket()
{
- return client_ssl_socket.get_socket();
+ return client_ssl_socket.get_socket();
}
/*
}
*/
-void l7vs::tcp_session::set_virtual_service_message(const TCP_VIRTUAL_SERVICE_MESSAGE_TAG message){
- switch( message ){
- case SORRY_STATE_ENABLE:
- {
- boost::mutex::scoped_lock( exit_flag_update_mutex );
- exit_flag = true;
+void l7vs::tcp_session::set_virtual_service_message(const TCP_VIRTUAL_SERVICE_MESSAGE_TAG message)
+{
+ switch (message) {
+ case SORRY_STATE_ENABLE: {
+ boost::mutex::scoped_lock(exit_flag_update_mutex);
+ exit_flag = true;
}
break;
- case SORRY_STATE_DISABLE:
- {
- boost::mutex::scoped_lock( exit_flag_update_mutex );
- exit_flag = false;
+ case SORRY_STATE_DISABLE: {
+ boost::mutex::scoped_lock(exit_flag_update_mutex);
+ exit_flag = false;
}
break;
- case SESSION_END:
- {
- boost::mutex::scoped_lock( exit_flag_update_mutex );
- boost::mutex::scoped_lock( module_function_sorry_disable_mutex );
- exit_flag = true;
+ case SESSION_END: {
+ boost::mutex::scoped_lock(exit_flag_update_mutex);
+ boost::mutex::scoped_lock(module_function_sorry_disable_mutex);
+ exit_flag = true;
// session_pause_flag = true;
}
break;
- case SESSION_PAUSE_ON:
- {
- boost::mutex::scoped_lock( module_function_sorry_disable_mutex );
+ case SESSION_PAUSE_ON: {
+ boost::mutex::scoped_lock(module_function_sorry_disable_mutex);
// session_pause_flag = true;
}
break;
- case SESSION_PAUSE_OFF:
- {
- boost::mutex::scoped_lock( module_function_sorry_disable_mutex );
+ case SESSION_PAUSE_OFF: {
+ boost::mutex::scoped_lock(module_function_sorry_disable_mutex);
// session_pause_flag = false;
}
break;
- case ACCESS_LOG_ON:{
- std::cout<< "set_virtual_service_message called : ACCESS_LOG_ON" << std::endl;
- break;
- }
- case ACCESS_LOG_OFF:{
- std::cout<< "set_virtual_service_message called : ACCESS_LOG_OFF" << std::endl;
- break;
- }
+ case ACCESS_LOG_ON: {
+ std::cout << "set_virtual_service_message called : ACCESS_LOG_ON" << std::endl;
+ break;
+ }
+ case ACCESS_LOG_OFF: {
+ std::cout << "set_virtual_service_message called : ACCESS_LOG_OFF" << std::endl;
+ break;
+ }
- }
+ }
}
-void l7vs::tcp_session::up_thread_run(void){
- size_t count = 0;
- std::cout << "active session";
- std::cout << boost::this_thread::get_id() << std::endl;
- exit_flag = false;
- while( !exit_flag ){
- ++count;
- if( !debugg_flug_struct::getInstance().session_loop_flag() && (count > 30000) )
- break;
- }
- std::cout << "release session";
- parent_service.release_session( this );
+void l7vs::tcp_session::up_thread_run(void)
+{
+ size_t count = 0;
+ std::cout << "active session";
+ std::cout << boost::this_thread::get_id() << std::endl;
+ exit_flag = false;
+ while (!exit_flag) {
+ ++count;
+ if (!debugg_flug_struct::getInstance().session_loop_flag() && (count > 30000))
+ break;
+ }
+ std::cout << "release session";
+ parent_service.release_session(this);
}
-void l7vs::tcp_session::down_thread_run(void){}
+void l7vs::tcp_session::down_thread_run(void) {}
//void l7vs::tcp_session::thread_state_update(const std::bitset<TCP_SESSION_THREAD_STATE_BIT> thread_flag,const bool regist){}
-void l7vs::tcp_session::up_thread_client_accept_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_receive(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_respond(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_send(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_connect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_send(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_connect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_exit(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_all_socket_close(void){}
-
-void l7vs::tcp_session::down_thread_realserver_receive(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_connection_chk_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_send(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_receive(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_exit(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_all_socket_close(){}
-void l7vs::tcp_session::to_time(int, boost::xtime&){}
-
-void l7vs::tcp_session::up_thread_client_accept(const TCP_PROCESS_TYPE_TAG process_type){}
-
-void l7vs::tcp_session::handle_ssl_handshake_timer(const boost::system::error_code& error){}
-
-bool l7vs::tcp_session::ssl_clear_keep_cache(ssl_st*){ return(true); }
+void l7vs::tcp_session::up_thread_client_accept_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_receive(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_respond(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_send(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_connect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_send(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_connect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_exit(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_all_socket_close(void) {}
+
+void l7vs::tcp_session::down_thread_realserver_receive(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_connection_chk_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_send(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_receive(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_exit(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_all_socket_close() {}
+void l7vs::tcp_session::to_time(int, boost::xtime &) {}
+
+void l7vs::tcp_session::up_thread_client_accept(const TCP_PROCESS_TYPE_TAG process_type) {}
+
+void l7vs::tcp_session::handle_ssl_handshake_timer(const boost::system::error_code &error) {}
+
+bool l7vs::tcp_session::ssl_clear_keep_cache(ssl_st *)
+{
+ return(true);
+}
std::string l7vs::tcp_session::endpoint_to_string(
- const boost::asio::ip::tcp::endpoint& target_endpoint){ return(std::string("")); }
+ const boost::asio::ip::tcp::endpoint &target_endpoint)
+{
+ return(std::string(""));
+}
-l7vs::udp_session::udp_session(virtualservice_udp& vs, boost::asio::io_service& session_io) : io( session_io ),
- parent_service( vs ),
- client_side_socket( io ) {}
-l7vs::udp_session::~udp_session(){}
-l7vs::session_result_message l7vs::udp_session::initialize(const udp_endpoint listen_end){
- l7vs::session_result_message result;
- return result;
+l7vs::udp_session::udp_session(virtualservice_udp &vs, boost::asio::io_service &session_io) : io(session_io),
+ parent_service(vs),
+ client_side_socket(io) {}
+l7vs::udp_session::~udp_session() {}
+l7vs::session_result_message l7vs::udp_session::initialize(const udp_endpoint listen_end)
+{
+ l7vs::session_result_message result;
+ return result;
}
-void l7vs::udp_session::set_virtual_service_message(const UDP_VIRTUAL_SERVICE_MESSAGE_TAG message){}
-void l7vs::udp_session::run(void){}
-bool l7vs::udp_session::client_send(const udp_endpoint client_endpoint, const udp_session_buff& data_buff,const std::size_t data_size,boost::system::error_code& ec){
- return true;
+void l7vs::udp_session::set_virtual_service_message(const UDP_VIRTUAL_SERVICE_MESSAGE_TAG message) {}
+void l7vs::udp_session::run(void) {}
+bool l7vs::udp_session::client_send(const udp_endpoint client_endpoint, const udp_session_buff &data_buff, const std::size_t data_size, boost::system::error_code &ec)
+{
+ return true;
+}
+void l7vs::udp_session::release_request(const boost::thread::id release_thread_id) {}
+
+void l7vs::udp_session::make_request_thread(const int max_count) {}
+void l7vs::udp_session::active_request_thread(const udp_endpoint client_endpoint , const udp_session_buff receive_data, const std::size_t receive_size) {}
+void l7vs::udp_session::all_active_request_stop(void) {}
+
+
+void l7vs::session_thread_control::start_thread()
+{
+}
+void l7vs::session_thread_control::upstream_run()
+{
+ state_tag state;
+ upthread_running_mutex.lock();
+ {
+ // get first state from class upstream state.
+ rw_scoped_lock upstate_lock(upthread_state_mutex);
+ state = upthread_state; //thread local state is update.
+ }
+ for (;;) { // thread loop
+ if (state == WAIT) { // after create or session end. this thread is pooling mode
+ boost::mutex::scoped_lock lock(upthread_condition_mutex);
+// upthread_condition.wait( lock ); // thread is condition wait.( start at notify_all() )
+ boost::xtime wait;
+ boost::xtime_get(&wait, boost::TIME_UTC);
+ wait.sec += 1;
+ upthread_running_mutex.unlock();
+ upthread_condition.timed_wait(lock, wait); // thread is condition wait( start at notify_all() )
+ upthread_running_mutex.lock();
+ } else if (state == EXIT) { // this state is vitrualservice end. thread is finishing.
+ break;
+ } else { //state RUNNING
+ session->up_thread_run(); //session upstream thread looping.
+ stopupstream();
+ }
+ rw_scoped_lock upstate_lock(upthread_state_mutex);
+ state = upthread_state; //thread local state is update.
+ }
+ upthread_running_mutex.unlock();
+ boost::mutex::scoped_lock up_lk(upthread_joining_mutex);
+ upthread_joining_condition.notify_all();
}
-void l7vs::udp_session::release_request(const boost::thread::id release_thread_id){}
-
-void l7vs::udp_session::make_request_thread(const int max_count){}
-void l7vs::udp_session::active_request_thread(const udp_endpoint client_endpoint , const udp_session_buff receive_data, const std::size_t receive_size){}
-void l7vs::udp_session::all_active_request_stop(void){}
-
-
-void l7vs::session_thread_control::start_thread(){
-}
-void l7vs::session_thread_control::upstream_run(){
- state_tag state;
- upthread_running_mutex.lock();
- { // get first state from class upstream state.
- rw_scoped_lock upstate_lock( upthread_state_mutex );
- state = upthread_state; //thread local state is update.
- }
- for(;;){ // thread loop
- if( state == WAIT ){ // after create or session end. this thread is pooling mode
- boost::mutex::scoped_lock lock( upthread_condition_mutex );
-// upthread_condition.wait( lock ); // thread is condition wait.( start at notify_all() )
- boost::xtime wait;
- boost::xtime_get( &wait, boost::TIME_UTC );
- wait.sec += 1;
- upthread_running_mutex.unlock();
- upthread_condition.timed_wait( lock, wait ); // thread is condition wait( start at notify_all() )
- upthread_running_mutex.lock();
- }
- else if( state == EXIT ){ // this state is vitrualservice end. thread is finishing.
- break;
- }
- else{ //state RUNNING
- session->up_thread_run(); //session upstream thread looping.
- stopupstream();
- }
- rw_scoped_lock upstate_lock( upthread_state_mutex );
- state = upthread_state; //thread local state is update.
- }
- upthread_running_mutex.unlock();
- boost::mutex::scoped_lock up_lk( upthread_joining_mutex );
- upthread_joining_condition.notify_all();
-}
-
-void l7vs::session_thread_control::downstream_run(){
- state_tag state;
- downthread_running_mutex.lock();
- {
- rw_scoped_lock downstate_lock( downthread_state_mutex );
- state = downthread_state; //thread local state is update.
- }
- for(;;){ //thread loop
- if( state == WAIT ){ //after create or session end. this thread is pooling mode
- boost::mutex::scoped_lock lock( downthread_condition_mutex );
-// downthread_condition.wait( lock ); // thread is condition wait( start at notify_all() )
- boost::xtime wait;
- boost::xtime_get( &wait, boost::TIME_UTC );
- wait.sec += 1;
- downthread_running_mutex.unlock();
- downthread_condition.timed_wait( lock, wait ); // thread is condition wait( start at notify_all() )
- downthread_running_mutex.lock();
- }
- else if( state == EXIT ){// this state is vitrualservice end. thread is finishing.
- break;
- }
- else{ //state RUNNING
- session->down_thread_run();//session downstream thread looping.
- stopdownstream();
- }
- rw_scoped_lock downstate_lock( downthread_state_mutex );
- state = downthread_state; // thread local sate is update.
- }
- downthread_running_mutex.unlock();
- boost::mutex::scoped_lock down_lk( downthread_joining_mutex );
- downthread_joining_condition.notify_all();
-}
-
-void l7vs::session_thread_control::startupstream(){
- boost::mutex::scoped_lock lock( upthread_condition_mutex ); //upstream state lock
- if( upthread_state != EXIT ) upthread_state = RUNNING; // upthread state update.[RUNNING] -> alive mode
- upthread_condition.notify_all(); // conditionwait upstreamthread is run.
-}
-
-void l7vs::session_thread_control::stopupstream(){
- boost::mutex::scoped_lock lock( upthread_condition_mutex ); // upstream state lock
- if( upthread_state != EXIT ) upthread_state = WAIT; // upthread state is update [WAIT] -> pooling mode
-}
-
-void l7vs::session_thread_control::startdownstream(){
- boost::mutex::scoped_lock lock( downthread_condition_mutex ); // downstream state lock
- if( downthread_state != EXIT ) downthread_state = RUNNING; // downstream state is update [RUNNING] -> alive mode
- downthread_condition.notify_all(); // condition wait thread is run.
-}
-
-void l7vs::session_thread_control::stopdownstream(){
- boost::mutex::scoped_lock lock( downthread_condition_mutex ); // downstream state lock
- if( downthread_state != EXIT ) downthread_state = WAIT; // downstream state is update [WAIT] -> pooling mode
-}
-
-void l7vs::session_thread_control::join(){
-
- boost::mutex::scoped_lock up_lk( upthread_joining_mutex );
- boost::mutex::scoped_lock down_lk( downthread_joining_mutex );
-
- {
- rw_scoped_lock upstate_lock( upthread_state_mutex );
- upthread_state = EXIT; //upstream state update [EXIT] -> thread exit mode
- }
- {
- boost::mutex::scoped_lock upthread_running_wait( upthread_running_mutex );
- upthread_condition.notify_all(); // conditionwait thread is run
- }
-
- {
- rw_scoped_lock downstate_lock( downthread_state_mutex );
- downthread_state = EXIT; //downstream state update [EXIT] -> thread exit mode
- }
- {
- boost::mutex::scoped_lock downthread_running_wait( downthread_running_mutex );
- downthread_condition.notify_all(); //condition wait thread is run.
- }
- //upthread_joining_condition.wait( up_lk );
- //downthread_joining_condition.wait( down_lk );
- if( LOG_LV_DEBUG == l7vs::Logger::getLogLevel( l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE ) ){
- boost::format fmt("out_function : void session_thread_control::stopd ownstream() : up_status = %d / down_status = %d");
- fmt % upthread_state % downthread_state;
- l7vs::Logger::putLogDebug( l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE, 15, fmt.str(), __FILE__, __LINE__ );
- }
-
-}
-
-boost::mutex& l7vs::session_thread_control::get_upthread_mutex(){
- return upthread_running_mutex;
-}
-
-boost::mutex& l7vs::session_thread_control::get_downthread_mutex(){
- return downthread_running_mutex;
+
+void l7vs::session_thread_control::downstream_run()
+{
+ state_tag state;
+ downthread_running_mutex.lock();
+ {
+ rw_scoped_lock downstate_lock(downthread_state_mutex);
+ state = downthread_state; //thread local state is update.
+ }
+ for (;;) { //thread loop
+ if (state == WAIT) { //after create or session end. this thread is pooling mode
+ boost::mutex::scoped_lock lock(downthread_condition_mutex);
+// downthread_condition.wait( lock ); // thread is condition wait( start at notify_all() )
+ boost::xtime wait;
+ boost::xtime_get(&wait, boost::TIME_UTC);
+ wait.sec += 1;
+ downthread_running_mutex.unlock();
+ downthread_condition.timed_wait(lock, wait); // thread is condition wait( start at notify_all() )
+ downthread_running_mutex.lock();
+ } else if (state == EXIT) { // this state is vitrualservice end. thread is finishing.
+ break;
+ } else { //state RUNNING
+ session->down_thread_run();//session downstream thread looping.
+ stopdownstream();
+ }
+ rw_scoped_lock downstate_lock(downthread_state_mutex);
+ state = downthread_state; // thread local sate is update.
+ }
+ downthread_running_mutex.unlock();
+ boost::mutex::scoped_lock down_lk(downthread_joining_mutex);
+ downthread_joining_condition.notify_all();
+}
+
+void l7vs::session_thread_control::startupstream()
+{
+ boost::mutex::scoped_lock lock(upthread_condition_mutex); //upstream state lock
+ if (upthread_state != EXIT) upthread_state = RUNNING; // upthread state update.[RUNNING] -> alive mode
+ upthread_condition.notify_all(); // conditionwait upstreamthread is run.
+}
+
+void l7vs::session_thread_control::stopupstream()
+{
+ boost::mutex::scoped_lock lock(upthread_condition_mutex); // upstream state lock
+ if (upthread_state != EXIT) upthread_state = WAIT; // upthread state is update [WAIT] -> pooling mode
+}
+
+void l7vs::session_thread_control::startdownstream()
+{
+ boost::mutex::scoped_lock lock(downthread_condition_mutex); // downstream state lock
+ if (downthread_state != EXIT) downthread_state = RUNNING; // downstream state is update [RUNNING] -> alive mode
+ downthread_condition.notify_all(); // condition wait thread is run.
+}
+
+void l7vs::session_thread_control::stopdownstream()
+{
+ boost::mutex::scoped_lock lock(downthread_condition_mutex); // downstream state lock
+ if (downthread_state != EXIT) downthread_state = WAIT; // downstream state is update [WAIT] -> pooling mode
+}
+
+void l7vs::session_thread_control::join()
+{
+
+ boost::mutex::scoped_lock up_lk(upthread_joining_mutex);
+ boost::mutex::scoped_lock down_lk(downthread_joining_mutex);
+
+ {
+ rw_scoped_lock upstate_lock(upthread_state_mutex);
+ upthread_state = EXIT; //upstream state update [EXIT] -> thread exit mode
+ }
+ {
+ boost::mutex::scoped_lock upthread_running_wait(upthread_running_mutex);
+ upthread_condition.notify_all(); // conditionwait thread is run
+ }
+
+ {
+ rw_scoped_lock downstate_lock(downthread_state_mutex);
+ downthread_state = EXIT; //downstream state update [EXIT] -> thread exit mode
+ }
+ {
+ boost::mutex::scoped_lock downthread_running_wait(downthread_running_mutex);
+ downthread_condition.notify_all(); //condition wait thread is run.
+ }
+ //upthread_joining_condition.wait( up_lk );
+ //downthread_joining_condition.wait( down_lk );
+ if (LOG_LV_DEBUG == l7vs::Logger::getLogLevel(l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE)) {
+ boost::format fmt("out_function : void session_thread_control::stopd ownstream() : up_status = %d / down_status = %d");
+ fmt % upthread_state % downthread_state;
+ l7vs::Logger::putLogDebug(l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE, 15, fmt.str(), __FILE__, __LINE__);
+ }
+
+}
+
+boost::mutex &l7vs::session_thread_control::get_upthread_mutex()
+{
+ return upthread_running_mutex;
+}
+
+boost::mutex &l7vs::session_thread_control::get_downthread_mutex()
+{
+ return downthread_running_mutex;
}
// protocol_module_control STUB code
-l7vs::protocol_module_control& l7vs::protocol_module_control::getInstance(){
- static protocol_module_control instance;
- return instance;
+l7vs::protocol_module_control &l7vs::protocol_module_control::getInstance()
+{
+ static protocol_module_control instance;
+ return instance;
}
-void l7vs::protocol_module_control::initialize( const std::string& infile_path ){}
-void l7vs::protocol_module_control::finalize(){}
-l7vs::protocol_module_base* l7vs::protocol_module_control::load_module( const std::string& modulename ){
- l7vs::protocol_module_base* return_value = NULL;
+void l7vs::protocol_module_control::initialize(const std::string &infile_path) {}
+void l7vs::protocol_module_control::finalize() {}
+l7vs::protocol_module_base *l7vs::protocol_module_control::load_module(const std::string &modulename)
+{
+ l7vs::protocol_module_base *return_value = NULL;
- if( !debugg_flug_struct::getInstance().pmcontrol_err_flag() )
- return_value = new l7vs::protocol_module_test1();
+ if (!debugg_flug_struct::getInstance().pmcontrol_err_flag())
+ return_value = new l7vs::protocol_module_test1();
- return return_value;
+ return return_value;
}
-void l7vs::protocol_module_control::unload_module( protocol_module_base* module_ptr ){
- delete module_ptr;
+void l7vs::protocol_module_control::unload_module(protocol_module_base *module_ptr)
+{
+ delete module_ptr;
}
-l7vs::schedule_module_control& l7vs::schedule_module_control::getInstance(){
- static schedule_module_control instance;
- return instance;
+l7vs::schedule_module_control &l7vs::schedule_module_control::getInstance()
+{
+ static schedule_module_control instance;
+ return instance;
}
-void l7vs::schedule_module_control::initialize( const std::string& infile_path ){}
-void l7vs::schedule_module_control::finalize(){}
-l7vs::schedule_module_base* l7vs::schedule_module_control::load_module( const std::string& modulename ){
- l7vs::schedule_module_base* return_value = NULL;
+void l7vs::schedule_module_control::initialize(const std::string &infile_path) {}
+void l7vs::schedule_module_control::finalize() {}
+l7vs::schedule_module_base *l7vs::schedule_module_control::load_module(const std::string &modulename)
+{
+ l7vs::schedule_module_base *return_value = NULL;
- if( !debugg_flug_struct::getInstance().smcontrol_err_flag() )
- return_value = new schedule_module_test1;
+ if (!debugg_flug_struct::getInstance().smcontrol_err_flag())
+ return_value = new schedule_module_test1;
- return return_value;
+ return return_value;
}
-void l7vs::schedule_module_control::unload_module( schedule_module_base* module_ptr ){
- delete module_ptr;
+void l7vs::schedule_module_control::unload_module(schedule_module_base *module_ptr)
+{
+ delete module_ptr;
}
/*
}
*/
l7vs::Logger::Logger() :
- scopedLogCategory(LOG_CAT_L7VSD_LOGGER),
- scopedLogId(0),
- scopedLogMessage("Logger Constructor"),
- scopedLogFile(__FILE__),
- scopedLogLine(__LINE__) {}
+ scopedLogCategory(LOG_CAT_L7VSD_LOGGER),
+ scopedLogId(0),
+ scopedLogMessage("Logger Constructor"),
+ scopedLogFile(__FILE__),
+ scopedLogLine(__LINE__) {}
-l7vs::Logger::Logger( LOG_CATEGORY_TAG cat, const unsigned int id, const std::string& msg, const char* file, int line) :
- scopedLogCategory(cat),
- scopedLogId(id),
- scopedLogMessage(msg),
- scopedLogFile(file),
- scopedLogLine(line) {}
+l7vs::Logger::Logger(LOG_CATEGORY_TAG cat, const unsigned int id, const std::string &msg, const char *file, int line) :
+ scopedLogCategory(cat),
+ scopedLogId(id),
+ scopedLogMessage(msg),
+ scopedLogFile(file),
+ scopedLogLine(line) {}
-l7vs::Logger::~Logger(){}
+l7vs::Logger::~Logger() {}
-void l7vs::Logger::loadConf(){}
+void l7vs::Logger::loadConf() {}
-l7vs::LOG_LEVEL_TAG l7vs::Logger::getLogLevel( l7vs::LOG_CATEGORY_TAG ){
- l7vs::LOG_LEVEL_TAG ret_tag = l7vs::LOG_LV_DEBUG;
- return ret_tag;
+l7vs::LOG_LEVEL_TAG l7vs::Logger::getLogLevel(l7vs::LOG_CATEGORY_TAG)
+{
+ l7vs::LOG_LEVEL_TAG ret_tag = l7vs::LOG_LV_DEBUG;
+ return ret_tag;
}
-bool l7vs::Logger::setLogLevel( l7vs::LOG_CATEGORY_TAG cat, l7vs::LOG_LEVEL_TAG level ){
- return true;
+bool l7vs::Logger::setLogLevel(l7vs::LOG_CATEGORY_TAG cat, l7vs::LOG_LEVEL_TAG level)
+{
+ return true;
}
-void l7vs::Logger::putLogFatal( l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string& msg, const char*, int ){
- //std::cout << "FATAL : " << msg << std::endl;
- BOOST_MESSAGE( boost::format("FATAL : %s") % msg );
+void l7vs::Logger::putLogFatal(l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string &msg, const char *, int)
+{
+ //std::cout << "FATAL : " << msg << std::endl;
+ BOOST_MESSAGE(boost::format("FATAL : %s") % msg);
}
-void l7vs::Logger::putLogError( l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string& msg, const char*, int ){
- // std::cout << "ERROR : " << msg << std::endl;
- BOOST_MESSAGE( boost::format("ERROR : %s") % msg );
+void l7vs::Logger::putLogError(l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string &msg, const char *, int)
+{
+ // std::cout << "ERROR : " << msg << std::endl;
+ BOOST_MESSAGE(boost::format("ERROR : %s") % msg);
}
-void l7vs::Logger::putLogWarn( l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string& msg, const char*, int ){
- //std::cout << "WARN : " << msg << std::endl;
- BOOST_MESSAGE( boost::format("WARN : %s") % msg );
+void l7vs::Logger::putLogWarn(l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string &msg, const char *, int)
+{
+ //std::cout << "WARN : " << msg << std::endl;
+ BOOST_MESSAGE(boost::format("WARN : %s") % msg);
}
-void l7vs::Logger::putLogInfo( l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string& msg, const char*, int ){
- //std::cout << "INFO : " << msg << std::endl;
- BOOST_MESSAGE( boost::format("INFO : %s") % msg );
+void l7vs::Logger::putLogInfo(l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string &msg, const char *, int)
+{
+ //std::cout << "INFO : " << msg << std::endl;
+ BOOST_MESSAGE(boost::format("INFO : %s") % msg);
}
-void l7vs::Logger::putLogDebug( l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string& msg, const char*, int ){
- //std::cout << "DEBUG : " << msg << std::endl;
- BOOST_MESSAGE( boost::format("DEBUG : %s") % msg );
+void l7vs::Logger::putLogDebug(l7vs::LOG_CATEGORY_TAG, const unsigned int, const std::string &msg, const char *, int)
+{
+ //std::cout << "DEBUG : " << msg << std::endl;
+ BOOST_MESSAGE(boost::format("DEBUG : %s") % msg);
}
-l7vs::l7vsd::l7vsd(){}
-l7vs::l7vsd::~l7vsd(){}
-l7vs::l7vsd::vslist_type::iterator l7vs::l7vsd::search_vslist( const virtualservice_element&, bool ) const{
- return vslist.begin();
+l7vs::l7vsd::l7vsd() {}
+l7vs::l7vsd::~l7vsd() {}
+l7vs::l7vsd::vslist_type::iterator l7vs::l7vsd::search_vslist(const virtualservice_element &, bool) const
+{
+ return vslist.begin();
}
-void l7vs::l7vsd::release_virtual_service( const virtualservice_element& ) const {}
+void l7vs::l7vsd::release_virtual_service(const virtualservice_element &) const {}
-int l7vs::replication::initialize(){
- return 0;
-}
-void l7vs::replication::finalize(){}
-void l7vs::replication::switch_to_master(){}
-void l7vs::replication::switch_to_slave(){}
-void* l7vs::replication::pay_memory( const std::string& inid, unsigned int& outsize ){
- void* retval = debugg_flug_struct::getInstance().get_rep_area();
- outsize = l7vs::virtualservice_base::MAX_REPLICATION_DATA_NUM;
- return retval;
+int l7vs::replication::initialize()
+{
+ return 0;
}
-void l7vs::replication::dump_memory(){}
-void l7vs::replication::start(){}
-void l7vs::replication::stop(){}
-void l7vs::replication::force_replicate(){}
-void l7vs::replication::reset(){}
-l7vs::replication::REPLICATION_MODE_TAG l7vs::replication::get_status(){
- l7vs::replication::REPLICATION_MODE_TAG retmode = l7vs::replication::REPLICATION_OUT;
- return retmode;
+void l7vs::replication::finalize() {}
+void l7vs::replication::switch_to_master() {}
+void l7vs::replication::switch_to_slave() {}
+void *l7vs::replication::pay_memory(const std::string &inid, unsigned int &outsize)
+{
+ void *retval = debugg_flug_struct::getInstance().get_rep_area();
+ outsize = l7vs::virtualservice_base::MAX_REPLICATION_DATA_NUM;
+ return retval;
+}
+void l7vs::replication::dump_memory() {}
+void l7vs::replication::start() {}
+void l7vs::replication::stop() {}
+void l7vs::replication::force_replicate() {}
+void l7vs::replication::reset() {}
+l7vs::replication::REPLICATION_MODE_TAG l7vs::replication::get_status()
+{
+ l7vs::replication::REPLICATION_MODE_TAG retmode = l7vs::replication::REPLICATION_OUT;
+ return retmode;
}
-int l7vs::replication::handle_send(){
- return 0;
+int l7vs::replication::handle_send()
+{
+ return 0;
}
-void l7vs::replication::handle_receive( const boost::system::error_code& err, size_t size ){
+void l7vs::replication::handle_receive(const boost::system::error_code &err, size_t size)
+{
}
-int l7vs::replication::lock( const std::string& inid ){
- return 0;
+int l7vs::replication::lock(const std::string &inid)
+{
+ return 0;
}
-int l7vs::replication::unlock( const std::string& inid ){
- return 0;
+int l7vs::replication::unlock(const std::string &inid)
+{
+ return 0;
}
-int l7vs::replication::refer_lock_mutex( const std::string& inid, mutex_ptr& outmutex ){
- return 0;
+int l7vs::replication::refer_lock_mutex(const std::string &inid, mutex_ptr &outmutex)
+{
+ return 0;
}
/*
return send_size;
}
*/
-l7vs::tcp_realserver_connect_socket_list::tcp_realserver_connect_socket_list(){}
-l7vs::tcp_realserver_connect_socket_list::~tcp_realserver_connect_socket_list(){}
-void l7vs::tcp_realserver_connect_socket_list::push_back(list_element realserver_socket){}
-l7vs::tcp_realserver_connect_socket_list::list_element l7vs::tcp_realserver_connect_socket_list::get_socket(){
- l7vs::tcp_realserver_connect_socket_list::list_element retval;
- return retval;
+l7vs::tcp_realserver_connect_socket_list::tcp_realserver_connect_socket_list() {}
+l7vs::tcp_realserver_connect_socket_list::~tcp_realserver_connect_socket_list() {}
+void l7vs::tcp_realserver_connect_socket_list::push_back(list_element realserver_socket) {}
+l7vs::tcp_realserver_connect_socket_list::list_element l7vs::tcp_realserver_connect_socket_list::get_socket()
+{
+ l7vs::tcp_realserver_connect_socket_list::list_element retval;
+ return retval;
}
-bool l7vs::tcp_realserver_connect_socket_list::empty(){
- return true;
+bool l7vs::tcp_realserver_connect_socket_list::empty()
+{
+ return true;
}
//l7vs::tcp_thread_message::tcp_thread_message(){}
//l7vs::tcp_thread_message_que::tcp_thread_message_que(){}
//l7vs::tcp_thread_message_que::~tcp_thread_message_que(){}
-//void l7vs::tcp_thread_message_que::push(tcp_thread_message_ptr message){}
-//l7vs::tcp_thread_message_que::tcp_thread_message_ptr l7vs::tcp_thread_message_que::front(){
-// return message_que.front();
+//void l7vs::tcp_thread_message_que::push(tcp_thread_message_ptr message){}
+//l7vs::tcp_thread_message_que::tcp_thread_message_ptr l7vs::tcp_thread_message_que::front(){
+// return message_que.front();
//}
-//bool l7vs::tcp_thread_message_que::empty(){
-// return true;
+//bool l7vs::tcp_thread_message_que::empty(){
+// return true;
//}
-//void l7vs::tcp_thread_message_que::clear(){}
+//void l7vs::tcp_thread_message_que::clear(){}
/*
l7vs::tcp_data::tcp_data(){}
//l7vs::tcp_socket::tcp_socket(boost::asio::io_service& io) : my_socket( io ){}
//l7vs::tcp_socket::~tcp_socket(){}
-//boost::asio::ip::tcp::socket& l7vs::tcp_socket::get_socket(){
-// return my_socket;
+//boost::asio::ip::tcp::socket& l7vs::tcp_socket::get_socket(){
+// return my_socket;
//}
-bool l7vs::tcp_socket::connect(const boost::asio::ip::tcp::endpoint connect_endpoint,boost::system::error_code& ec){
- return true;
+bool l7vs::tcp_socket::connect(const boost::asio::ip::tcp::endpoint connect_endpoint, boost::system::error_code &ec)
+{
+ return true;
}
-bool l7vs::tcp_socket::close(boost::system::error_code& ec){
- return true;
+bool l7vs::tcp_socket::close(boost::system::error_code &ec)
+{
+ return true;
}
-bool l7vs::tcp_socket::set_non_blocking_mode(boost::system::error_code& ec){
- return true;
+bool l7vs::tcp_socket::set_non_blocking_mode(boost::system::error_code &ec)
+{
+ return true;
}
-std::size_t l7vs::tcp_socket::write_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code& ec){
- size_t ret = 0;
- return ret;
+std::size_t l7vs::tcp_socket::write_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code &ec)
+{
+ size_t ret = 0;
+ return ret;
}
-std::size_t l7vs::tcp_socket::read_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code& ec){
- size_t ret = 0;
- return ret;
+std::size_t l7vs::tcp_socket::read_some(boost::asio::mutable_buffers_1 buffers, boost::system::error_code &ec)
+{
+ size_t ret = 0;
+ return ret;
}
-l7vs::tcp_session::tcp_session(virtualservice_tcp& vs,
- boost::asio::io_service& session_io,
- const tcp_socket_option_info set_option,
- const boost::asio::ip::tcp::endpoint listen_endpoint,
- const bool ssl_mode,
- boost::asio::ssl::context& set_ssl_context,
- const bool set_ssl_cache_flag,
- const int set_ssl_handshake_time_out,
- logger_implement_access* set_access_logger)
+l7vs::tcp_session::tcp_session(virtualservice_tcp &vs,
+ boost::asio::io_service &session_io,
+ const tcp_socket_option_info set_option,
+ const boost::asio::ip::tcp::endpoint listen_endpoint,
+ const bool ssl_mode,
+ boost::asio::ssl::context &set_ssl_context,
+ const bool set_ssl_cache_flag,
+ const int set_ssl_handshake_time_out,
+ logger_implement_access *set_access_logger)
:
io(session_io),
parent_service(vs),
thread_state(0),
protocol_module(NULL),
session_pause_flag(false),
- client_socket(session_io,set_option),
+ client_socket(session_io, set_option),
upstream_buffer_size(8192),
downstream_buffer_size(8192),
virtualservice_endpoint(listen_endpoint),
access_log_flag(false),
access_logger(set_access_logger),
ssl_flag(ssl_mode),
- client_ssl_socket(session_io, set_ssl_context,set_option),
+ client_ssl_socket(session_io, set_ssl_context, set_option),
ssl_context(set_ssl_context),
ssl_cache_flag(set_ssl_cache_flag),
ssl_handshake_timer_flag(false),
ssl_handshake_time_out(set_ssl_handshake_time_out),
ssl_handshake_time_out_flag(false),
socket_opt_info(set_option),
- sorry_flag(false){
+ sorry_flag(false)
+{
- exit_flag = false;
- session_pause_flag = false;
- BOOST_MESSAGE( "SESSION:CREATE" );
+ exit_flag = false;
+ session_pause_flag = false;
+ BOOST_MESSAGE("SESSION:CREATE");
}
-l7vs::tcp_session::~tcp_session(void){}
-l7vs::session_result_message l7vs::tcp_session::initialize(void){
- l7vs::session_result_message result;
- result.flag = false;
- return result;
+l7vs::tcp_session::~tcp_session(void) {}
+l7vs::session_result_message l7vs::tcp_session::initialize(void)
+{
+ l7vs::session_result_message result;
+ result.flag = false;
+ return result;
}
// return(result);
//}
-boost::asio::ip::tcp::socket& l7vs::tcp_session::get_client_socket(void){
- return client_socket.get_socket();
+boost::asio::ip::tcp::socket &l7vs::tcp_session::get_client_socket(void)
+{
+ return client_socket.get_socket();
}
-ssl_socket& l7vs::tcp_session::get_client_ssl_socket()
+ssl_socket &l7vs::tcp_session::get_client_ssl_socket()
{
- return client_ssl_socket.get_socket();
+ return client_ssl_socket.get_socket();
}
-bool l7vs::tcp_session::is_thread_wait(void){
- return true;
+bool l7vs::tcp_session::is_thread_wait(void)
+{
+ return true;
}
-void l7vs::tcp_session::set_virtual_service_message(const TCP_VIRTUAL_SERVICE_MESSAGE_TAG message){
- switch( message ){
- case SORRY_STATE_ENABLE:
- {
- //boost::mutex::scoped_lock( exit_flag_update_mutex );
- //exit_flag = true;
- boost::mutex::scoped_lock( sorry_flag_update_mutex );
- sorry_flag = true;
+void l7vs::tcp_session::set_virtual_service_message(const TCP_VIRTUAL_SERVICE_MESSAGE_TAG message)
+{
+ switch (message) {
+ case SORRY_STATE_ENABLE: {
+ //boost::mutex::scoped_lock( exit_flag_update_mutex );
+ //exit_flag = true;
+ boost::mutex::scoped_lock(sorry_flag_update_mutex);
+ sorry_flag = true;
}
break;
- case SORRY_STATE_DISABLE:
- {
- //boost::mutex::scoped_lock( exit_flag_update_mutex );
- //exit_flag = false;
- boost::mutex::scoped_lock( sorry_flag_update_mutex );
- sorry_flag = false;
+ case SORRY_STATE_DISABLE: {
+ //boost::mutex::scoped_lock( exit_flag_update_mutex );
+ //exit_flag = false;
+ boost::mutex::scoped_lock(sorry_flag_update_mutex);
+ sorry_flag = false;
}
break;
- case SESSION_END:
- {
- boost::mutex::scoped_lock( exit_flag_update_mutex );
- boost::mutex::scoped_lock( module_function_sorry_disable_mutex );
- exit_flag = true;
- session_pause_flag = true;
+ case SESSION_END: {
+ boost::mutex::scoped_lock(exit_flag_update_mutex);
+ boost::mutex::scoped_lock(module_function_sorry_disable_mutex);
+ exit_flag = true;
+ session_pause_flag = true;
}
break;
- case SESSION_PAUSE_ON:
- {
- boost::mutex::scoped_lock( module_function_sorry_disable_mutex );
- session_pause_flag = true;
+ case SESSION_PAUSE_ON: {
+ boost::mutex::scoped_lock(module_function_sorry_disable_mutex);
+ session_pause_flag = true;
}
break;
- case SESSION_PAUSE_OFF:
- {
- boost::mutex::scoped_lock( module_function_sorry_disable_mutex );
- session_pause_flag = false;
+ case SESSION_PAUSE_OFF: {
+ boost::mutex::scoped_lock(module_function_sorry_disable_mutex);
+ session_pause_flag = false;
}
break;
- case ACCESS_LOG_ON:{
- std::cout<< "set_virtual_service_message called : ACCESS_LOG_ON" << std::endl;
- break;
- }
- case ACCESS_LOG_OFF:{
- std::cout<< "set_virtual_service_message called : ACCESS_LOG_OFF" << std::endl;
- break;
- }
+ case ACCESS_LOG_ON: {
+ std::cout << "set_virtual_service_message called : ACCESS_LOG_ON" << std::endl;
+ break;
+ }
+ case ACCESS_LOG_OFF: {
+ std::cout << "set_virtual_service_message called : ACCESS_LOG_OFF" << std::endl;
+ break;
+ }
- }
+ }
+}
+
+void l7vs::tcp_session::up_thread_run(void)
+{
+ size_t count = 0;
+ std::cout << "active session";
+ std::cout << boost::this_thread::get_id() << std::endl;
+ exit_flag = false;
+ while (!exit_flag) {
+ ++count;
+ if (!debugg_flug_struct::getInstance().session_loop_flag() && (count > 30000))
+ break;
+ }
+ std::cout << "release session";
+ parent_service.release_session(this);
+}
+
+void l7vs::tcp_session::down_thread_run(void) {}
+
+void l7vs::tcp_session::thread_state_update(const std::bitset<TCP_SESSION_THREAD_STATE_BIT> thread_flag, const bool regist) {}
+void l7vs::tcp_session::up_thread_client_accept_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_receive(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_respond(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_send(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_connect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_send(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_connect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_exit(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::up_thread_all_socket_close(void) {}
+
+void l7vs::tcp_session::down_thread_realserver_receive(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_connection_chk_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_send(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_receive(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_exit(const TCP_PROCESS_TYPE_TAG process_type) {}
+void l7vs::tcp_session::down_thread_all_socket_close() {}
+
+void l7vs::tcp_session::up_thread_client_accept(const TCP_PROCESS_TYPE_TAG process_type) {}
+
+void l7vs::tcp_session::handle_ssl_handshake_timer(const boost::system::error_code &error) {}
+
+bool l7vs::tcp_session::ssl_clear_keep_cache(ssl_st *)
+{
+ return(true);
+}
+
+l7vs::udp_session::udp_session(virtualservice_udp &vs, boost::asio::io_service &session_io) : io(session_io),
+ parent_service(vs),
+ client_side_socket(io) {}
+l7vs::udp_session::~udp_session() {}
+l7vs::session_result_message l7vs::udp_session::initialize(const udp_endpoint listen_end)
+{
+ l7vs::session_result_message result;
+ return result;
+}
+
+void l7vs::udp_session::set_virtual_service_message(const UDP_VIRTUAL_SERVICE_MESSAGE_TAG message) {}
+void l7vs::udp_session::run(void) {}
+bool l7vs::udp_session::client_send(const udp_endpoint client_endpoint, const udp_session_buff &data_buff, const std::size_t data_size, boost::system::error_code &ec)
+{
+ return true;
+}
+void l7vs::udp_session::release_request(const boost::thread::id release_thread_id) {}
+
+void l7vs::udp_session::make_request_thread(const int max_count) {}
+void l7vs::udp_session::active_request_thread(const udp_endpoint client_endpoint , const udp_session_buff receive_data, const std::size_t receive_size) {}
+void l7vs::udp_session::all_active_request_stop(void) {}
+
+
+void l7vs::session_thread_control::start_thread()
+{
+}
+void l7vs::session_thread_control::upstream_run()
+{
+ state_tag state;
+ upthread_running_mutex.lock();
+ {
+ // get first state from class upstream state.
+ rw_scoped_lock upstate_lock(upthread_state_mutex);
+ state = upthread_state; //thread local state is update.
+ }
+ for (;;) { // thread loop
+ if (state == WAIT) { // after create or session end. this thread is pooling mode
+ boost::mutex::scoped_lock lock(upthread_condition_mutex);
+// upthread_condition.wait( lock ); // thread is condition wait.( start at notify_all() )
+ boost::xtime wait;
+ boost::xtime_get(&wait, boost::TIME_UTC);
+ wait.sec += 1;
+ upthread_running_mutex.unlock();
+ upthread_condition.timed_wait(lock, wait); // thread is condition wait( start at notify_all() )
+ upthread_running_mutex.lock();
+ } else if (state == EXIT) { // this state is vitrualservice end. thread is finishing.
+ break;
+ } else { //state RUNNING
+ session->up_thread_run(); //session upstream thread looping.
+ stopupstream();
+ }
+ rw_scoped_lock upstate_lock(upthread_state_mutex);
+ state = upthread_state; //thread local state is update.
+ }
+ upthread_running_mutex.unlock();
+ boost::mutex::scoped_lock up_lk(upthread_joining_mutex);
+ upthread_joining_condition.notify_all();
+}
+
+void l7vs::session_thread_control::downstream_run()
+{
+ state_tag state;
+ downthread_running_mutex.lock();
+ {
+ rw_scoped_lock downstate_lock(downthread_state_mutex);
+ state = downthread_state; //thread local state is update.
+ }
+ for (;;) { //thread loop
+ if (state == WAIT) { //after create or session end. this thread is pooling mode
+ boost::mutex::scoped_lock lock(downthread_condition_mutex);
+// downthread_condition.wait( lock ); // thread is condition wait( start at notify_all() )
+ boost::xtime wait;
+ boost::xtime_get(&wait, boost::TIME_UTC);
+ wait.sec += 1;
+ downthread_running_mutex.unlock();
+ downthread_condition.timed_wait(lock, wait); // thread is condition wait( start at notify_all() )
+ downthread_running_mutex.lock();
+ } else if (state == EXIT) { // this state is vitrualservice end. thread is finishing.
+ break;
+ } else { //state RUNNING
+ session->down_thread_run();//session downstream thread looping.
+ stopdownstream();
+ }
+ rw_scoped_lock downstate_lock(downthread_state_mutex);
+ state = downthread_state; // thread local sate is update.
+ }
+ downthread_running_mutex.unlock();
+ boost::mutex::scoped_lock down_lk(downthread_joining_mutex);
+ downthread_joining_condition.notify_all();
+}
+
+void l7vs::session_thread_control::startupstream()
+{
+ boost::mutex::scoped_lock lock(upthread_condition_mutex); //upstream state lock
+ if (upthread_state != EXIT) upthread_state = RUNNING; // upthread state update.[RUNNING] -> alive mode
+ upthread_condition.notify_all(); // conditionwait upstreamthread is run.
+}
+
+void l7vs::session_thread_control::stopupstream()
+{
+ boost::mutex::scoped_lock lock(upthread_condition_mutex); // upstream state lock
+ if (upthread_state != EXIT) upthread_state = WAIT; // upthread state is update [WAIT] -> pooling mode
+}
+
+void l7vs::session_thread_control::startdownstream()
+{
+ boost::mutex::scoped_lock lock(downthread_condition_mutex); // downstream state lock
+ if (downthread_state != EXIT) downthread_state = RUNNING; // downstream state is update [RUNNING] -> alive mode
+ downthread_condition.notify_all(); // condition wait thread is run.
+}
+
+void l7vs::session_thread_control::stopdownstream()
+{
+ boost::mutex::scoped_lock lock(downthread_condition_mutex); // downstream state lock
+ if (downthread_state != EXIT) downthread_state = WAIT; // downstream state is update [WAIT] -> pooling mode
}
-void l7vs::tcp_session::up_thread_run(void){
- size_t count = 0;
- std::cout << "active session";
- std::cout << boost::this_thread::get_id() << std::endl;
- exit_flag = false;
- while( !exit_flag ){
- ++count;
- if( !debugg_flug_struct::getInstance().session_loop_flag() && (count > 30000) )
- break;
- }
- std::cout << "release session";
- parent_service.release_session( this );
-}
-
-void l7vs::tcp_session::down_thread_run(void){}
-
-void l7vs::tcp_session::thread_state_update(const std::bitset<TCP_SESSION_THREAD_STATE_BIT> thread_flag,const bool regist){}
-void l7vs::tcp_session::up_thread_client_accept_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_receive(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_respond(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_send(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_connect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_send(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_get_destination_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_connect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_connect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_connection_fail_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_exit(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::up_thread_all_socket_close(void){}
-
-void l7vs::tcp_session::down_thread_realserver_receive(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_realserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_all_realserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_connection_chk_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_respond_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_send(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_client_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_receive(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_disconnect_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorry_enable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorryserver_mod_disconnect(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_sorry_disable_event(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_exit(const TCP_PROCESS_TYPE_TAG process_type){}
-void l7vs::tcp_session::down_thread_all_socket_close(){}
-
-void l7vs::tcp_session::up_thread_client_accept(const TCP_PROCESS_TYPE_TAG process_type){}
-
-void l7vs::tcp_session::handle_ssl_handshake_timer(const boost::system::error_code& error){}
-
-bool l7vs::tcp_session::ssl_clear_keep_cache(ssl_st*){ return(true); }
-
-l7vs::udp_session::udp_session(virtualservice_udp& vs, boost::asio::io_service& session_io) : io( session_io ),
- parent_service( vs ),
- client_side_socket( io ) {}
-l7vs::udp_session::~udp_session(){}
-l7vs::session_result_message l7vs::udp_session::initialize(const udp_endpoint listen_end){
- l7vs::session_result_message result;
- return result;
-}
-
-void l7vs::udp_session::set_virtual_service_message(const UDP_VIRTUAL_SERVICE_MESSAGE_TAG message){}
-void l7vs::udp_session::run(void){}
-bool l7vs::udp_session::client_send(const udp_endpoint client_endpoint, const udp_session_buff& data_buff,const std::size_t data_size,boost::system::error_code& ec){
- return true;
-}
-void l7vs::udp_session::release_request(const boost::thread::id release_thread_id){}
-
-void l7vs::udp_session::make_request_thread(const int max_count){}
-void l7vs::udp_session::active_request_thread(const udp_endpoint client_endpoint , const udp_session_buff receive_data, const std::size_t receive_size){}
-void l7vs::udp_session::all_active_request_stop(void){}
-
-
-void l7vs::session_thread_control::start_thread(){
-}
-void l7vs::session_thread_control::upstream_run(){
- state_tag state;
- upthread_running_mutex.lock();
- { // get first state from class upstream state.
- rw_scoped_lock upstate_lock( upthread_state_mutex );
- state = upthread_state; //thread local state is update.
- }
- for(;;){ // thread loop
- if( state == WAIT ){ // after create or session end. this thread is pooling mode
- boost::mutex::scoped_lock lock( upthread_condition_mutex );
-// upthread_condition.wait( lock ); // thread is condition wait.( start at notify_all() )
- boost::xtime wait;
- boost::xtime_get( &wait, boost::TIME_UTC );
- wait.sec += 1;
- upthread_running_mutex.unlock();
- upthread_condition.timed_wait( lock, wait ); // thread is condition wait( start at notify_all() )
- upthread_running_mutex.lock();
- }
- else if( state == EXIT ){ // this state is vitrualservice end. thread is finishing.
- break;
- }
- else{ //state RUNNING
- session->up_thread_run(); //session upstream thread looping.
- stopupstream();
- }
- rw_scoped_lock upstate_lock( upthread_state_mutex );
- state = upthread_state; //thread local state is update.
- }
- upthread_running_mutex.unlock();
- boost::mutex::scoped_lock up_lk( upthread_joining_mutex );
- upthread_joining_condition.notify_all();
-}
-
-void l7vs::session_thread_control::downstream_run(){
- state_tag state;
- downthread_running_mutex.lock();
- {
- rw_scoped_lock downstate_lock( downthread_state_mutex );
- state = downthread_state; //thread local state is update.
- }
- for(;;){ //thread loop
- if( state == WAIT ){ //after create or session end. this thread is pooling mode
- boost::mutex::scoped_lock lock( downthread_condition_mutex );
-// downthread_condition.wait( lock ); // thread is condition wait( start at notify_all() )
- boost::xtime wait;
- boost::xtime_get( &wait, boost::TIME_UTC );
- wait.sec += 1;
- downthread_running_mutex.unlock();
- downthread_condition.timed_wait( lock, wait ); // thread is condition wait( start at notify_all() )
- downthread_running_mutex.lock();
- }
- else if( state == EXIT ){// this state is vitrualservice end. thread is finishing.
- break;
- }
- else{ //state RUNNING
- session->down_thread_run();//session downstream thread looping.
- stopdownstream();
- }
- rw_scoped_lock downstate_lock( downthread_state_mutex );
- state = downthread_state; // thread local sate is update.
- }
- downthread_running_mutex.unlock();
- boost::mutex::scoped_lock down_lk( downthread_joining_mutex );
- downthread_joining_condition.notify_all();
-}
-
-void l7vs::session_thread_control::startupstream(){
- boost::mutex::scoped_lock lock( upthread_condition_mutex ); //upstream state lock
- if( upthread_state != EXIT ) upthread_state = RUNNING; // upthread state update.[RUNNING] -> alive mode
- upthread_condition.notify_all(); // conditionwait upstreamthread is run.
-}
-
-void l7vs::session_thread_control::stopupstream(){
- boost::mutex::scoped_lock lock( upthread_condition_mutex ); // upstream state lock
- if( upthread_state != EXIT ) upthread_state = WAIT; // upthread state is update [WAIT] -> pooling mode
-}
-
-void l7vs::session_thread_control::startdownstream(){
- boost::mutex::scoped_lock lock( downthread_condition_mutex ); // downstream state lock
- if( downthread_state != EXIT ) downthread_state = RUNNING; // downstream state is update [RUNNING] -> alive mode
- downthread_condition.notify_all(); // condition wait thread is run.
-}
-
-void l7vs::session_thread_control::stopdownstream(){
- boost::mutex::scoped_lock lock( downthread_condition_mutex ); // downstream state lock
- if( downthread_state != EXIT ) downthread_state = WAIT; // downstream state is update [WAIT] -> pooling mode
-}
-
-void l7vs::session_thread_control::join(){
-
- boost::mutex::scoped_lock up_lk( upthread_joining_mutex );
- boost::mutex::scoped_lock down_lk( downthread_joining_mutex );
-
- {
- rw_scoped_lock upstate_lock( upthread_state_mutex );
- upthread_state = EXIT; //upstream state update [EXIT] -> thread exit mode
- }
- {
- boost::mutex::scoped_lock upthread_running_wait( upthread_running_mutex );
- upthread_condition.notify_all(); // conditionwait thread is run
- }
-
- {
- rw_scoped_lock downstate_lock( downthread_state_mutex );
- downthread_state = EXIT; //downstream state update [EXIT] -> thread exit mode
- }
- {
- boost::mutex::scoped_lock downthread_running_wait( downthread_running_mutex );
- downthread_condition.notify_all(); //condition wait thread is run.
- }
- upthread_joining_condition.wait( up_lk );
- downthread_joining_condition.wait( down_lk );
- if( LOG_LV_DEBUG == l7vs::Logger::getLogLevel( l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE ) ){
- boost::format fmt("out_function : void session_thread_control::stopd ownstream() : up_status = %d / down_status = %d");
- fmt % upthread_state % downthread_state;
- l7vs::Logger::putLogDebug( l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE, 15, fmt.str(), __FILE__, __LINE__ );
- }
-
-}
-
-boost::mutex& l7vs::session_thread_control::get_upthread_mutex(){
- return upthread_running_mutex;
-}
-
-boost::mutex& l7vs::session_thread_control::get_downthread_mutex(){
- return downthread_running_mutex;
+void l7vs::session_thread_control::join()
+{
+
+ boost::mutex::scoped_lock up_lk(upthread_joining_mutex);
+ boost::mutex::scoped_lock down_lk(downthread_joining_mutex);
+
+ {
+ rw_scoped_lock upstate_lock(upthread_state_mutex);
+ upthread_state = EXIT; //upstream state update [EXIT] -> thread exit mode
+ }
+ {
+ boost::mutex::scoped_lock upthread_running_wait(upthread_running_mutex);
+ upthread_condition.notify_all(); // conditionwait thread is run
+ }
+
+ {
+ rw_scoped_lock downstate_lock(downthread_state_mutex);
+ downthread_state = EXIT; //downstream state update [EXIT] -> thread exit mode
+ }
+ {
+ boost::mutex::scoped_lock downthread_running_wait(downthread_running_mutex);
+ downthread_condition.notify_all(); //condition wait thread is run.
+ }
+ upthread_joining_condition.wait(up_lk);
+ downthread_joining_condition.wait(down_lk);
+ if (LOG_LV_DEBUG == l7vs::Logger::getLogLevel(l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE)) {
+ boost::format fmt("out_function : void session_thread_control::stopd ownstream() : up_status = %d / down_status = %d");
+ fmt % upthread_state % downthread_state;
+ l7vs::Logger::putLogDebug(l7vs::LOG_CAT_L7VSD_VIRTUALSERVICE, 15, fmt.str(), __FILE__, __LINE__);
+ }
+
+}
+
+boost::mutex &l7vs::session_thread_control::get_upthread_mutex()
+{
+ return upthread_running_mutex;
+}
+
+boost::mutex &l7vs::session_thread_control::get_downthread_mutex()
+{
+ return downthread_running_mutex;
}
#include "logger_enum.h"
#include "logger.h"
-l7vs::virtual_service::virtual_service( const l7vs::l7vsd& invsd,
- const l7vs::replication& inrep,
- const l7vs::virtualservice_element& inelement ){
- if( inelement.udpmode )
- vs = boost::shared_ptr<l7vs::virtualservice_base>(
- dynamic_cast<l7vs::virtualservice_base*>( new l7vs::virtualservice_udp( invsd, inrep, inelement ) ) );
- else
- vs = boost::shared_ptr<l7vs::virtualservice_base>(
- dynamic_cast<l7vs::virtualservice_base*>( new l7vs::virtualservice_tcp( invsd, inrep, inelement ) ) );
+l7vs::virtual_service::virtual_service(const l7vs::l7vsd &invsd,
+ const l7vs::replication &inrep,
+ const l7vs::virtualservice_element &inelement)
+{
+ if (inelement.udpmode)
+ vs = boost::shared_ptr<l7vs::virtualservice_base>(
+ dynamic_cast<l7vs::virtualservice_base *>(new l7vs::virtualservice_udp(invsd, inrep, inelement)));
+ else
+ vs = boost::shared_ptr<l7vs::virtualservice_base>(
+ dynamic_cast<l7vs::virtualservice_base *>(new l7vs::virtualservice_tcp(invsd, inrep, inelement)));
}
-l7vs::virtual_service::~virtual_service(){
+l7vs::virtual_service::~virtual_service()
+{
}
-void l7vs::virtual_service::initialize( l7vs::error_code& err ){
- if( NULL != vs )
- vs->initialize( err );
- else{
- err.setter( false, "Fail, create VirtualService" );
- }
+void l7vs::virtual_service::initialize(l7vs::error_code &err)
+{
+ if (NULL != vs)
+ vs->initialize(err);
+ else {
+ err.setter(false, "Fail, create VirtualService");
+ }
}
-void l7vs::virtual_service::finalize( l7vs::error_code& err ){
- vs->finalize( err );
+void l7vs::virtual_service::finalize(l7vs::error_code &err)
+{
+ vs->finalize(err);
}
-bool l7vs::virtual_service::operator==( const l7vs::virtualservice_base& in ){
- return vs->operator==( in );
+bool l7vs::virtual_service::operator==(const l7vs::virtualservice_base &in)
+{
+ return vs->operator==(in);
}
-bool l7vs::virtual_service::operator!=( const l7vs::virtualservice_base& in ){
- return vs->operator!=( in );
+bool l7vs::virtual_service::operator!=(const l7vs::virtualservice_base &in)
+{
+ return vs->operator!=(in);
}
-void l7vs::virtual_service::set_virtualservice( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- vs->set_virtualservice( in, err );
+void l7vs::virtual_service::set_virtualservice(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ vs->set_virtualservice(in, err);
}
-void l7vs::virtual_service::edit_virtualservice( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- vs->edit_virtualservice( in, err );
+void l7vs::virtual_service::edit_virtualservice(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ vs->edit_virtualservice(in, err);
}
-void l7vs::virtual_service::add_realserver( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- vs->add_realserver( in, err );
+void l7vs::virtual_service::add_realserver(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ vs->add_realserver(in, err);
}
-void l7vs::virtual_service::edit_realserver( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- vs->edit_realserver( in, err );
+void l7vs::virtual_service::edit_realserver(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ vs->edit_realserver(in, err);
}
-void l7vs::virtual_service::del_realserver( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- vs->del_realserver( in, err );
+void l7vs::virtual_service::del_realserver(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ vs->del_realserver(in, err);
}
-l7vs::virtualservice_element& l7vs::virtual_service::get_element(){
- return vs->get_element();
+l7vs::virtualservice_element &l7vs::virtual_service::get_element()
+{
+ return vs->get_element();
}
-void l7vs::virtual_service::run(){
- vs->run();
+void l7vs::virtual_service::run()
+{
+ vs->run();
}
-void l7vs::virtual_service::stop(){
- vs->stop();
+void l7vs::virtual_service::stop()
+{
+ vs->stop();
}
-void l7vs::virtual_service::connection_active( const boost::asio::ip::tcp::endpoint& in ){
- vs->connection_active( in );
+void l7vs::virtual_service::connection_active(const boost::asio::ip::tcp::endpoint &in)
+{
+ vs->connection_active(in);
}
-void l7vs::virtual_service::connection_inactive( const boost::asio::ip::tcp::endpoint& in ){
- vs->connection_inactive( in );
+void l7vs::virtual_service::connection_inactive(const boost::asio::ip::tcp::endpoint &in)
+{
+ vs->connection_inactive(in);
}
-void l7vs::virtual_service::release_session( const tcp_session* session_ptr ){
- vs->release_session( session_ptr );
+void l7vs::virtual_service::release_session(const tcp_session *session_ptr)
+{
+ vs->release_session(session_ptr);
}
-unsigned long long l7vs::virtual_service::get_qos_upstream(){
- return vs->get_qos_upstream();
+unsigned long long l7vs::virtual_service::get_qos_upstream()
+{
+ return vs->get_qos_upstream();
}
-unsigned long long l7vs::virtual_service::get_qos_downstream(){
- return vs->get_qos_downstream();
+unsigned long long l7vs::virtual_service::get_qos_downstream()
+{
+ return vs->get_qos_downstream();
}
-unsigned long long l7vs::virtual_service::get_throughput_upstream(){
- return vs->get_throughput_upstream();
+unsigned long long l7vs::virtual_service::get_throughput_upstream()
+{
+ return vs->get_throughput_upstream();
}
-unsigned long long l7vs::virtual_service::get_throughput_downstream(){
- return vs->get_throughput_downstream();
+unsigned long long l7vs::virtual_service::get_throughput_downstream()
+{
+ return vs->get_throughput_downstream();
}
-unsigned long long l7vs::virtual_service::get_up_recv_size(){
- return vs->get_up_recv_size();
+unsigned long long l7vs::virtual_service::get_up_recv_size()
+{
+ return vs->get_up_recv_size();
}
-unsigned long long l7vs::virtual_service::get_up_send_size(){
- return vs->get_up_send_size();
+unsigned long long l7vs::virtual_service::get_up_send_size()
+{
+ return vs->get_up_send_size();
}
-unsigned long long l7vs::virtual_service::get_down_recv_size(){
- return vs->get_down_recv_size();
+unsigned long long l7vs::virtual_service::get_down_recv_size()
+{
+ return vs->get_down_recv_size();
}
-unsigned long long l7vs::virtual_service::get_down_send_size(){
- return vs->get_down_send_size();
+unsigned long long l7vs::virtual_service::get_down_send_size()
+{
+ return vs->get_down_send_size();
}
-void l7vs::virtual_service::update_up_recv_size( unsigned long long datasize ){
- vs->update_up_recv_size( datasize );
+void l7vs::virtual_service::update_up_recv_size(unsigned long long datasize)
+{
+ vs->update_up_recv_size(datasize);
}
-void l7vs::virtual_service::update_up_send_size( unsigned long long datasize ){
- vs->update_up_send_size( datasize );
+void l7vs::virtual_service::update_up_send_size(unsigned long long datasize)
+{
+ vs->update_up_send_size(datasize);
}
-void l7vs::virtual_service::update_down_recv_size( unsigned long long datasize ){
- vs->update_down_recv_size( datasize );
+void l7vs::virtual_service::update_down_recv_size(unsigned long long datasize)
+{
+ vs->update_down_recv_size(datasize);
}
-void l7vs::virtual_service::update_down_send_size( unsigned long long datasize ){
- vs->update_down_send_size( datasize );
+void l7vs::virtual_service::update_down_send_size(unsigned long long datasize)
+{
+ vs->update_down_send_size(datasize);
}
-
+
l7vs::protocol_module_base*
- l7vs::virtual_service::get_protocol_module(){
- return vs->get_protocol_module();
+l7vs::virtual_service::get_protocol_module()
+{
+ return vs->get_protocol_module();
}
l7vs::schedule_module_base*
- l7vs::virtual_service::get_schedule_module(){
- return vs->get_schedule_module();
+l7vs::virtual_service::get_schedule_module()
+{
+ return vs->get_schedule_module();
}
#define BPS_DEFAULT_INTERVAL_USEC 500000ULL
// imprementation for virtualservice_tcp
-l7vs::virtualservice_tcp::virtualservice_tcp( const l7vsd& invsd,
- const replication& inrep,
- const virtualservice_element& inelement )
- : virtualservice_base( invsd, inrep, inelement ),
- acceptor_( dispatcher ),
- sslcontext(dispatcher, DEFAULT_SSL_METHOD) {}
+l7vs::virtualservice_tcp::virtualservice_tcp(const l7vsd &invsd,
+ const replication &inrep,
+ const virtualservice_element &inelement)
+ : virtualservice_base(invsd, inrep, inelement),
+ acceptor_(dispatcher),
+ sslcontext(dispatcher, DEFAULT_SSL_METHOD) {}
-l7vs::virtualservice_tcp::~virtualservice_tcp(){
+l7vs::virtualservice_tcp::~virtualservice_tcp()
+{
}
-void l7vs::virtualservice_tcp::handle_replication_interrupt( const boost::system::error_code& in ){
+void l7vs::virtualservice_tcp::handle_replication_interrupt(const boost::system::error_code &in)
+{
}
-void l7vs::virtualservice_tcp::read_replicationdata(){
+void l7vs::virtualservice_tcp::read_replicationdata()
+{
}
-void l7vs::virtualservice_tcp::handle_accept( const l7vs::session_thread_control* stc_ptr, const boost::system::error_code& err ){
+void l7vs::virtualservice_tcp::handle_accept(const l7vs::session_thread_control *stc_ptr, const boost::system::error_code &err)
+{
}
-void l7vs::virtualservice_tcp::initialize( l7vs::error_code& err ){
- err.setter( false, "" );
+void l7vs::virtualservice_tcp::initialize(l7vs::error_code &err)
+{
+ err.setter(false, "");
}
-void l7vs::virtualservice_tcp::finalize( l7vs::error_code& err ){
- err.setter( false, "" );
+void l7vs::virtualservice_tcp::finalize(l7vs::error_code &err)
+{
+ err.setter(false, "");
}
-bool l7vs::virtualservice_tcp::operator==( const l7vs::virtualservice_base& in ){
- return true;
+bool l7vs::virtualservice_tcp::operator==(const l7vs::virtualservice_base &in)
+{
+ return true;
}
-bool l7vs::virtualservice_tcp::operator!=( const l7vs::virtualservice_base& in ){
- return true;
+bool l7vs::virtualservice_tcp::operator!=(const l7vs::virtualservice_base &in)
+{
+ return true;
}
-void l7vs::virtualservice_tcp::set_virtualservice( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- err.setter( false, "" );
+void l7vs::virtualservice_tcp::set_virtualservice(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ err.setter(false, "");
}
-void l7vs::virtualservice_tcp::edit_virtualservice( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- err.setter( false, "" );
+void l7vs::virtualservice_tcp::edit_virtualservice(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ err.setter(false, "");
}
-void l7vs::virtualservice_tcp::add_realserver( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- err.setter( false, "" );
+void l7vs::virtualservice_tcp::add_realserver(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ err.setter(false, "");
}
-void l7vs::virtualservice_tcp::edit_realserver( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- err.setter( false, "" );
+void l7vs::virtualservice_tcp::edit_realserver(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ err.setter(false, "");
}
-void l7vs::virtualservice_tcp::del_realserver( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- err.setter( false, "" );
+void l7vs::virtualservice_tcp::del_realserver(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ err.setter(false, "");
}
-void l7vs::virtualservice_tcp::run(){
+void l7vs::virtualservice_tcp::run()
+{
}
-void l7vs::virtualservice_tcp::stop(){
+void l7vs::virtualservice_tcp::stop()
+{
}
-void l7vs::virtualservice_tcp::connection_active( const boost::asio::ip::tcp::endpoint& in ){
+void l7vs::virtualservice_tcp::connection_active(const boost::asio::ip::tcp::endpoint &in)
+{
}
-void l7vs::virtualservice_tcp::connection_inactive( const boost::asio::ip::tcp::endpoint& in ){
+void l7vs::virtualservice_tcp::connection_inactive(const boost::asio::ip::tcp::endpoint &in)
+{
}
-void l7vs::virtualservice_tcp::release_session( const tcp_session* session_ptr ){
+void l7vs::virtualservice_tcp::release_session(const tcp_session *session_ptr)
+{
}
/*!
* virtualservice_udp class constructor.
*/
-l7vs::virtualservice_udp::virtualservice_udp( const l7vs::l7vsd& invsd,
- const l7vs::replication& inrep,
- const l7vs::virtualservice_element& inelement) :
- l7vs::virtualservice_base( invsd, inrep, inelement ){}
-l7vs::virtualservice_udp::~virtualservice_udp(){}
+l7vs::virtualservice_udp::virtualservice_udp(const l7vs::l7vsd &invsd,
+ const l7vs::replication &inrep,
+ const l7vs::virtualservice_element &inelement) :
+ l7vs::virtualservice_base(invsd, inrep, inelement) {}
+l7vs::virtualservice_udp::~virtualservice_udp() {}
-void l7vs::virtualservice_udp::handle_replication_interrupt( const boost::system::error_code& in ){
+void l7vs::virtualservice_udp::handle_replication_interrupt(const boost::system::error_code &in)
+{
}
-void l7vs::virtualservice_udp::read_replicationdata(){
+void l7vs::virtualservice_udp::read_replicationdata()
+{
}
-void l7vs::virtualservice_udp::initialize( l7vs::error_code& err ){
- err.setter( true, "" );
+void l7vs::virtualservice_udp::initialize(l7vs::error_code &err)
+{
+ err.setter(true, "");
}
-void l7vs::virtualservice_udp::finalize( l7vs::error_code& err ){
- err.setter( true, "" );
+void l7vs::virtualservice_udp::finalize(l7vs::error_code &err)
+{
+ err.setter(true, "");
}
-bool l7vs::virtualservice_udp::operator==( const l7vs::virtualservice_base& in ){
- return true;
+bool l7vs::virtualservice_udp::operator==(const l7vs::virtualservice_base &in)
+{
+ return true;
}
-bool l7vs::virtualservice_udp::operator!=( const l7vs::virtualservice_base& in ){
- return true;
+bool l7vs::virtualservice_udp::operator!=(const l7vs::virtualservice_base &in)
+{
+ return true;
}
-void l7vs::virtualservice_udp::set_virtualservice( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- err.setter( true, "" );
+void l7vs::virtualservice_udp::set_virtualservice(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ err.setter(true, "");
}
-void l7vs::virtualservice_udp::edit_virtualservice( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- err.setter( true, "" );
+void l7vs::virtualservice_udp::edit_virtualservice(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ err.setter(true, "");
}
-void l7vs::virtualservice_udp::add_realserver( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- err.setter( true, "" );
+void l7vs::virtualservice_udp::add_realserver(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ err.setter(true, "");
}
-void l7vs::virtualservice_udp::edit_realserver( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- err.setter( true, "" );
+void l7vs::virtualservice_udp::edit_realserver(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ err.setter(true, "");
}
-void l7vs::virtualservice_udp::del_realserver( const l7vs::virtualservice_element& in, l7vs::error_code& err ){
- err.setter( true, "" );
+void l7vs::virtualservice_udp::del_realserver(const l7vs::virtualservice_element &in, l7vs::error_code &err)
+{
+ err.setter(true, "");
}
-void l7vs::virtualservice_udp::run(){}
-void l7vs::virtualservice_udp::stop(){}
+void l7vs::virtualservice_udp::run() {}
+void l7vs::virtualservice_udp::stop() {}
-void l7vs::virtualservice_udp::release_session( const tcp_session* session_ptr ){}
+void l7vs::virtualservice_udp::release_session(const tcp_session *session_ptr) {}
using namespace boost::unit_test;
//test case1.create & destroy
-void virtualservice_base_test1(){
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
-
- // unit_test[1] object create
- BOOST_MESSAGE( "-------1" );
- l7vs::vs_test* vs = new l7vs::vs_test( vsd, rep, element );
-
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( element == vs->get_element() );
-
- // unit_test[2] object destroy
- BOOST_MESSAGE( "-------2" );
- delete vs;
+void virtualservice_base_test1()
+{
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+
+ // unit_test[1] object create
+ BOOST_MESSAGE("-------1");
+ l7vs::vs_test *vs = new l7vs::vs_test(vsd, rep, element);
+
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(element == vs->get_element());
+
+ // unit_test[2] object destroy
+ BOOST_MESSAGE("-------2");
+ delete vs;
}
//test case2 method call1
-void virtualservice_base_test2(){
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- //
- element.qos_upstream = 1234ULL;
- element.qos_downstream = 5678ULL;
-
- boost::shared_ptr<l7vs::vs_test> vs( new l7vs::vs_test( vsd, rep, element ) );
-
- boost::system::error_code test_err;
- l7vs::error_code vs_err;
-
- // unit_test[3] プロトコルモジュールをロードせずにreplication handlerを呼ぶ
- BOOST_MESSAGE( "-------3" );
- vs->call_handle_protomod_replication( test_err );
- // unit_test[4] プロトコルモジュールをロードせずにget_protocol_moduleを呼ぶ
- BOOST_MESSAGE( "-------4" );
- BOOST_CHECK( NULL == vs->get_protocol_module() );
-
- // unit_test[5] スケジュールモジュールをロードせずにreplication handlerを呼ぶ
- BOOST_MESSAGE( "-------5" );
- vs->call_handle_schedmod_replication( test_err );
- // unit_test[6] プロトコルモジュールをロードせずにget_schedule_moduleを呼ぶ
- BOOST_MESSAGE( "-------6" );
- BOOST_CHECK( NULL == vs->get_schedule_module() );
-
- //派生先のinitialize()でモジュールがロードされる
- vs->initialize( vs_err );
- // unit_test[7] プロトコルモジュールをロード後にreplication handlerを呼ぶ
- BOOST_MESSAGE( "-------7" );
- vs->call_handle_protomod_replication( test_err );
- // unit_test[8] プロトコルモジュールをロード後にget_protocol_moduleを呼ぶ
- BOOST_MESSAGE( "-------8" );
- BOOST_CHECK( NULL != vs->get_protocol_module() );
- BOOST_CHECK( "PMtest1" == vs->get_protocol_module()->get_name() );
-
- // unit_test[9] スケジュールモジュールをロード後にreplication handlerを呼ぶ
- BOOST_MESSAGE( "-------9" );
- vs->call_handle_schedmod_replication( test_err );
- // unit_test[10] スケジュールモジュールをロード後にget_schedule_moduleを呼ぶ
- BOOST_MESSAGE( "-------10" );
- BOOST_CHECK( NULL != vs->get_schedule_module() );
- BOOST_CHECK( "SMtest1" == vs->get_schedule_module()->get_name() );
-
- // unit_test[11] rs_list_lockメソッドを呼ぶと、参照カウントがカウントアップされることを確認
- BOOST_MESSAGE( "-------11" );
- vs->rs_list_lock();
- BOOST_CHECK( 1 == vs->get_refcount() );
- // unit_test[12] rs_list_unlockメソッドを呼ぶと、参照カウントがカウントダウンされることを確認
- BOOST_MESSAGE( "-------12" );
- vs->rs_list_unlock();
- BOOST_CHECK( 0 == vs->get_refcount() );
-
- // unit_test[13] rs_list_lockメソッド上限境界値(ULLONG_MAX + 1)
- BOOST_MESSAGE( "-------13" );
- vs->set_refcount( ULLONG_MAX );
- vs->rs_list_lock();
- std::cout << vs->get_refcount() << std::endl;
- BOOST_CHECK( 0ULL == vs->get_refcount() );
-
- // unit_test[14] rs_list_lockメソッド下限境界値(ULLONG_MIN(=0) - 1)
- BOOST_MESSAGE( "-------14" );
- vs->set_refcount( 0 );
- vs->rs_list_unlock();
- std::cout << vs->get_refcount() << std::endl;
- BOOST_CHECK( ULLONG_MAX == vs->get_refcount() );
-
- // unit_test[15] get_qos_upstreamメソッド(element.qos_upstreamと同じ値であることを確認)
- BOOST_MESSAGE( "-------15" );
- BOOST_CHECK( 1234ULL == vs->get_qos_upstream() );
- // unit_test[16] get_qos_downstreamメソッド(element.qos_downstreamと同じ値であることを確認)
- BOOST_MESSAGE( "-------16" );
- BOOST_CHECK( 5678ULL == vs->get_qos_downstream() );
-
- // unit_test[17] update_up_recv_sizeメソッド(Updateされることを確認)
- BOOST_MESSAGE( "-------17" );
- vs->update_up_recv_size( 12ULL );
- // unit_test[18] get_up_recv_sizeメソッドで上り総受信サイズを取得
- BOOST_MESSAGE( "-------18" );
- BOOST_CHECK( 12ULL == vs->get_up_recv_size() );
- BOOST_MESSAGE( "up recv size : " << vs->get_up_recv_size() );
- // unit_test[19] update_up_recv_sizeメソッド(以前の値に加算されることを確認)
- BOOST_MESSAGE( "-------18" );
- vs->update_up_recv_size( 28ULL );
- BOOST_CHECK( 40ULL == vs->get_up_recv_size() );
- BOOST_MESSAGE( "up recv size : " << vs->get_up_recv_size() );
- // unit_test[20] update_up_recv_sizeメソッド上限境界値(加算するとULLONG_MAXを越える場合)
- BOOST_MESSAGE( "-------20" );
- vs->update_up_recv_size( ULLONG_MAX );
- BOOST_CHECK( 39ULL == vs->get_up_recv_size() );
- BOOST_MESSAGE( "up recv size : " << vs->get_up_recv_size() );
-
- // unit_test[21] update_up_send_sizeメソッド(Updateされることを確認)
- BOOST_MESSAGE( "-------21" );
- vs->update_up_send_size( 1024ULL );
- // unit_test[22] get_up_send_sizeメソッドで上り総送信サイズを取得
- BOOST_MESSAGE( "-------22" );
- BOOST_CHECK( 1024ULL == vs->get_up_send_size() );
- BOOST_MESSAGE( "up send size : " << vs->get_up_send_size() );
- // unit_test[23] update_up_send_sizeメソッド(以前の値に加算されることを確認)
- BOOST_MESSAGE( "-------23" );
- vs->update_up_send_size( 2048ULL );
- BOOST_CHECK( 3072ULL == vs->get_up_send_size() );
- BOOST_MESSAGE( "up send size : " << vs->get_up_send_size() );
- // unit_test[24] update_up_send_sizeメソッド上限境界値(加算するとULLONG_MAXを越える場合)
- BOOST_MESSAGE( "-------24" );
- vs->update_up_send_size( ULLONG_MAX );
- BOOST_CHECK( 3071ULL == vs->get_up_send_size() );
- BOOST_MESSAGE( "up send size : " << vs->get_up_send_size() );
-
- // unit_test[25] update_down_recv_sizeメソッド(Updateされることを確認)
- BOOST_MESSAGE( "-------25" );
- vs->update_down_recv_size( 101010ULL );
- // unit_test[26] get_down_recv_sizeメソッドで下り総受信サイズを取得
- BOOST_MESSAGE( "-------26" );
- BOOST_CHECK( 101010ULL == vs->get_down_recv_size() );
- BOOST_MESSAGE( "down recv size : " << vs->get_down_recv_size() );
- // unit_test[27] update_down_recv_sizeメソッド(以前の値に加算されることを確認)
- BOOST_MESSAGE( "-------27" );
- vs->update_down_recv_size( 505050ULL );
- BOOST_CHECK( 606060ULL == vs->get_down_recv_size() );
- BOOST_MESSAGE( "down recv size : " << vs->get_down_recv_size() );
- // unit_test[28] update_down_recv_sizeメソッド上限境界値(加算するとULLONG_MAXを越える場合)
- BOOST_MESSAGE( "-------28" );
- vs->update_down_recv_size( ULLONG_MAX );
- BOOST_CHECK( 606059ULL == vs->get_down_recv_size() );
- BOOST_MESSAGE( "down recv size : " << vs->get_down_recv_size() );
-
- // unit_test[29] update_down_send_sizeメソッド(Updateされることを確認)
- BOOST_MESSAGE( "-------29" );
- vs->update_down_send_size( 123456789ULL );
- // unit_test[30] get_down_send_sizeメソッドで下り総送信サイズを取得
- BOOST_MESSAGE( "-------30" );
- BOOST_CHECK( 123456789ULL == vs->get_down_send_size() );
- BOOST_MESSAGE( "down send size : " << vs->get_down_send_size() );
- // unit_test[31] update_down_send_sizeメソッド(以前の値に加算されることを確認)
- BOOST_MESSAGE( "-------31" );
- vs->update_down_send_size( 987654321ULL );
- BOOST_CHECK( 1111111110ULL == vs->get_down_send_size() );
- BOOST_MESSAGE( "down send size : " << vs->get_down_send_size() );
- // unit_test[32] update_down_send_sizeメソッド上限境界値(加算するとULLONG_MAXを越える場合)
- BOOST_MESSAGE( "-------32" );
- vs->update_down_send_size( ULLONG_MAX );
- BOOST_CHECK( 1111111109ULL == vs->get_down_send_size() );
- BOOST_MESSAGE( "down send size : " << vs->get_down_send_size() );
-
- // unit_test[33] スループット計算のテスト
- BOOST_MESSAGE( "-------33" );
- //計算(curr_sizeクリアのため)
- vs->call_handle_throughput_update( test_err );
- //のぼり受信データサイズ更新
- vs->update_up_recv_size( 1000000000ULL );
- vs->update_down_recv_size( 2000000000ULL );
- //それから計算
- vs->call_handle_throughput_update( test_err );
- //コンソールに出して確認
- // unit_test[34] get_throughput_upstreamメソッドで値を取得
- BOOST_MESSAGE( "-------34" );
- BOOST_MESSAGE( "bps up : " << vs->get_throughput_upstream() );
- // unit_test[35] get_throughput_downstreamメソッドで値を取得
- BOOST_MESSAGE( "-------35" );
- BOOST_MESSAGE( "bps down : " << vs->get_throughput_downstream() );
-
- // unit_test[36] load_parameterでパラメータをロードする(パラメータが存在しないケース)
- BOOST_MESSAGE( "-------36" );
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- vs->call_load_parameter();
- BOOST_CHECK( vs->get_param_data().session_pool_size == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT );
-
- // unit_test[37] load_parameterでパラメータをロードする(パラメータが存在するケース)
+void virtualservice_base_test2()
+{
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ //
+ element.qos_upstream = 1234ULL;
+ element.qos_downstream = 5678ULL;
+
+ boost::shared_ptr<l7vs::vs_test> vs(new l7vs::vs_test(vsd, rep, element));
+
+ boost::system::error_code test_err;
+ l7vs::error_code vs_err;
+
+ // unit_test[3] プロトコルモジュールをロードせずにreplication handlerを呼ぶ
+ BOOST_MESSAGE("-------3");
+ vs->call_handle_protomod_replication(test_err);
+ // unit_test[4] プロトコルモジュールをロードせずにget_protocol_moduleを呼ぶ
+ BOOST_MESSAGE("-------4");
+ BOOST_CHECK(NULL == vs->get_protocol_module());
+
+ // unit_test[5] スケジュールモジュールをロードせずにreplication handlerを呼ぶ
+ BOOST_MESSAGE("-------5");
+ vs->call_handle_schedmod_replication(test_err);
+ // unit_test[6] プロトコルモジュールをロードせずにget_schedule_moduleを呼ぶ
+ BOOST_MESSAGE("-------6");
+ BOOST_CHECK(NULL == vs->get_schedule_module());
+
+ //派生先のinitialize()でモジュールがロードされる
+ vs->initialize(vs_err);
+ // unit_test[7] プロトコルモジュールをロード後にreplication handlerを呼ぶ
+ BOOST_MESSAGE("-------7");
+ vs->call_handle_protomod_replication(test_err);
+ // unit_test[8] プロトコルモジュールをロード後にget_protocol_moduleを呼ぶ
+ BOOST_MESSAGE("-------8");
+ BOOST_CHECK(NULL != vs->get_protocol_module());
+ BOOST_CHECK("PMtest1" == vs->get_protocol_module()->get_name());
+
+ // unit_test[9] スケジュールモジュールをロード後にreplication handlerを呼ぶ
+ BOOST_MESSAGE("-------9");
+ vs->call_handle_schedmod_replication(test_err);
+ // unit_test[10] スケジュールモジュールをロード後にget_schedule_moduleを呼ぶ
+ BOOST_MESSAGE("-------10");
+ BOOST_CHECK(NULL != vs->get_schedule_module());
+ BOOST_CHECK("SMtest1" == vs->get_schedule_module()->get_name());
+
+ // unit_test[11] rs_list_lockメソッドを呼ぶと、参照カウントがカウントアップされることを確認
+ BOOST_MESSAGE("-------11");
+ vs->rs_list_lock();
+ BOOST_CHECK(1 == vs->get_refcount());
+ // unit_test[12] rs_list_unlockメソッドを呼ぶと、参照カウントがカウントダウンされることを確認
+ BOOST_MESSAGE("-------12");
+ vs->rs_list_unlock();
+ BOOST_CHECK(0 == vs->get_refcount());
+
+ // unit_test[13] rs_list_lockメソッド上限境界値(ULLONG_MAX + 1)
+ BOOST_MESSAGE("-------13");
+ vs->set_refcount(ULLONG_MAX);
+ vs->rs_list_lock();
+ std::cout << vs->get_refcount() << std::endl;
+ BOOST_CHECK(0ULL == vs->get_refcount());
+
+ // unit_test[14] rs_list_lockメソッド下限境界値(ULLONG_MIN(=0) - 1)
+ BOOST_MESSAGE("-------14");
+ vs->set_refcount(0);
+ vs->rs_list_unlock();
+ std::cout << vs->get_refcount() << std::endl;
+ BOOST_CHECK(ULLONG_MAX == vs->get_refcount());
+
+ // unit_test[15] get_qos_upstreamメソッド(element.qos_upstreamと同じ値であることを確認)
+ BOOST_MESSAGE("-------15");
+ BOOST_CHECK(1234ULL == vs->get_qos_upstream());
+ // unit_test[16] get_qos_downstreamメソッド(element.qos_downstreamと同じ値であることを確認)
+ BOOST_MESSAGE("-------16");
+ BOOST_CHECK(5678ULL == vs->get_qos_downstream());
+
+ // unit_test[17] update_up_recv_sizeメソッド(Updateされることを確認)
+ BOOST_MESSAGE("-------17");
+ vs->update_up_recv_size(12ULL);
+ // unit_test[18] get_up_recv_sizeメソッドで上り総受信サイズを取得
+ BOOST_MESSAGE("-------18");
+ BOOST_CHECK(12ULL == vs->get_up_recv_size());
+ BOOST_MESSAGE("up recv size : " << vs->get_up_recv_size());
+ // unit_test[19] update_up_recv_sizeメソッド(以前の値に加算されることを確認)
+ BOOST_MESSAGE("-------18");
+ vs->update_up_recv_size(28ULL);
+ BOOST_CHECK(40ULL == vs->get_up_recv_size());
+ BOOST_MESSAGE("up recv size : " << vs->get_up_recv_size());
+ // unit_test[20] update_up_recv_sizeメソッド上限境界値(加算するとULLONG_MAXを越える場合)
+ BOOST_MESSAGE("-------20");
+ vs->update_up_recv_size(ULLONG_MAX);
+ BOOST_CHECK(39ULL == vs->get_up_recv_size());
+ BOOST_MESSAGE("up recv size : " << vs->get_up_recv_size());
+
+ // unit_test[21] update_up_send_sizeメソッド(Updateされることを確認)
+ BOOST_MESSAGE("-------21");
+ vs->update_up_send_size(1024ULL);
+ // unit_test[22] get_up_send_sizeメソッドで上り総送信サイズを取得
+ BOOST_MESSAGE("-------22");
+ BOOST_CHECK(1024ULL == vs->get_up_send_size());
+ BOOST_MESSAGE("up send size : " << vs->get_up_send_size());
+ // unit_test[23] update_up_send_sizeメソッド(以前の値に加算されることを確認)
+ BOOST_MESSAGE("-------23");
+ vs->update_up_send_size(2048ULL);
+ BOOST_CHECK(3072ULL == vs->get_up_send_size());
+ BOOST_MESSAGE("up send size : " << vs->get_up_send_size());
+ // unit_test[24] update_up_send_sizeメソッド上限境界値(加算するとULLONG_MAXを越える場合)
+ BOOST_MESSAGE("-------24");
+ vs->update_up_send_size(ULLONG_MAX);
+ BOOST_CHECK(3071ULL == vs->get_up_send_size());
+ BOOST_MESSAGE("up send size : " << vs->get_up_send_size());
+
+ // unit_test[25] update_down_recv_sizeメソッド(Updateされることを確認)
+ BOOST_MESSAGE("-------25");
+ vs->update_down_recv_size(101010ULL);
+ // unit_test[26] get_down_recv_sizeメソッドで下り総受信サイズを取得
+ BOOST_MESSAGE("-------26");
+ BOOST_CHECK(101010ULL == vs->get_down_recv_size());
+ BOOST_MESSAGE("down recv size : " << vs->get_down_recv_size());
+ // unit_test[27] update_down_recv_sizeメソッド(以前の値に加算されることを確認)
+ BOOST_MESSAGE("-------27");
+ vs->update_down_recv_size(505050ULL);
+ BOOST_CHECK(606060ULL == vs->get_down_recv_size());
+ BOOST_MESSAGE("down recv size : " << vs->get_down_recv_size());
+ // unit_test[28] update_down_recv_sizeメソッド上限境界値(加算するとULLONG_MAXを越える場合)
+ BOOST_MESSAGE("-------28");
+ vs->update_down_recv_size(ULLONG_MAX);
+ BOOST_CHECK(606059ULL == vs->get_down_recv_size());
+ BOOST_MESSAGE("down recv size : " << vs->get_down_recv_size());
+
+ // unit_test[29] update_down_send_sizeメソッド(Updateされることを確認)
+ BOOST_MESSAGE("-------29");
+ vs->update_down_send_size(123456789ULL);
+ // unit_test[30] get_down_send_sizeメソッドで下り総送信サイズを取得
+ BOOST_MESSAGE("-------30");
+ BOOST_CHECK(123456789ULL == vs->get_down_send_size());
+ BOOST_MESSAGE("down send size : " << vs->get_down_send_size());
+ // unit_test[31] update_down_send_sizeメソッド(以前の値に加算されることを確認)
+ BOOST_MESSAGE("-------31");
+ vs->update_down_send_size(987654321ULL);
+ BOOST_CHECK(1111111110ULL == vs->get_down_send_size());
+ BOOST_MESSAGE("down send size : " << vs->get_down_send_size());
+ // unit_test[32] update_down_send_sizeメソッド上限境界値(加算するとULLONG_MAXを越える場合)
+ BOOST_MESSAGE("-------32");
+ vs->update_down_send_size(ULLONG_MAX);
+ BOOST_CHECK(1111111109ULL == vs->get_down_send_size());
+ BOOST_MESSAGE("down send size : " << vs->get_down_send_size());
+
+ // unit_test[33] スループット計算のテスト
+ BOOST_MESSAGE("-------33");
+ //計算(curr_sizeクリアのため)
+ vs->call_handle_throughput_update(test_err);
+ //のぼり受信データサイズ更新
+ vs->update_up_recv_size(1000000000ULL);
+ vs->update_down_recv_size(2000000000ULL);
+ //それから計算
+ vs->call_handle_throughput_update(test_err);
+ //コンソールに出して確認
+ // unit_test[34] get_throughput_upstreamメソッドで値を取得
+ BOOST_MESSAGE("-------34");
+ BOOST_MESSAGE("bps up : " << vs->get_throughput_upstream());
+ // unit_test[35] get_throughput_downstreamメソッドで値を取得
+ BOOST_MESSAGE("-------35");
+ BOOST_MESSAGE("bps down : " << vs->get_throughput_downstream());
+
+ // unit_test[36] load_parameterでパラメータをロードする(パラメータが存在しないケース)
+ BOOST_MESSAGE("-------36");
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ vs->call_load_parameter();
+ BOOST_CHECK(vs->get_param_data().session_pool_size == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT);
+
+ // unit_test[37] load_parameterでパラメータをロードする(パラメータが存在するケース)
// This test is not use
// debugg_flug_struct::getInstance().param_exist_flag() = true;
// vs->call_load_parameter();
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "virtualservice_base_test" );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("virtualservice_base_test");
- // add test case to test suite
+ // add test case to test suite
// ts->add( BOOST_TEST_CASE( &virtualservice_base_test1 ) );
- ts->add( BOOST_TEST_CASE( &virtualservice_base_test2 ) );
+ ts->add(BOOST_TEST_CASE(&virtualservice_base_test2));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
typedef boost::asio::ip::tcp::endpoint tcp_ep_type;
typedef boost::asio::ip::udp::endpoint udp_ep_type;
-class client{
+class client
+{
protected:
- boost::asio::io_service dispatcher;
- boost::asio::ip::tcp::socket sock;
- boost::system::error_code err;
- std::string name;
+ boost::asio::io_service dispatcher;
+ boost::asio::ip::tcp::socket sock;
+ boost::system::error_code err;
+ std::string name;
public:
- client( std::string in ) : sock( dispatcher ), name( in ) {}
- ~client(){}
- void connect(){
- sock.connect( tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) ), err );
- if( err )
- std::cout << err.message() << std::endl;
- else
- std::cout << "connect : " << name << std::endl;
- }
- void disconnect(){
- sock.close();
- std::cout << "disconnect : " << name << std::endl;
- }
+ client(std::string in) : sock(dispatcher), name(in) {}
+ ~client() {}
+ void connect() {
+ sock.connect(tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000)), err);
+ if (err)
+ std::cout << err.message() << std::endl;
+ else
+ std::cout << "connect : " << name << std::endl;
+ }
+ void disconnect() {
+ sock.close();
+ std::cout << "disconnect : " << name << std::endl;
+ }
};
-void vs_tcp_test1(){
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.protocol_args.push_back( "testarg" );
- elem1.protocol_args.push_back( "testarg2" );
- elem1.sorry_maxconnection = LLONG_MAX;
- elem1.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) );
- elem1.sorry_flag = INT_MAX;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
-
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
-
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- l7vs::error_code vs_err;
- BOOST_CHECK( NULL == vs->get_protocol_module() );
- BOOST_CHECK( NULL == vs->get_schedule_module() );
-
- // unit_test[1] sorry_flag = INT_MAXでVSを作成した場合、sorry_flagが0に設定されること
- // unit_test[2] sorry_maxconnection = LLONG_MAXでVSを作成した場合、sorry_maxconnectionが0LLに設定されること
- BOOST_MESSAGE( "-------1" );
- BOOST_CHECK( vs->get_element().sorry_maxconnection == 0LL );
- BOOST_MESSAGE( vs->get_element().sorry_maxconnection );
- BOOST_MESSAGE( "-------2" );
- BOOST_CHECK( vs->get_element().sorry_flag == 0 );
- BOOST_MESSAGE( vs->get_element().sorry_flag );
- BOOST_CHECK( vs->get_element().sorry_fwdmode == l7vs::virtualservice_element::FWD_MASQ );
- BOOST_MESSAGE( vs->get_element().sorry_fwdmode );
-
- vs->initialize( vs_err );
- BOOST_CHECK( vs_err == false );
- BOOST_MESSAGE( vs_err.get_message() );
-
- // unit_test[3] 初期化(不正なIPアドレス指定でエラーが返ること)
- {
- BOOST_MESSAGE( "-------3" );
- l7vs::virtualservice_element elem2;
- //set element value
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (60000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- l7vs::vs_tcp* vs2 = new l7vs::vs_tcp( vsd, rep, elem2 );
- vs2->initialize( vs_err );
- BOOST_CHECK( vs_err == true );
- BOOST_MESSAGE( vs_err.get_message() );
-
- vs2->finalize( vs_err );
- delete vs2;
- }
- BOOST_MESSAGE( "-------" );
-
- // unit_test[4] 初期化(重複IPアドレス指定でエラーが返ること)
- {
- BOOST_MESSAGE( "-------4" );
- l7vs::virtualservice_element elem2;
- //set element value
- elem2.udpmode = false;
- elem1.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- l7vs::vs_tcp* vs2 = new l7vs::vs_tcp( vsd, rep, elem2 );
- vs->initialize( vs_err );
- BOOST_CHECK( vs_err == true );
- BOOST_MESSAGE( vs_err.get_message() );
-
- vs2->finalize( vs_err );
+void vs_tcp_test1()
+{
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.protocol_args.push_back("testarg");
+ elem1.protocol_args.push_back("testarg2");
+ elem1.sorry_maxconnection = LLONG_MAX;
+ elem1.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080));
+ elem1.sorry_flag = INT_MAX;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ l7vs::error_code vs_err;
+ BOOST_CHECK(NULL == vs->get_protocol_module());
+ BOOST_CHECK(NULL == vs->get_schedule_module());
+
+ // unit_test[1] sorry_flag = INT_MAXでVSを作成した場合、sorry_flagが0に設定されること
+ // unit_test[2] sorry_maxconnection = LLONG_MAXでVSを作成した場合、sorry_maxconnectionが0LLに設定されること
+ BOOST_MESSAGE("-------1");
+ BOOST_CHECK(vs->get_element().sorry_maxconnection == 0LL);
+ BOOST_MESSAGE(vs->get_element().sorry_maxconnection);
+ BOOST_MESSAGE("-------2");
+ BOOST_CHECK(vs->get_element().sorry_flag == 0);
+ BOOST_MESSAGE(vs->get_element().sorry_flag);
+ BOOST_CHECK(vs->get_element().sorry_fwdmode == l7vs::virtualservice_element::FWD_MASQ);
+ BOOST_MESSAGE(vs->get_element().sorry_fwdmode);
+
+ vs->initialize(vs_err);
+ BOOST_CHECK(vs_err == false);
+ BOOST_MESSAGE(vs_err.get_message());
+
+ // unit_test[3] 初期化(不正なIPアドレス指定でエラーが返ること)
+ {
+ BOOST_MESSAGE("-------3");
+ l7vs::virtualservice_element elem2;
+ //set element value
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (60000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ l7vs::vs_tcp *vs2 = new l7vs::vs_tcp(vsd, rep, elem2);
+ vs2->initialize(vs_err);
+ BOOST_CHECK(vs_err == true);
+ BOOST_MESSAGE(vs_err.get_message());
+
+ vs2->finalize(vs_err);
+ delete vs2;
+ }
+ BOOST_MESSAGE("-------");
+
+ // unit_test[4] 初期化(重複IPアドレス指定でエラーが返ること)
+ {
+ BOOST_MESSAGE("-------4");
+ l7vs::virtualservice_element elem2;
+ //set element value
+ elem2.udpmode = false;
+ elem1.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ l7vs::vs_tcp *vs2 = new l7vs::vs_tcp(vsd, rep, elem2);
+ vs->initialize(vs_err);
+ BOOST_CHECK(vs_err == true);
+ BOOST_MESSAGE(vs_err.get_message());
+
+ vs2->finalize(vs_err);
// テスト用途なので破棄不要
// delete vs2;
- }
+ }
- vs->finalize( vs_err );
+ vs->finalize(vs_err);
// 同上
// delete vs;
- BOOST_MESSAGE( "-------" );
+ BOOST_MESSAGE("-------");
}
-void vs_tcp_test2(){
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- //まず、stubのレプリケーションエリア作成をする
- debugg_flug_struct::getInstance().create_rep_area();
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.protocol_args.push_back( "testarg" );
- elem1.protocol_args.push_back( "testarg2" );
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) );
- elem1.sorry_flag = true;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
-
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
-
- vs->initialize( vs_err );
+void vs_tcp_test2()
+{
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ //まず、stubのレプリケーションエリア作成をする
+ debugg_flug_struct::getInstance().create_rep_area();
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.protocol_args.push_back("testarg");
+ elem1.protocol_args.push_back("testarg2");
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080));
+ elem1.sorry_flag = true;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+
+ vs->initialize(vs_err);
// threadの開始は不要
// usleep( 1000 );
// boost::thread vs_main( &l7vs::vs_tcp::run, vs );
// usleep( 1000 );
- boost::system::error_code b_err;
-
- // unit_test[5] sorry_flagがINT_MAXの場合、接続時にsorry通知を行わないことを確認する
- BOOST_MESSAGE( "-------5" );
- vs->get_element().sorry_flag = INT_MAX;
-
-/* boost::asio::io_service client_dispatcher;
- boost::asio::ip::tcp::socket sock( client_dispatcher );
- std::cout << "connect" << std::endl;
- sock.connect( tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) ) );
- usleep( 1000 );
-*/
- BOOST_CHECK( vs->get_element().sorry_flag == INT_MAX );
-
-
- // unit_test[6] replicationデータ作成のテスト
- BOOST_MESSAGE( "-------6" );
- vs->get_element().sorry_flag = true;
- vs->get_element().sorry_fwdmode = l7vs::virtualservice_element::FWD_TPROXY;
- vs->call_handle_replication_interrupt( test_err );
- l7vs::virtualservice_base::replication_header* rep_head =
- reinterpret_cast<l7vs::virtualservice_base::replication_header*>( debugg_flug_struct::getInstance().get_rep_area() );
- //data_numが0になってることを確認
- BOOST_CHECK( rep_head->data_num == 1 );
- l7vs::virtualservice_base::replication_data* rep_data =
- reinterpret_cast<l7vs::virtualservice_base::replication_data*>( ++rep_head );
- //udpmode
- BOOST_CHECK( rep_data->udpmode == false );
- //tcp_endpoint
- tmp_tcp_ep << elem1.tcp_accept_endpoint;
- BOOST_CHECK( 0 == strncmp( rep_data->tcp_endpoint, tmp_tcp_ep.str().c_str(), 47 ) );
- //udp_endpoint
- tmp_udp_ep << elem1.udp_recv_endpoint;
- BOOST_CHECK( 0 == strncmp( rep_data->udp_endpoint, tmp_udp_ep.str().c_str(), 47 ) );
- //sorry_maxconnection
- BOOST_CHECK( rep_data->sorry_maxconnection == 1234LL );
- //sorry_endpoint
- tmp_sorry_ep << elem1.sorry_endpoint;
- BOOST_CHECK( 0 == strncmp( rep_data->sorry_endpoint, tmp_sorry_ep.str().c_str(), 47 ) );
- //sorry_flag
- BOOST_CHECK( rep_data->sorry_flag == true );
- //sorry_fwdmode
- BOOST_CHECK( rep_data->sorry_fwdmode == 2 );
- //qos_up
- BOOST_CHECK( rep_data->qos_up == elem1.qos_upstream );
- //qos_down
- BOOST_CHECK( rep_data->qos_down == elem1.qos_downstream );
- BOOST_MESSAGE( "-------" );
-
- // unit_test[7] sorry_flagのクリア
- // unit_test[8] sorry_maxconnectionのクリア
- l7vs::virtualservice_element elem2;
- //set element value
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- elem2.protocol_args.push_back( "testarg" );
- elem2.protocol_args.push_back( "testarg2" );
- elem2.sorry_maxconnection = LLONG_MAX;
- elem2.sorry_endpoint = tcp_ep_type();
- elem2.sorry_flag = INT_MAX;
- elem2.qos_upstream = 0ULL;
- elem2.qos_downstream = 0ULL;
-
- BOOST_MESSAGE( "-------7" );
- vs->edit_virtualservice( elem2, vs_err );
- BOOST_CHECK( vs_err == false );
- BOOST_MESSAGE( vs_err.get_message() );
-
- BOOST_CHECK( vs->get_element().sorry_maxconnection == 0LL );
- BOOST_MESSAGE( vs->get_element().sorry_maxconnection );
- BOOST_MESSAGE( "-------8" );
- BOOST_CHECK( vs->get_element().sorry_flag == 0 );
- BOOST_MESSAGE( vs->get_element().sorry_flag );
- BOOST_MESSAGE( "-------" );
-
- //設定をもとにもどす
- vs->edit_virtualservice( elem1, vs_err );
-
- // unit_test[9] sorry_serverのクリア
- elem2.sorry_maxconnection = 1234LL;
- elem2.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "255.255.255.255" ), (0) );
- elem2.sorry_flag = true;
- BOOST_MESSAGE( "-------9" );
- vs->edit_virtualservice( elem2, vs_err );
- BOOST_CHECK( vs->get_element().sorry_endpoint == tcp_ep_type( boost::asio::ip::address::from_string( "0.0.0.0" ), (0) ) );
- BOOST_MESSAGE( vs->get_element().sorry_endpoint );
- BOOST_CHECK( vs->get_element().sorry_maxconnection == 0LL );
- BOOST_MESSAGE( vs->get_element().sorry_maxconnection );
- BOOST_CHECK( vs->get_element().sorry_flag == 0 );
- BOOST_MESSAGE( vs->get_element().sorry_flag );
- BOOST_MESSAGE( "-------" );
-
- //設定をもとにもどす
- vs->edit_virtualservice( elem1, vs_err );
-
- // unit_test[10] sorry_endpointを変更しない
- // unit_test[11] sorry_flagを変更しない
- // unit_test[12] sorry_maxconnectionを変更しない
- elem2.sorry_maxconnection = 0LL;
- elem2.sorry_endpoint = tcp_ep_type();
- elem2.sorry_flag = 0;
- BOOST_MESSAGE( "-------10" );
- vs->edit_virtualservice( elem2, vs_err );
- BOOST_CHECK( vs->get_element().sorry_endpoint == elem1.sorry_endpoint );
- BOOST_MESSAGE( vs->get_element().sorry_endpoint );
- BOOST_MESSAGE( "-------11" );
- BOOST_CHECK( vs->get_element().sorry_maxconnection == elem1.sorry_maxconnection );
- BOOST_MESSAGE( vs->get_element().sorry_maxconnection );
- BOOST_MESSAGE( "-------12" );
- BOOST_CHECK( vs->get_element().sorry_flag == elem1.sorry_flag );
- BOOST_MESSAGE( vs->get_element().sorry_flag );
- BOOST_MESSAGE( "-------" );
-
- //設定をもとにもどす
- vs->edit_virtualservice( elem1, vs_err );
-
- // unit_test[13] 普通に値が変わるか
- elem2.sorry_maxconnection = 2468LL;
- elem2.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.0.101" ), (43210) );
- elem2.qos_upstream = 32767ULL;
- elem2.qos_downstream = 65535ULL;
- BOOST_MESSAGE( "-------13" );
- vs->edit_virtualservice( elem2, vs_err );
- BOOST_CHECK( vs->get_element().sorry_endpoint == elem2.sorry_endpoint );
- BOOST_MESSAGE( vs->get_element().sorry_endpoint );
- BOOST_CHECK( vs->get_element().sorry_maxconnection == elem2.sorry_maxconnection );
- BOOST_MESSAGE( vs->get_element().sorry_maxconnection );
- BOOST_CHECK( vs->get_element().qos_upstream == elem2.qos_upstream );
- BOOST_MESSAGE( vs->get_element().qos_upstream );
- BOOST_CHECK( vs->get_element().qos_downstream == elem2.qos_downstream );
- BOOST_MESSAGE( vs->get_element().qos_downstream );
- BOOST_MESSAGE( "-------" );
+ boost::system::error_code b_err;
+
+ // unit_test[5] sorry_flagがINT_MAXの場合、接続時にsorry通知を行わないことを確認する
+ BOOST_MESSAGE("-------5");
+ vs->get_element().sorry_flag = INT_MAX;
+
+ /* boost::asio::io_service client_dispatcher;
+ boost::asio::ip::tcp::socket sock( client_dispatcher );
+ std::cout << "connect" << std::endl;
+ sock.connect( tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) ) );
+ usleep( 1000 );
+ */
+ BOOST_CHECK(vs->get_element().sorry_flag == INT_MAX);
+
+
+ // unit_test[6] replicationデータ作成のテスト
+ BOOST_MESSAGE("-------6");
+ vs->get_element().sorry_flag = true;
+ vs->get_element().sorry_fwdmode = l7vs::virtualservice_element::FWD_TPROXY;
+ vs->call_handle_replication_interrupt(test_err);
+ l7vs::virtualservice_base::replication_header *rep_head =
+ reinterpret_cast<l7vs::virtualservice_base::replication_header *>(debugg_flug_struct::getInstance().get_rep_area());
+ //data_numが0になってることを確認
+ BOOST_CHECK(rep_head->data_num == 1);
+ l7vs::virtualservice_base::replication_data *rep_data =
+ reinterpret_cast<l7vs::virtualservice_base::replication_data *>(++rep_head);
+ //udpmode
+ BOOST_CHECK(rep_data->udpmode == false);
+ //tcp_endpoint
+ tmp_tcp_ep << elem1.tcp_accept_endpoint;
+ BOOST_CHECK(0 == strncmp(rep_data->tcp_endpoint, tmp_tcp_ep.str().c_str(), 47));
+ //udp_endpoint
+ tmp_udp_ep << elem1.udp_recv_endpoint;
+ BOOST_CHECK(0 == strncmp(rep_data->udp_endpoint, tmp_udp_ep.str().c_str(), 47));
+ //sorry_maxconnection
+ BOOST_CHECK(rep_data->sorry_maxconnection == 1234LL);
+ //sorry_endpoint
+ tmp_sorry_ep << elem1.sorry_endpoint;
+ BOOST_CHECK(0 == strncmp(rep_data->sorry_endpoint, tmp_sorry_ep.str().c_str(), 47));
+ //sorry_flag
+ BOOST_CHECK(rep_data->sorry_flag == true);
+ //sorry_fwdmode
+ BOOST_CHECK(rep_data->sorry_fwdmode == 2);
+ //qos_up
+ BOOST_CHECK(rep_data->qos_up == elem1.qos_upstream);
+ //qos_down
+ BOOST_CHECK(rep_data->qos_down == elem1.qos_downstream);
+ BOOST_MESSAGE("-------");
+
+ // unit_test[7] sorry_flagのクリア
+ // unit_test[8] sorry_maxconnectionのクリア
+ l7vs::virtualservice_element elem2;
+ //set element value
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ elem2.protocol_args.push_back("testarg");
+ elem2.protocol_args.push_back("testarg2");
+ elem2.sorry_maxconnection = LLONG_MAX;
+ elem2.sorry_endpoint = tcp_ep_type();
+ elem2.sorry_flag = INT_MAX;
+ elem2.qos_upstream = 0ULL;
+ elem2.qos_downstream = 0ULL;
+
+ BOOST_MESSAGE("-------7");
+ vs->edit_virtualservice(elem2, vs_err);
+ BOOST_CHECK(vs_err == false);
+ BOOST_MESSAGE(vs_err.get_message());
+
+ BOOST_CHECK(vs->get_element().sorry_maxconnection == 0LL);
+ BOOST_MESSAGE(vs->get_element().sorry_maxconnection);
+ BOOST_MESSAGE("-------8");
+ BOOST_CHECK(vs->get_element().sorry_flag == 0);
+ BOOST_MESSAGE(vs->get_element().sorry_flag);
+ BOOST_MESSAGE("-------");
+
+ //設定をもとにもどす
+ vs->edit_virtualservice(elem1, vs_err);
+
+ // unit_test[9] sorry_serverのクリア
+ elem2.sorry_maxconnection = 1234LL;
+ elem2.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("255.255.255.255"), (0));
+ elem2.sorry_flag = true;
+ BOOST_MESSAGE("-------9");
+ vs->edit_virtualservice(elem2, vs_err);
+ BOOST_CHECK(vs->get_element().sorry_endpoint == tcp_ep_type(boost::asio::ip::address::from_string("0.0.0.0"), (0)));
+ BOOST_MESSAGE(vs->get_element().sorry_endpoint);
+ BOOST_CHECK(vs->get_element().sorry_maxconnection == 0LL);
+ BOOST_MESSAGE(vs->get_element().sorry_maxconnection);
+ BOOST_CHECK(vs->get_element().sorry_flag == 0);
+ BOOST_MESSAGE(vs->get_element().sorry_flag);
+ BOOST_MESSAGE("-------");
+
+ //設定をもとにもどす
+ vs->edit_virtualservice(elem1, vs_err);
+
+ // unit_test[10] sorry_endpointを変更しない
+ // unit_test[11] sorry_flagを変更しない
+ // unit_test[12] sorry_maxconnectionを変更しない
+ elem2.sorry_maxconnection = 0LL;
+ elem2.sorry_endpoint = tcp_ep_type();
+ elem2.sorry_flag = 0;
+ BOOST_MESSAGE("-------10");
+ vs->edit_virtualservice(elem2, vs_err);
+ BOOST_CHECK(vs->get_element().sorry_endpoint == elem1.sorry_endpoint);
+ BOOST_MESSAGE(vs->get_element().sorry_endpoint);
+ BOOST_MESSAGE("-------11");
+ BOOST_CHECK(vs->get_element().sorry_maxconnection == elem1.sorry_maxconnection);
+ BOOST_MESSAGE(vs->get_element().sorry_maxconnection);
+ BOOST_MESSAGE("-------12");
+ BOOST_CHECK(vs->get_element().sorry_flag == elem1.sorry_flag);
+ BOOST_MESSAGE(vs->get_element().sorry_flag);
+ BOOST_MESSAGE("-------");
+
+ //設定をもとにもどす
+ vs->edit_virtualservice(elem1, vs_err);
+
+ // unit_test[13] 普通に値が変わるか
+ elem2.sorry_maxconnection = 2468LL;
+ elem2.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.0.101"), (43210));
+ elem2.qos_upstream = 32767ULL;
+ elem2.qos_downstream = 65535ULL;
+ BOOST_MESSAGE("-------13");
+ vs->edit_virtualservice(elem2, vs_err);
+ BOOST_CHECK(vs->get_element().sorry_endpoint == elem2.sorry_endpoint);
+ BOOST_MESSAGE(vs->get_element().sorry_endpoint);
+ BOOST_CHECK(vs->get_element().sorry_maxconnection == elem2.sorry_maxconnection);
+ BOOST_MESSAGE(vs->get_element().sorry_maxconnection);
+ BOOST_CHECK(vs->get_element().qos_upstream == elem2.qos_upstream);
+ BOOST_MESSAGE(vs->get_element().qos_upstream);
+ BOOST_CHECK(vs->get_element().qos_downstream == elem2.qos_downstream);
+ BOOST_MESSAGE(vs->get_element().qos_downstream);
+ BOOST_MESSAGE("-------");
// BOOST_MESSAGE( "-------14" );
// sock.close();
- vs->stop();
- usleep( 1000 );
+ vs->stop();
+ usleep(1000);
- vs->finalize( vs_err );
+ vs->finalize(vs_err);
- delete vs;
+ delete vs;
- //テストが終わったらStubのレプリケーションエリアを削除
- debugg_flug_struct::getInstance().create_rep_area();
+ //テストが終わったらStubのレプリケーションエリアを削除
+ debugg_flug_struct::getInstance().create_rep_area();
}
}
*/
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "virtualservice_tcp_test(UT for IT-bug)" );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("virtualservice_tcp_test(UT for IT-bug)");
- // add test case to test suite
- ts->add( BOOST_TEST_CASE( &vs_tcp_test1 ) );
- ts->add( BOOST_TEST_CASE( &vs_tcp_test2 ) );
+ // add test case to test suite
+ ts->add(BOOST_TEST_CASE(&vs_tcp_test1));
+ ts->add(BOOST_TEST_CASE(&vs_tcp_test2));
// ts->add( BOOST_TEST_CASE( &vs_tcp_test3 ) );
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
int counter;
//Acceptテスト用Client
-void client(){
- boost::system::error_code b_err;
+void client()
+{
+ boost::system::error_code b_err;
- boost::asio::io_service dispatcher;
- boost::asio::ip::tcp::socket sock( dispatcher );
+ boost::asio::io_service dispatcher;
+ boost::asio::ip::tcp::socket sock(dispatcher);
// std::cout << "connect" << std::endl;
- sock.connect( tcp_ep_type( boost::asio::ip::address_v4::loopback() , (60000) ) ,b_err);
- if(b_err){
- //ERROR
- std::cout << "connection error [" << b_err.message() << "]" << std::endl;
- return;
- }else{
- std::cout << "connect" << std::endl;
- }
-
- sock.close( b_err );
+ sock.connect(tcp_ep_type(boost::asio::ip::address_v4::loopback() , (60000)) , b_err);
+ if (b_err) {
+ //ERROR
+ std::cout << "connection error [" << b_err.message() << "]" << std::endl;
+ return;
+ } else {
+ std::cout << "connect" << std::endl;
+ }
+
+ sock.close(b_err);
}
//sorry状態にならないパターン
-void virtualservice_tcp_sorry_test1(){
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------sorry_test1" );
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.sorry_flag =0;
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
- //boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
- //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- //sorry状態かチェック
- l7vs::session_thread_control* stc1 = NULL;
- l7vs::tcp_session* sess1 = NULL;
-
- vs->get_active_sessions().pop(sess1, stc1);
-
- // unit_test[xx] sorry_flag test
- //BOOST_CHECK( NULL != sess1 );
-
- //BOOST_CHECK_EQUAL(sess1->get_sorry_flag(), false);
-
- //戻しておく
- //vs->get_active_sessions().insert(sess1, stc1);
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-std::cout << "!" << std::endl;
-
- usleep( 1000 );
- //cl_thread.join();
- vs_main.join();
-std::cout << "!" << std::endl;
-
- vs_err.setter(false,"");
- // vs->finalize( vs_err );
-std::cout << "!" << std::endl;
- //delete vs;
+void virtualservice_tcp_sorry_test1()
+{
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------sorry_test1");
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.sorry_flag = 0;
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+ //boost::thread cl_thread( &client );
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
+ //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
+
+ //sorry状態かチェック
+ l7vs::session_thread_control *stc1 = NULL;
+ l7vs::tcp_session *sess1 = NULL;
+
+ vs->get_active_sessions().pop(sess1, stc1);
+
+ // unit_test[xx] sorry_flag test
+ //BOOST_CHECK( NULL != sess1 );
+
+ //BOOST_CHECK_EQUAL(sess1->get_sorry_flag(), false);
+
+ //戻しておく
+ //vs->get_active_sessions().insert(sess1, stc1);
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+ std::cout << "!" << std::endl;
+
+ usleep(1000);
+ //cl_thread.join();
+ vs_main.join();
+ std::cout << "!" << std::endl;
+
+ vs_err.setter(false, "");
+ // vs->finalize( vs_err );
+ std::cout << "!" << std::endl;
+ //delete vs;
}
//vsオプションでsorry状態にしたパターン
-void virtualservice_tcp_sorry_test2(){
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------sorry_test2" );
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.sorry_flag =1;
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
- //boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- //usleep( 2000000 );
- //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- //sorry状態かチェック
- l7vs::session_thread_control* stc1 = NULL;
- l7vs::tcp_session* sess1 = NULL;
-
- vs->get_active_sessions().pop(sess1, stc1);
-
- // unit_test[xx] sorry_flag test
- //BOOST_CHECK( NULL != sess1 );
-
- //BOOST_CHECK_EQUAL(sess1->get_sorry_flag(), true);
-
- //戻しておく
- vs->get_active_sessions().insert(sess1, stc1);
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-std::cout << "!" << std::endl;
-
- usleep( 1000 );
- //cl_thread.join();
- vs_main.join();
-std::cout << "!" << std::endl;
-
- vs_err.setter(false,"");
- // vs->finalize( vs_err );
-std::cout << "!" << std::endl;
- //delete vs;
+void virtualservice_tcp_sorry_test2()
+{
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------sorry_test2");
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.sorry_flag = 1;
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+ //boost::thread cl_thread( &client );
+
+ //2秒待ってsessionプールのサイズをチェック
+ //usleep( 2000000 );
+ //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
+
+ //sorry状態かチェック
+ l7vs::session_thread_control *stc1 = NULL;
+ l7vs::tcp_session *sess1 = NULL;
+
+ vs->get_active_sessions().pop(sess1, stc1);
+
+ // unit_test[xx] sorry_flag test
+ //BOOST_CHECK( NULL != sess1 );
+
+ //BOOST_CHECK_EQUAL(sess1->get_sorry_flag(), true);
+
+ //戻しておく
+ vs->get_active_sessions().insert(sess1, stc1);
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+ std::cout << "!" << std::endl;
+
+ usleep(1000);
+ //cl_thread.join();
+ vs_main.join();
+ std::cout << "!" << std::endl;
+
+ vs_err.setter(false, "");
+ // vs->finalize( vs_err );
+ std::cout << "!" << std::endl;
+ //delete vs;
}
//接続数ででsorry状態になったパターン
-void virtualservice_tcp_sorry_test3(){
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------sorry_test3" );
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 4LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.sorry_flag =0;
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- //接続数を増やす
- vs->connection_active( tcp_ep_type() );
- vs->connection_active( tcp_ep_type() );
- vs->connection_active( tcp_ep_type() );
- vs->connection_active( tcp_ep_type() );
- std::cout << "connection=" << vs->get_active_count() << std::endl;
-
- usleep( 2000000 );
- //boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- //usleep( 2000000 );
- //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- //sorry状態かチェック
- l7vs::session_thread_control* stc1 = NULL;
- l7vs::tcp_session* sess1 = NULL;
-
- vs->get_active_sessions().pop(sess1, stc1);
-
- // unit_test[xx] sorry_flag test
- //BOOST_CHECK( NULL != sess1 );
- //BOOST_CHECK_EQUAL(sess1->get_sorry_flag(), true);
-
- //戻しておく
- vs->get_active_sessions().insert(sess1, stc1);
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-std::cout << "!" << std::endl;
-
- usleep( 1000 );
- //cl_thread.join();
- vs_main.join();
-std::cout << "!" << std::endl;
-
- vs_err.setter(false,"");
- // vs->finalize( vs_err );
-std::cout << "!" << std::endl;
- //delete vs;
+void virtualservice_tcp_sorry_test3()
+{
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------sorry_test3");
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 4LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.sorry_flag = 0;
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ //接続数を増やす
+ vs->connection_active(tcp_ep_type());
+ vs->connection_active(tcp_ep_type());
+ vs->connection_active(tcp_ep_type());
+ vs->connection_active(tcp_ep_type());
+ std::cout << "connection=" << vs->get_active_count() << std::endl;
+
+ usleep(2000000);
+ //boost::thread cl_thread( &client );
+
+ //2秒待ってsessionプールのサイズをチェック
+ //usleep( 2000000 );
+ //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
+
+ //sorry状態かチェック
+ l7vs::session_thread_control *stc1 = NULL;
+ l7vs::tcp_session *sess1 = NULL;
+
+ vs->get_active_sessions().pop(sess1, stc1);
+
+ // unit_test[xx] sorry_flag test
+ //BOOST_CHECK( NULL != sess1 );
+ //BOOST_CHECK_EQUAL(sess1->get_sorry_flag(), true);
+
+ //戻しておく
+ vs->get_active_sessions().insert(sess1, stc1);
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+ std::cout << "!" << std::endl;
+
+ usleep(1000);
+ //cl_thread.join();
+ vs_main.join();
+ std::cout << "!" << std::endl;
+
+ vs_err.setter(false, "");
+ // vs->finalize( vs_err );
+ std::cout << "!" << std::endl;
+ //delete vs;
}
//接続数増えてもsorry_maxconnectionが設定されていないパターン
-void virtualservice_tcp_sorry_test4(){
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------sorry_test4" );
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 0LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.sorry_flag =0;
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- //接続数を増やす
- vs->connection_active( tcp_ep_type() );
- vs->connection_active( tcp_ep_type() );
- vs->connection_active( tcp_ep_type() );
- vs->connection_active( tcp_ep_type() );
- std::cout << "connection=" << vs->get_active_count() << std::endl;
-
- //usleep( 2000000 );
- //boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- //usleep( 2000000 );
- //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- //sorry状態かチェック
- l7vs::session_thread_control* stc1 = NULL;
- l7vs::tcp_session* sess1 = NULL;
-
- vs->get_active_sessions().pop(sess1, stc1);
-
- // unit_test[xx] sorry_flag test
- //BOOST_CHECK( NULL != sess1 );
- //BOOST_CHECK_EQUAL(sess1->get_sorry_flag(), false);
-
- //戻しておく
- vs->get_active_sessions().insert(sess1, stc1);
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-std::cout << "!" << std::endl;
-
- usleep( 1000 );
- //cl_thread.join();
- vs_main.join();
-std::cout << "!" << std::endl;
-
- vs_err.setter(false,"");
- // vs->finalize( vs_err );
-std::cout << "!" << std::endl;
- //delete vs;
+void virtualservice_tcp_sorry_test4()
+{
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------sorry_test4");
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 0LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.sorry_flag = 0;
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ //接続数を増やす
+ vs->connection_active(tcp_ep_type());
+ vs->connection_active(tcp_ep_type());
+ vs->connection_active(tcp_ep_type());
+ vs->connection_active(tcp_ep_type());
+ std::cout << "connection=" << vs->get_active_count() << std::endl;
+
+ //usleep( 2000000 );
+ //boost::thread cl_thread( &client );
+
+ //2秒待ってsessionプールのサイズをチェック
+ //usleep( 2000000 );
+ //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
+
+ //sorry状態かチェック
+ l7vs::session_thread_control *stc1 = NULL;
+ l7vs::tcp_session *sess1 = NULL;
+
+ vs->get_active_sessions().pop(sess1, stc1);
+
+ // unit_test[xx] sorry_flag test
+ //BOOST_CHECK( NULL != sess1 );
+ //BOOST_CHECK_EQUAL(sess1->get_sorry_flag(), false);
+
+ //戻しておく
+ vs->get_active_sessions().insert(sess1, stc1);
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+ std::cout << "!" << std::endl;
+
+ usleep(1000);
+ //cl_thread.join();
+ vs_main.join();
+ std::cout << "!" << std::endl;
+
+ vs_err.setter(false, "");
+ // vs->finalize( vs_err );
+ std::cout << "!" << std::endl;
+ //delete vs;
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "virtualservice_base_sorry_test" );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("virtualservice_base_sorry_test");
- // add test case to test suite
- ts->add( BOOST_TEST_CASE( &virtualservice_tcp_sorry_test1 ) );
- ts->add( BOOST_TEST_CASE( &virtualservice_tcp_sorry_test2 ) );
- ts->add( BOOST_TEST_CASE( &virtualservice_tcp_sorry_test3 ) );
- ts->add( BOOST_TEST_CASE( &virtualservice_tcp_sorry_test4 ) );
+ // add test case to test suite
+ ts->add(BOOST_TEST_CASE(&virtualservice_tcp_sorry_test1));
+ ts->add(BOOST_TEST_CASE(&virtualservice_tcp_sorry_test2));
+ ts->add(BOOST_TEST_CASE(&virtualservice_tcp_sorry_test3));
+ ts->add(BOOST_TEST_CASE(&virtualservice_tcp_sorry_test4));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
int counter;
//Acceptテスト用Client
-void client(){
- boost::system::error_code b_err;
+void client()
+{
+ boost::system::error_code b_err;
- boost::asio::io_service dispatcher;
- boost::asio::ip::tcp::socket sock( dispatcher );
+ boost::asio::io_service dispatcher;
+ boost::asio::ip::tcp::socket sock(dispatcher);
// std::cout << "connect" << std::endl;
- sock.connect( tcp_ep_type( boost::asio::ip::address_v4::loopback() , (60000) ) ,b_err);
- if(b_err){
- //ERROR
- std::cout << "connection error [" << b_err.message() << "]" << std::endl;
- return;
- }else{
- std::cout << "connect" << std::endl;
- }
-
- sock.close( b_err );
+ sock.connect(tcp_ep_type(boost::asio::ip::address_v4::loopback() , (60000)) , b_err);
+ if (b_err) {
+ //ERROR
+ std::cout << "connection error [" << b_err.message() << "]" << std::endl;
+ return;
+ } else {
+ std::cout << "connect" << std::endl;
+ }
+
+ sock.close(b_err);
}
//test case1 create,initialize,run,stop,finalize,destroy(normal case)
-void virtualservice_tcp_test1(){
- counter = 1;
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- //set element value
- element.udpmode = false;
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- element.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- element.realserver_vector.clear();
- element.protocol_module_name = "PMtest1";
- element.schedule_module_name = "SMtest1";
- element.protocol_args.clear();
- element.protocol_args.push_back( "testarg" );
- element.protocol_args.push_back( "testarg2" );
- element.sorry_maxconnection = 1234LL;
- element.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) );
- element.sorry_flag = false;
- element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- element.qos_upstream = 65535ULL;
- element.qos_downstream = 32767ULL;
-
- element.ssl_file_name = "";
-
- // unit_test[1] object create
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------1" );
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, element );
-
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( element == vs->get_element() );
- l7vs::error_code vs_err;
- // unit_test[2] initialize method call
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------2" );
- BOOST_CHECK( NULL == vs->get_protocol_module() );
- BOOST_CHECK( NULL == vs->get_schedule_module() );
-
- result.flag = false;
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- bool result_flg;
-
- if( vs_err == true ) {
- result_flg = true;
- } else if ( vs_err == false ) {
- result_flg = false;
- }
-
- BOOST_CHECK( result_flg == false );
-
- //protocol_module_controlのモジュールロードを呼んでいるか(モジュールロード正常終了)
- BOOST_CHECK( NULL != vs->get_protocol_module() );
- //schedule_module_controlのモジュールロードを呼んでいるか(モジュールロード正常終了)
- BOOST_CHECK( NULL != vs->get_schedule_module() );
-
- unsigned int pool_default_size = l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT;
- unsigned int pool_size = vs->get_pool_sessions().size();
-
-std::cout << "pool_size = [" << pool_size << "]\n";
-
- //session_poolを作成しているか(デフォルトサイズで作成)
- BOOST_CHECK( pool_default_size == pool_size );
-
- // set option
- bool& defer_accept_opt = vs->get_defer_accept_opt();
- defer_accept_opt = true;
- int& defer_accept_val = vs->get_defer_accept_val();
- defer_accept_val = 1;
-
- // unit_test[3] run method test
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------3" );
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
-
- usleep( 1500000 );
- //1秒待って、ProtocolModule/ScheduleModuleのreplication_interruptが呼ばれることを確認
- //デフォルト設定は500msなので2回
- BOOST_MESSAGE( debugg_flug_struct::getInstance().get_pm_rep_count() );
- BOOST_MESSAGE( debugg_flug_struct::getInstance().get_sm_rep_count() );
- BOOST_CHECK( 2 == debugg_flug_struct::getInstance().get_pm_rep_count() );
- BOOST_CHECK( 2 == debugg_flug_struct::getInstance().get_sm_rep_count() );
-
- // unit_test[54] set TCP_DEFER_ACCEPT test
- int val = 0;
- socklen_t len = sizeof(val);
- boost::system::error_code ec;
- int err = ::getsockopt(vs->get_acceptor().native(),IPPROTO_TCP,TCP_DEFER_ACCEPT,&val,&len);
- BOOST_CHECK(!err);
- BOOST_CHECK(val);
-
- // unit_test[4] stop method test
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------4" );
- vs->stop();
- usleep( 1000 );
-
- // unit_test[5] release_session method test(run直後はwaiting_sessionsに入っているため、release_sessionではプールに戻らない)
- std::cout << counter++ << std::endl;
+void virtualservice_tcp_test1()
+{
+ counter = 1;
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ //set element value
+ element.udpmode = false;
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ element.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ element.realserver_vector.clear();
+ element.protocol_module_name = "PMtest1";
+ element.schedule_module_name = "SMtest1";
+ element.protocol_args.clear();
+ element.protocol_args.push_back("testarg");
+ element.protocol_args.push_back("testarg2");
+ element.sorry_maxconnection = 1234LL;
+ element.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080));
+ element.sorry_flag = false;
+ element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ element.qos_upstream = 65535ULL;
+ element.qos_downstream = 32767ULL;
+
+ element.ssl_file_name = "";
+
+ // unit_test[1] object create
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------1");
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, element);
+
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(element == vs->get_element());
+ l7vs::error_code vs_err;
+ // unit_test[2] initialize method call
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------2");
+ BOOST_CHECK(NULL == vs->get_protocol_module());
+ BOOST_CHECK(NULL == vs->get_schedule_module());
+
+ result.flag = false;
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ bool result_flg;
+
+ if (vs_err == true) {
+ result_flg = true;
+ } else if (vs_err == false) {
+ result_flg = false;
+ }
+
+ BOOST_CHECK(result_flg == false);
+
+ //protocol_module_controlのモジュールロードを呼んでいるか(モジュールロード正常終了)
+ BOOST_CHECK(NULL != vs->get_protocol_module());
+ //schedule_module_controlのモジュールロードを呼んでいるか(モジュールロード正常終了)
+ BOOST_CHECK(NULL != vs->get_schedule_module());
+
+ unsigned int pool_default_size = l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT;
+ unsigned int pool_size = vs->get_pool_sessions().size();
+
+ std::cout << "pool_size = [" << pool_size << "]\n";
+
+ //session_poolを作成しているか(デフォルトサイズで作成)
+ BOOST_CHECK(pool_default_size == pool_size);
+
+ // set option
+ bool &defer_accept_opt = vs->get_defer_accept_opt();
+ defer_accept_opt = true;
+ int &defer_accept_val = vs->get_defer_accept_val();
+ defer_accept_val = 1;
+
+ // unit_test[3] run method test
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------3");
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+
+ usleep(1500000);
+ //1秒待って、ProtocolModule/ScheduleModuleのreplication_interruptが呼ばれることを確認
+ //デフォルト設定は500msなので2回
+ BOOST_MESSAGE(debugg_flug_struct::getInstance().get_pm_rep_count());
+ BOOST_MESSAGE(debugg_flug_struct::getInstance().get_sm_rep_count());
+ BOOST_CHECK(2 == debugg_flug_struct::getInstance().get_pm_rep_count());
+ BOOST_CHECK(2 == debugg_flug_struct::getInstance().get_sm_rep_count());
+
+ // unit_test[54] set TCP_DEFER_ACCEPT test
+ int val = 0;
+ socklen_t len = sizeof(val);
+ boost::system::error_code ec;
+ int err = ::getsockopt(vs->get_acceptor().native(), IPPROTO_TCP, TCP_DEFER_ACCEPT, &val, &len);
+ BOOST_CHECK(!err);
+ BOOST_CHECK(val);
+
+ // unit_test[4] stop method test
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------4");
+ vs->stop();
+ usleep(1000);
+
+ // unit_test[5] release_session method test(run直後はwaiting_sessionsに入っているため、release_sessionではプールに戻らない)
+ std::cout << counter++ << std::endl;
// BOOST_MESSAGE( "-------5" );
// BOOST_CHECK( vs->get_pool_sessions().size() == (l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-1) );
// BOOST_CHECK( vs->get_waiting_sessions().size() == 1 );
// BOOST_CHECK( vs->get_active_sessions().size() == 0 );
// BOOST_CHECK( vs->get_waiting_sessions().size() == 0 );
- // unit_test[6] stop method test(call twice)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------6" );
- vs->stop();
+ // unit_test[6] stop method test(call twice)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------6");
+ vs->stop();
- vs_main.join();
+ vs_main.join();
- // unit_test[7] finalize method call
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------7" );
- vs_err.setter(false,"");
- vs->finalize( vs_err );
- BOOST_CHECK( vs_err == false );
+ // unit_test[7] finalize method call
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------7");
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+ BOOST_CHECK(vs_err == false);
- // unit_test[8] finalizeを2回連続で呼んでみる
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------8" );
- vs_err.setter(false,"");
- vs->finalize( vs_err );
- BOOST_CHECK( vs_err == false );
+ // unit_test[8] finalizeを2回連続で呼んでみる
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------8");
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+ BOOST_CHECK(vs_err == false);
- // unit_test[9] object destroy
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------9" );
- delete vs;
+ // unit_test[9] object destroy
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------9");
+ delete vs;
}
//test case2 method call
-void virtualservice_tcp_test2(){
- l7vs::error_code vs_err;
-
- bool result_flg;
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- //set element value
-
-
-
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, element );
- // unit_test[10] initialize method call(poolsize from parameter file:value = 512)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------10" );
- debugg_flug_struct::getInstance().param_exist_flag() = true;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- vs_err.setter(false,"");
- vs->initialize( vs_err );
- BOOST_CHECK( SESSION_POOL_NUM_PARAM == vs->get_pool_sessions().size() );
- BOOST_CHECK( vs_err == false );
- vs->finalize( vs_err );
- BOOST_CHECK( vs_err == false );
- delete vs;
- vs = NULL;
-
- vs = new l7vs::vs_tcp( vsd, rep, element );
- // unit_test[11] initialize method call(procotol_module_control::module_load error case)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------11" );
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = true;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- BOOST_CHECK( NULL == vs->get_protocol_module() );
- BOOST_CHECK( NULL == vs->get_schedule_module() );
- vs->initialize( vs_err );
- BOOST_CHECK( NULL == vs->get_protocol_module() );
- BOOST_CHECK( NULL == vs->get_schedule_module() );
- BOOST_CHECK( vs_err == true );
- BOOST_MESSAGE( vs_err.get_message() );
- BOOST_CHECK( PROTOMOD_LOAD_ERROR_MSG == vs_err.get_message() );
-
- vs->finalize( vs_err );
- delete vs;
-
- vs = new l7vs::vs_tcp( vsd, rep, element );
- // unit_test[12] initialize method call(procotol_module_control::module_load error case)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------12" );
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = true;
- BOOST_CHECK( NULL == vs->get_protocol_module() );
- BOOST_CHECK( NULL == vs->get_schedule_module() );
- vs->initialize( vs_err );
- BOOST_CHECK( NULL != vs->get_protocol_module() );
- BOOST_CHECK( NULL == vs->get_schedule_module() );
- BOOST_CHECK( vs_err == true );
- BOOST_MESSAGE( vs_err.get_message() );
- BOOST_CHECK( SCHEDMOD_LOAD_ERROR_MSG == vs_err.get_message() );
-
- vs->finalize( vs_err );
- delete vs;
-
- vs = new l7vs::vs_tcp( vsd, rep, element );
- vs->initialize( vs_err );
- l7vs::vs_tcp* vs2 = new l7vs::vs_tcp( vsd, rep, element );
- vs2->initialize( vs_err );
- // unit_test[13] initialize method call(procotol_module_control::module_load error case)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------13" );
- BOOST_CHECK( *vs == *vs2 );
- vs->finalize( vs_err );
- delete vs;
- vs2->finalize( vs_err );
- delete vs2;
-
- // unit_test[14] initialize method call(procotol_module_control::module_load error case)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------14" );
- element.udpmode = false;
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (8080) );
- vs = new l7vs::vs_tcp( vsd, rep, element );
- vs->initialize( vs_err );
-
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (80) );
- vs2 = new l7vs::vs_tcp( vsd, rep, element );
- vs2->initialize( vs_err );
-
- BOOST_CHECK( *vs != *vs2 );
- vs->finalize( vs_err );
- delete vs;
- vs2->finalize( vs_err );
- delete vs2;
-
- element.udpmode = false;
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (80) );
- vs = new l7vs::vs_tcp( vsd, rep, element );
- vs->initialize( vs_err );
-
- // unit_test[15] add_realserver method call
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------15" );
- l7vs::virtualservice_element add_element;
- add_element.udpmode = false;
- add_element.tcp_accept_endpoint = element.tcp_accept_endpoint;
- for( unsigned int i = 0; i < 10; ++i ){
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) );
- add_element.realserver_vector.push_back( rs_elem );
- }
-
- vs_err.setter(false,"");
- vs->add_realserver( add_element, vs_err );
- std::list<l7vs::realserver>& rslist = vs->get_rs_list();
- //RSの数が10であることを確認
- BOOST_CHECK( 10 == rslist.size() );
- //vs_errがfalseであることを確認
- if( vs_err == true ) {
- result_flg = true;
- } else if ( vs_err == false ) {
- result_flg = false;
- }
- BOOST_CHECK( result_flg == false );
- BOOST_MESSAGE( vs_err.get_message() );
- BOOST_MESSAGE( element.tcp_accept_endpoint );
- BOOST_MESSAGE( add_element.tcp_accept_endpoint );
- //各要素が一致するか確認
- for( std::list<l7vs::realserver>::iterator itr = rslist.begin();
- itr != rslist.end(); ++itr ){
- for( int i = 0; i <= 10; ++i ){
- if( 10 <= i )BOOST_ERROR( "error add_realserver : endpoint unmatch" );
- if( itr->tcp_endpoint == tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) ) ){
- BOOST_CHECK( itr->tcp_endpoint == tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) ) );
- break;
- }
+void virtualservice_tcp_test2()
+{
+ l7vs::error_code vs_err;
+
+ bool result_flg;
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ //set element value
+
+
+
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, element);
+ // unit_test[10] initialize method call(poolsize from parameter file:value = 512)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------10");
+ debugg_flug_struct::getInstance().param_exist_flag() = true;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+ BOOST_CHECK(SESSION_POOL_NUM_PARAM == vs->get_pool_sessions().size());
+ BOOST_CHECK(vs_err == false);
+ vs->finalize(vs_err);
+ BOOST_CHECK(vs_err == false);
+ delete vs;
+ vs = NULL;
+
+ vs = new l7vs::vs_tcp(vsd, rep, element);
+ // unit_test[11] initialize method call(procotol_module_control::module_load error case)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------11");
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = true;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ BOOST_CHECK(NULL == vs->get_protocol_module());
+ BOOST_CHECK(NULL == vs->get_schedule_module());
+ vs->initialize(vs_err);
+ BOOST_CHECK(NULL == vs->get_protocol_module());
+ BOOST_CHECK(NULL == vs->get_schedule_module());
+ BOOST_CHECK(vs_err == true);
+ BOOST_MESSAGE(vs_err.get_message());
+ BOOST_CHECK(PROTOMOD_LOAD_ERROR_MSG == vs_err.get_message());
+
+ vs->finalize(vs_err);
+ delete vs;
+
+ vs = new l7vs::vs_tcp(vsd, rep, element);
+ // unit_test[12] initialize method call(procotol_module_control::module_load error case)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------12");
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = true;
+ BOOST_CHECK(NULL == vs->get_protocol_module());
+ BOOST_CHECK(NULL == vs->get_schedule_module());
+ vs->initialize(vs_err);
+ BOOST_CHECK(NULL != vs->get_protocol_module());
+ BOOST_CHECK(NULL == vs->get_schedule_module());
+ BOOST_CHECK(vs_err == true);
+ BOOST_MESSAGE(vs_err.get_message());
+ BOOST_CHECK(SCHEDMOD_LOAD_ERROR_MSG == vs_err.get_message());
+
+ vs->finalize(vs_err);
+ delete vs;
+
+ vs = new l7vs::vs_tcp(vsd, rep, element);
+ vs->initialize(vs_err);
+ l7vs::vs_tcp *vs2 = new l7vs::vs_tcp(vsd, rep, element);
+ vs2->initialize(vs_err);
+ // unit_test[13] initialize method call(procotol_module_control::module_load error case)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------13");
+ BOOST_CHECK(*vs == *vs2);
+ vs->finalize(vs_err);
+ delete vs;
+ vs2->finalize(vs_err);
+ delete vs2;
+
+ // unit_test[14] initialize method call(procotol_module_control::module_load error case)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------14");
+ element.udpmode = false;
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (8080));
+ vs = new l7vs::vs_tcp(vsd, rep, element);
+ vs->initialize(vs_err);
+
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (80));
+ vs2 = new l7vs::vs_tcp(vsd, rep, element);
+ vs2->initialize(vs_err);
+
+ BOOST_CHECK(*vs != *vs2);
+ vs->finalize(vs_err);
+ delete vs;
+ vs2->finalize(vs_err);
+ delete vs2;
+
+ element.udpmode = false;
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (80));
+ vs = new l7vs::vs_tcp(vsd, rep, element);
+ vs->initialize(vs_err);
+
+ // unit_test[15] add_realserver method call
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------15");
+ l7vs::virtualservice_element add_element;
+ add_element.udpmode = false;
+ add_element.tcp_accept_endpoint = element.tcp_accept_endpoint;
+ for (unsigned int i = 0; i < 10; ++i) {
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080));
+ add_element.realserver_vector.push_back(rs_elem);
+ }
+
+ vs_err.setter(false, "");
+ vs->add_realserver(add_element, vs_err);
+ std::list<l7vs::realserver>& rslist = vs->get_rs_list();
+ //RSの数が10であることを確認
+ BOOST_CHECK(10 == rslist.size());
+ //vs_errがfalseであることを確認
+ if (vs_err == true) {
+ result_flg = true;
+ } else if (vs_err == false) {
+ result_flg = false;
}
- }
-
- // unit_test[16] add_realserver method call(VSのEndpointが違う場合はエラーが返ること)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------16" );
- l7vs::virtualservice_element add_err_element;
- add_err_element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (80) );
- l7vs::realserver_element rs_adderr_elem;
- rs_adderr_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.100.10" ), (8080) );
- add_err_element.realserver_vector.push_back( rs_adderr_elem );
- vs->add_realserver( add_err_element, vs_err );
- //RSの数が10のままであることを確認
- BOOST_CHECK( 10 == rslist.size() );
- //vs_errがtrueでメッセージが存在することを確認
- BOOST_CHECK( vs_err == true );
- BOOST_MESSAGE( vs_err.get_message() );
-
- // unit_test[17] add_realserver method call(既にあるRS(エンドポイントが同じ)追加はエラーが返ること)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------17" );
- add_err_element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (80) );
- rs_adderr_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (8080) );
- add_err_element.realserver_vector.clear();
- add_err_element.realserver_vector.push_back( rs_adderr_elem );
- vs->add_realserver( add_err_element, vs_err );
- //RSの数が10のままであることを確認
- BOOST_CHECK( 10 == rslist.size() );
- //vs_errがtrueでメッセージが存在することを確認
- BOOST_CHECK( vs_err == true );
- BOOST_MESSAGE( vs_err.get_message() );
-
- // unit_test[18] del_realserver method call(VSのエンドポイントが異なる場合はエラーが返ること)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------18" );
- l7vs::virtualservice_element del_err_element;
- l7vs::realserver_element rs_delerr_elem;
- del_err_element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (80) );
- rs_delerr_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (8080) );
- del_err_element.realserver_vector.clear();
- del_err_element.realserver_vector.push_back( rs_delerr_elem );
- vs->del_realserver( del_err_element, vs_err );
- //RSの数が10のままであることを確認
- BOOST_CHECK( 10 == rslist.size() );
- //vs_errがtrueでメッセージが存在することを確認
- BOOST_CHECK( vs_err == true );
- BOOST_MESSAGE( vs_err.get_message() );
-
- // unit_test[19] del_realserver method call(一致するRSが無い場合はエラーが返ること)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------19" );
- del_err_element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (80) );
- rs_delerr_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "100.90.80.70" ), (60000) );
- del_err_element.realserver_vector.clear();
- del_err_element.realserver_vector.push_back( rs_delerr_elem );
- vs->del_realserver( del_err_element, vs_err );
- //RSの数が10のままであることを確認
- BOOST_CHECK( 10 == rslist.size() );
- //vs_errがtrueでメッセージが存在することを確認
- BOOST_CHECK( vs_err == true );
- BOOST_MESSAGE( vs_err.get_message() );
-
- // unit_test[20] del_realserver method call
- //addしたものと同じものを指定して、全削除されることを確認
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------20" );
- vs_err.setter(false,"");
- vs->del_realserver( add_element, vs_err );
- //RSの数が0であることを確認
- BOOST_CHECK( 0 == rslist.size() );
- //vs_errがfalseでメッセージが存在しないことを確認
- if( vs_err == true ) {
- result_flg = true;
- } else if ( vs_err == false ) {
- result_flg = false;
- }
- BOOST_CHECK( result_flg == false );
- BOOST_MESSAGE( vs_err.get_message() );
- BOOST_CHECK( vs_err.get_message() == "" );
-
- // unit_test[21] add_realserver method call(再度追加)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------21" );
- vs_err.setter(false,"");
- vs->add_realserver( add_element, vs_err );
- //RSの数が10であることを確認
- BOOST_CHECK( 10 == rslist.size() );
- //各要素が一致するか確認
- for( std::list<l7vs::realserver>::iterator itr = rslist.begin();
- itr != rslist.end(); ++itr ){
- for( int i = 0; i <= 10; ++i ){
- if( 10 <= i )BOOST_ERROR( "error add_realserver : endpoint unmatch" );
- if( itr->tcp_endpoint == tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) ) ){
- BOOST_CHECK( itr->tcp_endpoint == tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) ) );
- break;
- }
+ BOOST_CHECK(result_flg == false);
+ BOOST_MESSAGE(vs_err.get_message());
+ BOOST_MESSAGE(element.tcp_accept_endpoint);
+ BOOST_MESSAGE(add_element.tcp_accept_endpoint);
+ //各要素が一致するか確認
+ for (std::list<l7vs::realserver>::iterator itr = rslist.begin();
+ itr != rslist.end(); ++itr) {
+ for (int i = 0; i <= 10; ++i) {
+ if (10 <= i)BOOST_ERROR("error add_realserver : endpoint unmatch");
+ if (itr->tcp_endpoint == tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080))) {
+ BOOST_CHECK(itr->tcp_endpoint == tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080)));
+ break;
+ }
+ }
}
- }
-
- // unit_test[22] connection_active method call
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------22" );
- tcp_ep_type ep = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (8080) );
- vs->connection_active( ep );
- for( std::list<l7vs::realserver>::iterator itr = rslist.begin();
- itr != rslist.end(); ++itr ){
- if( itr->tcp_endpoint == ep ){
- BOOST_CHECK( 1 == itr->get_active() );
- break;
+
+ // unit_test[16] add_realserver method call(VSのEndpointが違う場合はエラーが返ること)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------16");
+ l7vs::virtualservice_element add_err_element;
+ add_err_element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (80));
+ l7vs::realserver_element rs_adderr_elem;
+ rs_adderr_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.100.10"), (8080));
+ add_err_element.realserver_vector.push_back(rs_adderr_elem);
+ vs->add_realserver(add_err_element, vs_err);
+ //RSの数が10のままであることを確認
+ BOOST_CHECK(10 == rslist.size());
+ //vs_errがtrueでメッセージが存在することを確認
+ BOOST_CHECK(vs_err == true);
+ BOOST_MESSAGE(vs_err.get_message());
+
+ // unit_test[17] add_realserver method call(既にあるRS(エンドポイントが同じ)追加はエラーが返ること)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------17");
+ add_err_element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (80));
+ rs_adderr_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (8080));
+ add_err_element.realserver_vector.clear();
+ add_err_element.realserver_vector.push_back(rs_adderr_elem);
+ vs->add_realserver(add_err_element, vs_err);
+ //RSの数が10のままであることを確認
+ BOOST_CHECK(10 == rslist.size());
+ //vs_errがtrueでメッセージが存在することを確認
+ BOOST_CHECK(vs_err == true);
+ BOOST_MESSAGE(vs_err.get_message());
+
+ // unit_test[18] del_realserver method call(VSのエンドポイントが異なる場合はエラーが返ること)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------18");
+ l7vs::virtualservice_element del_err_element;
+ l7vs::realserver_element rs_delerr_elem;
+ del_err_element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (80));
+ rs_delerr_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (8080));
+ del_err_element.realserver_vector.clear();
+ del_err_element.realserver_vector.push_back(rs_delerr_elem);
+ vs->del_realserver(del_err_element, vs_err);
+ //RSの数が10のままであることを確認
+ BOOST_CHECK(10 == rslist.size());
+ //vs_errがtrueでメッセージが存在することを確認
+ BOOST_CHECK(vs_err == true);
+ BOOST_MESSAGE(vs_err.get_message());
+
+ // unit_test[19] del_realserver method call(一致するRSが無い場合はエラーが返ること)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------19");
+ del_err_element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (80));
+ rs_delerr_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("100.90.80.70"), (60000));
+ del_err_element.realserver_vector.clear();
+ del_err_element.realserver_vector.push_back(rs_delerr_elem);
+ vs->del_realserver(del_err_element, vs_err);
+ //RSの数が10のままであることを確認
+ BOOST_CHECK(10 == rslist.size());
+ //vs_errがtrueでメッセージが存在することを確認
+ BOOST_CHECK(vs_err == true);
+ BOOST_MESSAGE(vs_err.get_message());
+
+ // unit_test[20] del_realserver method call
+ //addしたものと同じものを指定して、全削除されることを確認
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------20");
+ vs_err.setter(false, "");
+ vs->del_realserver(add_element, vs_err);
+ //RSの数が0であることを確認
+ BOOST_CHECK(0 == rslist.size());
+ //vs_errがfalseでメッセージが存在しないことを確認
+ if (vs_err == true) {
+ result_flg = true;
+ } else if (vs_err == false) {
+ result_flg = false;
+ }
+ BOOST_CHECK(result_flg == false);
+ BOOST_MESSAGE(vs_err.get_message());
+ BOOST_CHECK(vs_err.get_message() == "");
+
+ // unit_test[21] add_realserver method call(再度追加)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------21");
+ vs_err.setter(false, "");
+ vs->add_realserver(add_element, vs_err);
+ //RSの数が10であることを確認
+ BOOST_CHECK(10 == rslist.size());
+ //各要素が一致するか確認
+ for (std::list<l7vs::realserver>::iterator itr = rslist.begin();
+ itr != rslist.end(); ++itr) {
+ for (int i = 0; i <= 10; ++i) {
+ if (10 <= i)BOOST_ERROR("error add_realserver : endpoint unmatch");
+ if (itr->tcp_endpoint == tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080))) {
+ BOOST_CHECK(itr->tcp_endpoint == tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080)));
+ break;
+ }
+ }
+ }
+
+ // unit_test[22] connection_active method call
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------22");
+ tcp_ep_type ep = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (8080));
+ vs->connection_active(ep);
+ for (std::list<l7vs::realserver>::iterator itr = rslist.begin();
+ itr != rslist.end(); ++itr) {
+ if (itr->tcp_endpoint == ep) {
+ BOOST_CHECK(1 == itr->get_active());
+ break;
+ }
}
- }
- // unit_test[xx] active_connection test
- BOOST_CHECK_EQUAL( vs->get_active_count(), 1ULL );
-
- // unit_test[23] connection_inactive method call
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------23" );
- vs->connection_inactive( ep );
- for( std::list<l7vs::realserver>::iterator itr = rslist.begin();
- itr != rslist.end(); ++itr ){
- if( itr->tcp_endpoint == ep ){
- BOOST_CHECK( 0 == itr->get_active() );
- BOOST_CHECK( 1 == itr->get_inact() );
- break;
+ // unit_test[xx] active_connection test
+ BOOST_CHECK_EQUAL(vs->get_active_count(), 1ULL);
+
+ // unit_test[23] connection_inactive method call
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------23");
+ vs->connection_inactive(ep);
+ for (std::list<l7vs::realserver>::iterator itr = rslist.begin();
+ itr != rslist.end(); ++itr) {
+ if (itr->tcp_endpoint == ep) {
+ BOOST_CHECK(0 == itr->get_active());
+ BOOST_CHECK(1 == itr->get_inact());
+ break;
+ }
}
- }
- // unit_test[xx] active_connection test
- BOOST_CHECK_EQUAL( vs->get_active_count(), 0ULL );
+ // unit_test[xx] active_connection test
+ BOOST_CHECK_EQUAL(vs->get_active_count(), 0ULL);
- vs_err.setter(false,"");
- vs->finalize( vs_err );
- delete vs;
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+ delete vs;
}
//test case3
-void virtualservice_tcp_test3(){
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- //set element value
-
- element.udpmode = false;
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- element.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- element.realserver_vector.clear();
- element.protocol_module_name = "PMtest1";
- element.schedule_module_name = "SMtest1";
- element.protocol_args.clear();
- element.sorry_maxconnection = 1234LL;
- element.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) );
- element.sorry_flag = false;
- element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- element.qos_upstream = 65535ULL;
- element.qos_downstream = 32767ULL;
-
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, element );
- vs_err.setter(false,"");
- vs->initialize( vs_err );
- BOOST_CHECK( vs_err == false );
- BOOST_MESSAGE( vs_err.get_message() );
-
- // unit_test[24] replication dataが作成できるか確認(初回作成)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------24" );
- //まず、stubのレプリケーションエリア作成をする
- debugg_flug_struct::getInstance().create_rep_area();
-
- //レプリケーションデータ作成
- vs->call_handle_replication_interrupt( test_err );
-
- l7vs::virtualservice_base::replication_header* rep_head =
- reinterpret_cast<l7vs::virtualservice_base::replication_header*>( debugg_flug_struct::getInstance().get_rep_area() );
- //data_numが1になってることを確認
- BOOST_CHECK( rep_head->data_num == 1 );
+void virtualservice_tcp_test3()
+{
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ //set element value
+
+ element.udpmode = false;
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ element.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ element.realserver_vector.clear();
+ element.protocol_module_name = "PMtest1";
+ element.schedule_module_name = "SMtest1";
+ element.protocol_args.clear();
+ element.sorry_maxconnection = 1234LL;
+ element.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080));
+ element.sorry_flag = false;
+ element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ element.qos_upstream = 65535ULL;
+ element.qos_downstream = 32767ULL;
+
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, element);
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+ BOOST_CHECK(vs_err == false);
+ BOOST_MESSAGE(vs_err.get_message());
+
+ // unit_test[24] replication dataが作成できるか確認(初回作成)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------24");
+ //まず、stubのレプリケーションエリア作成をする
+ debugg_flug_struct::getInstance().create_rep_area();
+
+ //レプリケーションデータ作成
+ vs->call_handle_replication_interrupt(test_err);
+
+ l7vs::virtualservice_base::replication_header *rep_head =
+ reinterpret_cast<l7vs::virtualservice_base::replication_header *>(debugg_flug_struct::getInstance().get_rep_area());
+ //data_numが1になってることを確認
+ BOOST_CHECK(rep_head->data_num == 1);
// l7vs::virtualservice_base::replication_data* rep_data =
// reinterpret_cast<l7vs::virtualservice_base::replication_data*>( ++rep_head );
- // unit_test[25] edit_virtualserviceのテスト
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------25" );
- //変更前の値確認
- BOOST_CHECK( false == vs->get_element().udpmode );
- BOOST_CHECK( tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) ) == vs->get_element().tcp_accept_endpoint );
- BOOST_CHECK( udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) ) == vs->get_element().udp_recv_endpoint );
- BOOST_CHECK( "PMtest1" == vs->get_element().protocol_module_name );
- BOOST_CHECK( "SMtest1" == vs->get_element().schedule_module_name );
- BOOST_CHECK( 1234LL == vs->get_element().sorry_maxconnection );
- BOOST_CHECK( tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) ) == vs->get_element().sorry_endpoint );
- BOOST_CHECK( false == vs->get_element().sorry_flag );
- BOOST_CHECK( l7vs::virtualservice_element::FWD_MASQ == vs->get_element().sorry_fwdmode );
- BOOST_CHECK( 65535ULL == vs->get_element().qos_upstream );
- BOOST_CHECK( 32767ULL == vs->get_element().qos_downstream );
-
- //変更値の設定
- l7vs::virtualservice_element elem2;
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest2";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 5678LL;
- elem2.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.86" ), (80) );
- elem2.sorry_flag = true;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_TPROXY;
- elem2.qos_upstream = 1024ULL;
- elem2.qos_downstream = 4096ULL;
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem2, vs_err );
- BOOST_CHECK( vs_err == false );
- BOOST_MESSAGE( vs_err.get_message() );
- //変更後の確認
- BOOST_CHECK( false == vs->get_element().udpmode );
- BOOST_CHECK( elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint );
- BOOST_CHECK( element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint );
- BOOST_CHECK( "PMtest1" == vs->get_element().protocol_module_name );
- BOOST_CHECK( "SMtest2" == vs->get_element().schedule_module_name );
- BOOST_CHECK( 5678LL == vs->get_element().sorry_maxconnection );
- BOOST_CHECK( elem2.sorry_endpoint == vs->get_element().sorry_endpoint );
- BOOST_CHECK( true == vs->get_element().sorry_flag );
- BOOST_CHECK( l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode );
- BOOST_CHECK( 1024ULL == vs->get_element().qos_upstream );
- BOOST_CHECK( 4096ULL == vs->get_element().qos_downstream );
-
- // unit_test[26] edit_virtualserviceのテスト(udpmodeが一致しないものはエラーが返る&値が反映されない)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------26" );
- l7vs::virtualservice_element elem3;
- elem3.udpmode = true;
- elem3.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem3.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (40000) );
- elem3.realserver_vector.clear();
- elem3.protocol_module_name = "PMtest1";
- elem3.schedule_module_name = "SMtest2";
- elem3.protocol_args.clear();
- elem3.sorry_maxconnection = 65535LL;
- elem3.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.86" ), (80) );
- elem3.sorry_flag = false;
- elem3.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem3.qos_upstream = 1024ULL;
- elem3.qos_downstream = 4096ULL;
-
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem3, vs_err );
- //vs_errがtrueなのをチェック
- BOOST_CHECK( vs_err == true );
-
- BOOST_CHECK( false == vs->get_element().udpmode );
- BOOST_CHECK( elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint );
- BOOST_CHECK( element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint );
- BOOST_CHECK( "PMtest1" == vs->get_element().protocol_module_name );
- BOOST_CHECK( "SMtest2" == vs->get_element().schedule_module_name );
- BOOST_CHECK( 5678LL == vs->get_element().sorry_maxconnection );
- BOOST_CHECK( elem2.sorry_endpoint == vs->get_element().sorry_endpoint );
- BOOST_CHECK( true == vs->get_element().sorry_flag );
- BOOST_CHECK( l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode );
- BOOST_CHECK( 1024ULL == vs->get_element().qos_upstream );
- BOOST_CHECK( 4096ULL == vs->get_element().qos_downstream );
-
- // unit_test[27] edit_virtualserviceのテスト(tcp_accept_endpointが一致しないものはエラーが返る&値が反映されない)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------27" );
- elem3.udpmode = false;
- elem3.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (8080) );
- elem3.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (40000) );
- elem3.protocol_module_name = "PMtest1";
-
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem3, vs_err );
- //vs_errがtrueなのをチェック
- BOOST_CHECK( vs_err == true );
-
- BOOST_CHECK( false == vs->get_element().udpmode );
- BOOST_CHECK( elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint );
- BOOST_CHECK( element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint );
- BOOST_CHECK( "PMtest1" == vs->get_element().protocol_module_name );
- BOOST_CHECK( "SMtest2" == vs->get_element().schedule_module_name );
- BOOST_CHECK( 5678LL == vs->get_element().sorry_maxconnection );
- BOOST_CHECK( elem2.sorry_endpoint == vs->get_element().sorry_endpoint );
- BOOST_CHECK( true == vs->get_element().sorry_flag );
- BOOST_CHECK( l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode );
- BOOST_CHECK( 1024ULL == vs->get_element().qos_upstream );
- BOOST_CHECK( 4096ULL == vs->get_element().qos_downstream );
-
- // unit_test[28] edit_virtualserviceのテスト(protocol_module_nameが一致しないものはエラーが返る&値が反映されない)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------28" );
- elem3.udpmode = false;
- elem3.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (60000) );
- elem3.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (40000) );
- elem3.protocol_module_name = "PMtest2";
-
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem3, vs_err );
- //vs_errがtrueなのをチェック
- BOOST_CHECK( vs_err == true );
-
- BOOST_CHECK( false == vs->get_element().udpmode );
- BOOST_CHECK( elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint );
- BOOST_CHECK( element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint );
- BOOST_CHECK( "PMtest1" == vs->get_element().protocol_module_name );
- BOOST_CHECK( "SMtest2" == vs->get_element().schedule_module_name );
- BOOST_CHECK( 5678LL == vs->get_element().sorry_maxconnection );
- BOOST_CHECK( elem2.sorry_endpoint == vs->get_element().sorry_endpoint );
- BOOST_CHECK( true == vs->get_element().sorry_flag );
- BOOST_CHECK( l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode );
- BOOST_CHECK( 1024ULL == vs->get_element().qos_upstream );
- BOOST_CHECK( 4096ULL == vs->get_element().qos_downstream );
-
- // unit_test[29] edit_virtualserviceのテスト(sorry_endpointの変更無し)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------29" );
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (40000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest2";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 5678LL;
- elem2.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "0.0.0.0" ), (0) );
- elem2.sorry_flag = true;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_TPROXY;
- elem2.qos_upstream = 1024ULL;
- elem2.qos_downstream = 4096ULL;
-
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem2, vs_err );
- //vs_errがtrueなのをチェック
- BOOST_CHECK( vs_err == false );
-
- BOOST_CHECK( false == vs->get_element().udpmode );
- BOOST_CHECK( elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint );
- BOOST_CHECK( element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint );
- BOOST_CHECK( "PMtest1" == vs->get_element().protocol_module_name );
- BOOST_CHECK( "SMtest2" == vs->get_element().schedule_module_name );
- BOOST_CHECK( 5678LL == vs->get_element().sorry_maxconnection );
- BOOST_CHECK( tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.86" ), (80) ) == vs->get_element().sorry_endpoint );
- BOOST_CHECK( true == vs->get_element().sorry_flag );
- BOOST_CHECK( l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode );
- BOOST_CHECK( 1024ULL == vs->get_element().qos_upstream );
- BOOST_CHECK( 4096ULL == vs->get_element().qos_downstream );
-
- // unit_test[30] edit_virtualserviceのテスト(sorry_endpointクリア)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------30" );
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (40000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest2";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 5678LL;
- elem2.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "255.255.255.255" ), (0) );
- elem2.sorry_flag = true;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_TPROXY;
- elem2.qos_upstream = 1024ULL;
- elem2.qos_downstream = 4096ULL;
-
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem2, vs_err );
- //vs_errがtrueなのをチェック
- BOOST_CHECK( vs_err == false );
-
- BOOST_CHECK( false == vs->get_element().udpmode );
- BOOST_CHECK( elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint );
- BOOST_CHECK( element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint );
- BOOST_CHECK( "PMtest1" == vs->get_element().protocol_module_name );
- BOOST_CHECK( "SMtest2" == vs->get_element().schedule_module_name );
- BOOST_CHECK( 0LL == vs->get_element().sorry_maxconnection );
- BOOST_CHECK( tcp_ep_type() == vs->get_element().sorry_endpoint );
- BOOST_CHECK( false == vs->get_element().sorry_flag );
- BOOST_CHECK( l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode );
- BOOST_CHECK( 1024ULL == vs->get_element().qos_upstream );
- BOOST_CHECK( 4096ULL == vs->get_element().qos_downstream );
+ // unit_test[25] edit_virtualserviceのテスト
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------25");
+ //変更前の値確認
+ BOOST_CHECK(false == vs->get_element().udpmode);
+ BOOST_CHECK(tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000)) == vs->get_element().tcp_accept_endpoint);
+ BOOST_CHECK(udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000)) == vs->get_element().udp_recv_endpoint);
+ BOOST_CHECK("PMtest1" == vs->get_element().protocol_module_name);
+ BOOST_CHECK("SMtest1" == vs->get_element().schedule_module_name);
+ BOOST_CHECK(1234LL == vs->get_element().sorry_maxconnection);
+ BOOST_CHECK(tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080)) == vs->get_element().sorry_endpoint);
+ BOOST_CHECK(false == vs->get_element().sorry_flag);
+ BOOST_CHECK(l7vs::virtualservice_element::FWD_MASQ == vs->get_element().sorry_fwdmode);
+ BOOST_CHECK(65535ULL == vs->get_element().qos_upstream);
+ BOOST_CHECK(32767ULL == vs->get_element().qos_downstream);
+
+ //変更値の設定
+ l7vs::virtualservice_element elem2;
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest2";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 5678LL;
+ elem2.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.86"), (80));
+ elem2.sorry_flag = true;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_TPROXY;
+ elem2.qos_upstream = 1024ULL;
+ elem2.qos_downstream = 4096ULL;
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem2, vs_err);
+ BOOST_CHECK(vs_err == false);
+ BOOST_MESSAGE(vs_err.get_message());
+ //変更後の確認
+ BOOST_CHECK(false == vs->get_element().udpmode);
+ BOOST_CHECK(elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint);
+ BOOST_CHECK(element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint);
+ BOOST_CHECK("PMtest1" == vs->get_element().protocol_module_name);
+ BOOST_CHECK("SMtest2" == vs->get_element().schedule_module_name);
+ BOOST_CHECK(5678LL == vs->get_element().sorry_maxconnection);
+ BOOST_CHECK(elem2.sorry_endpoint == vs->get_element().sorry_endpoint);
+ BOOST_CHECK(true == vs->get_element().sorry_flag);
+ BOOST_CHECK(l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode);
+ BOOST_CHECK(1024ULL == vs->get_element().qos_upstream);
+ BOOST_CHECK(4096ULL == vs->get_element().qos_downstream);
+
+ // unit_test[26] edit_virtualserviceのテスト(udpmodeが一致しないものはエラーが返る&値が反映されない)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------26");
+ l7vs::virtualservice_element elem3;
+ elem3.udpmode = true;
+ elem3.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem3.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (40000));
+ elem3.realserver_vector.clear();
+ elem3.protocol_module_name = "PMtest1";
+ elem3.schedule_module_name = "SMtest2";
+ elem3.protocol_args.clear();
+ elem3.sorry_maxconnection = 65535LL;
+ elem3.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.86"), (80));
+ elem3.sorry_flag = false;
+ elem3.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem3.qos_upstream = 1024ULL;
+ elem3.qos_downstream = 4096ULL;
+
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem3, vs_err);
+ //vs_errがtrueなのをチェック
+ BOOST_CHECK(vs_err == true);
+
+ BOOST_CHECK(false == vs->get_element().udpmode);
+ BOOST_CHECK(elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint);
+ BOOST_CHECK(element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint);
+ BOOST_CHECK("PMtest1" == vs->get_element().protocol_module_name);
+ BOOST_CHECK("SMtest2" == vs->get_element().schedule_module_name);
+ BOOST_CHECK(5678LL == vs->get_element().sorry_maxconnection);
+ BOOST_CHECK(elem2.sorry_endpoint == vs->get_element().sorry_endpoint);
+ BOOST_CHECK(true == vs->get_element().sorry_flag);
+ BOOST_CHECK(l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode);
+ BOOST_CHECK(1024ULL == vs->get_element().qos_upstream);
+ BOOST_CHECK(4096ULL == vs->get_element().qos_downstream);
+
+ // unit_test[27] edit_virtualserviceのテスト(tcp_accept_endpointが一致しないものはエラーが返る&値が反映されない)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------27");
+ elem3.udpmode = false;
+ elem3.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (8080));
+ elem3.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (40000));
+ elem3.protocol_module_name = "PMtest1";
+
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem3, vs_err);
+ //vs_errがtrueなのをチェック
+ BOOST_CHECK(vs_err == true);
+
+ BOOST_CHECK(false == vs->get_element().udpmode);
+ BOOST_CHECK(elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint);
+ BOOST_CHECK(element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint);
+ BOOST_CHECK("PMtest1" == vs->get_element().protocol_module_name);
+ BOOST_CHECK("SMtest2" == vs->get_element().schedule_module_name);
+ BOOST_CHECK(5678LL == vs->get_element().sorry_maxconnection);
+ BOOST_CHECK(elem2.sorry_endpoint == vs->get_element().sorry_endpoint);
+ BOOST_CHECK(true == vs->get_element().sorry_flag);
+ BOOST_CHECK(l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode);
+ BOOST_CHECK(1024ULL == vs->get_element().qos_upstream);
+ BOOST_CHECK(4096ULL == vs->get_element().qos_downstream);
+
+ // unit_test[28] edit_virtualserviceのテスト(protocol_module_nameが一致しないものはエラーが返る&値が反映されない)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------28");
+ elem3.udpmode = false;
+ elem3.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (60000));
+ elem3.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (40000));
+ elem3.protocol_module_name = "PMtest2";
+
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem3, vs_err);
+ //vs_errがtrueなのをチェック
+ BOOST_CHECK(vs_err == true);
+
+ BOOST_CHECK(false == vs->get_element().udpmode);
+ BOOST_CHECK(elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint);
+ BOOST_CHECK(element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint);
+ BOOST_CHECK("PMtest1" == vs->get_element().protocol_module_name);
+ BOOST_CHECK("SMtest2" == vs->get_element().schedule_module_name);
+ BOOST_CHECK(5678LL == vs->get_element().sorry_maxconnection);
+ BOOST_CHECK(elem2.sorry_endpoint == vs->get_element().sorry_endpoint);
+ BOOST_CHECK(true == vs->get_element().sorry_flag);
+ BOOST_CHECK(l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode);
+ BOOST_CHECK(1024ULL == vs->get_element().qos_upstream);
+ BOOST_CHECK(4096ULL == vs->get_element().qos_downstream);
+
+ // unit_test[29] edit_virtualserviceのテスト(sorry_endpointの変更無し)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------29");
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (40000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest2";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 5678LL;
+ elem2.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("0.0.0.0"), (0));
+ elem2.sorry_flag = true;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_TPROXY;
+ elem2.qos_upstream = 1024ULL;
+ elem2.qos_downstream = 4096ULL;
+
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem2, vs_err);
+ //vs_errがtrueなのをチェック
+ BOOST_CHECK(vs_err == false);
+
+ BOOST_CHECK(false == vs->get_element().udpmode);
+ BOOST_CHECK(elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint);
+ BOOST_CHECK(element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint);
+ BOOST_CHECK("PMtest1" == vs->get_element().protocol_module_name);
+ BOOST_CHECK("SMtest2" == vs->get_element().schedule_module_name);
+ BOOST_CHECK(5678LL == vs->get_element().sorry_maxconnection);
+ BOOST_CHECK(tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.86"), (80)) == vs->get_element().sorry_endpoint);
+ BOOST_CHECK(true == vs->get_element().sorry_flag);
+ BOOST_CHECK(l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode);
+ BOOST_CHECK(1024ULL == vs->get_element().qos_upstream);
+ BOOST_CHECK(4096ULL == vs->get_element().qos_downstream);
+
+ // unit_test[30] edit_virtualserviceのテスト(sorry_endpointクリア)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------30");
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (40000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest2";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 5678LL;
+ elem2.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("255.255.255.255"), (0));
+ elem2.sorry_flag = true;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_TPROXY;
+ elem2.qos_upstream = 1024ULL;
+ elem2.qos_downstream = 4096ULL;
+
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem2, vs_err);
+ //vs_errがtrueなのをチェック
+ BOOST_CHECK(vs_err == false);
+
+ BOOST_CHECK(false == vs->get_element().udpmode);
+ BOOST_CHECK(elem2.tcp_accept_endpoint == vs->get_element().tcp_accept_endpoint);
+ BOOST_CHECK(element.udp_recv_endpoint == vs->get_element().udp_recv_endpoint);
+ BOOST_CHECK("PMtest1" == vs->get_element().protocol_module_name);
+ BOOST_CHECK("SMtest2" == vs->get_element().schedule_module_name);
+ BOOST_CHECK(0LL == vs->get_element().sorry_maxconnection);
+ BOOST_CHECK(tcp_ep_type() == vs->get_element().sorry_endpoint);
+ BOOST_CHECK(false == vs->get_element().sorry_flag);
+ BOOST_CHECK(l7vs::virtualservice_element::FWD_TPROXY == vs->get_element().sorry_fwdmode);
+ BOOST_CHECK(1024ULL == vs->get_element().qos_upstream);
+ BOOST_CHECK(4096ULL == vs->get_element().qos_downstream);
// // unit_test[31] replication dataが作成できるか確認(既にあるデータを上書き)
// // V2-> V3 時点での機能確認が必要であったが、機能が保証されていない。
// BOOST_MESSAGE( "sorry max_conn : " << vs->get_element().sorry_maxconnection );
// BOOST_CHECK( 1234LL == vs->get_element().sorry_maxconnection );
// BOOST_MESSAGE( "sorry endpoint : " << vs->get_element().sorry_endpoint );
-// BOOST_CHECK( tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) )
+// BOOST_CHECK( tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) )
// == vs->get_element().sorry_endpoint );
// BOOST_MESSAGE( "sorry flag : " << vs->get_element().sorry_flag );
// BOOST_CHECK( false == vs->get_element().sorry_flag );
// //テストが終わったらStubのレプリケーションエリアを削除
// debugg_flug_struct::getInstance().create_rep_area();
//
- // unit_test[34] edit_virtualserviceのテスト(schedule_moduleのロードに失敗するケース:致命的エラー)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------34" );
- debugg_flug_struct::getInstance().smcontrol_err_flag() = true;
- elem2.schedule_module_name = "SMtest3";
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem2, vs_err );
- //vs_errがtrueなのをチェック
- BOOST_CHECK( vs_err == true );
- BOOST_MESSAGE( vs_err.get_message() );
+ // unit_test[34] edit_virtualserviceのテスト(schedule_moduleのロードに失敗するケース:致命的エラー)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------34");
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = true;
+ elem2.schedule_module_name = "SMtest3";
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem2, vs_err);
+ //vs_errがtrueなのをチェック
+ BOOST_CHECK(vs_err == true);
+ BOOST_MESSAGE(vs_err.get_message());
// vs_err.setter(false,"");
// vs2->finalize( vs_err );
// delete vs2;
- vs_err.setter(false,"");
- vs->finalize( vs_err );
- delete vs;
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+ delete vs;
}
//IPv6関係のテスト
-void virtualservice_tcp_test4(){
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v6::loopback(), (50000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
-
- // unit_test[35] IPv6アドレスでVS作成
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------35" );
- l7vs::vs_tcp* vs;
- vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- vs_err.setter(false,"");
- vs->initialize( vs_err );
- BOOST_CHECK( vs_err == false );
- BOOST_MESSAGE( vs_err.get_message() );
-
- // unit_test[36] IPv6アドレスでレプリケーションデータ作成
- //まず、stubのレプリケーションエリア作成をする
- debugg_flug_struct::getInstance().create_rep_area();
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------36" );
- vs->call_handle_replication_interrupt( test_err );
- l7vs::virtualservice_base::replication_header* rep_head =
- reinterpret_cast<l7vs::virtualservice_base::replication_header*>( debugg_flug_struct::getInstance().get_rep_area() );
- //data_numが0になってることを確認
- BOOST_CHECK( rep_head->data_num == 1 );
- l7vs::virtualservice_base::replication_data* rep_data =
- reinterpret_cast<l7vs::virtualservice_base::replication_data*>( ++rep_head );
- //udpmode
- BOOST_CHECK( rep_data->udpmode == false );
- //tcp_endpoint
- tmp_tcp_ep.str( "" );
- tmp_tcp_ep << elem1.tcp_accept_endpoint;
- BOOST_CHECK( 0 == strncmp( rep_data->tcp_endpoint, tmp_tcp_ep.str().c_str(), 47 ) );
- //udp_endpoint
- tmp_udp_ep.str( "" );
- tmp_udp_ep << elem1.udp_recv_endpoint;
- BOOST_CHECK( 0 == strncmp( rep_data->udp_endpoint, tmp_udp_ep.str().c_str(), 47 ) );
- //sorry_maxconnection
- BOOST_CHECK( rep_data->sorry_maxconnection == elem1.sorry_maxconnection );
- //sorry_endpoint
- tmp_sorry_ep.str( "" );
- tmp_sorry_ep << elem1.sorry_endpoint;
- BOOST_CHECK( 0 == strncmp( rep_data->sorry_endpoint, tmp_sorry_ep.str().c_str(), 47 ) );
- //sorry_flag
- BOOST_CHECK( rep_data->sorry_flag == elem1.sorry_flag );
- //sorry_fwdmode
- BOOST_CHECK( rep_data->sorry_fwdmode == (unsigned int)elem1.sorry_fwdmode );
- //qos_up
- BOOST_CHECK( rep_data->qos_up == elem1.qos_upstream );
- //qos_down
- BOOST_CHECK( rep_data->qos_down == elem1.qos_downstream );
-
- //比較用VS作成
- l7vs::vs_tcp* vs2 = new l7vs::vs_tcp( vsd, rep, elem1 );
- bool chkflg;
- // unit_test[37] IPv6アドレスでoperator==のテスト(VSが一致するケース)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------37" );
- chkflg = ( *vs == *vs2 );
- BOOST_CHECK( chkflg );
- // unit_test[38] IPv6アドレスでoperator!=のテスト(VSが一致するケース)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------38" );
- chkflg = ( *vs != *vs2 );
- BOOST_CHECK( !chkflg );
- delete vs2;
- vs2 = NULL;
-
- //比較用VS作成
- //set element-2
- l7vs::virtualservice_element elem2;
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v6::loopback(), (55000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 1234LL;
- elem2.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem2.sorry_flag = false;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem2.qos_upstream = 65535ULL;
- elem2.qos_downstream = 32767ULL;
- vs2 = new l7vs::vs_tcp( vsd, rep, elem2 );
- // unit_test[39] IPv6アドレスでoperator==のテスト(VSが一致しないケース)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------39" );
- chkflg = ( *vs == *vs2 );
- BOOST_CHECK( !chkflg );
- // unit_test[40] IPv6アドレスでoperator!=のテスト(VSが一致しないケース)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------40" );
- chkflg = ( *vs != *vs2 );
- BOOST_CHECK( chkflg );
- delete vs2;
- vs2 = NULL;
-
- // unit_test[41] IPv6アドレスでVS編集
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------41" );
- l7vs::virtualservice_element elem3;
- elem3.udpmode = false;
- elem3.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v6::loopback(), (50000) );
- elem3.udp_recv_endpoint =
- udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem3.realserver_vector.clear();
- elem3.protocol_module_name = "PMtest1";
- elem3.schedule_module_name = "SMtest1";
- elem3.protocol_args.clear();
- elem3.sorry_maxconnection = 3333LL;
- elem3.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "255.255.255.255" ), (0) );
- elem3.sorry_flag = true;
- elem3.sorry_fwdmode = l7vs::virtualservice_element::FWD_TPROXY;
- elem3.qos_upstream = 10ULL;
- elem3.qos_downstream = 20ULL;
-
-
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem3, vs_err );
- BOOST_CHECK( vs_err == false );
- BOOST_MESSAGE( vs_err.get_message() );
- BOOST_CHECK( vs->get_element().sorry_endpoint == tcp_ep_type() );
- BOOST_CHECK( vs->get_element().sorry_maxconnection == 0LL );
- BOOST_CHECK( vs->get_element().sorry_flag == false );
- BOOST_CHECK( vs->get_element().sorry_fwdmode == l7vs::virtualservice_element::FWD_TPROXY );
- BOOST_CHECK( vs->get_element().qos_upstream == elem3.qos_upstream );
- BOOST_CHECK( vs->get_element().qos_downstream == elem3.qos_downstream );
-
- // unit_test[42] IPv6アドレスでレプリケーションデータの読み出し:削除したら作りなおしたデータになること
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------42" );
-
- vs_err.setter(false,"");
- //一旦VSを削除
- vs->finalize( vs_err );
- delete vs;
- //elem3でVS作成
- vs = new l7vs::vs_tcp( vsd, rep, elem3 );
- BOOST_CHECK( vs_err == false );
- vs->call_read_replicationdata();
- BOOST_CHECK( vs->get_element().udpmode == elem3.udpmode );
- BOOST_CHECK( vs->get_element().tcp_accept_endpoint == elem3.tcp_accept_endpoint );
- BOOST_CHECK( vs->get_element().udp_recv_endpoint == elem3.udp_recv_endpoint );
- BOOST_CHECK( vs->get_element().protocol_module_name == elem3.protocol_module_name );
- BOOST_CHECK( vs->get_element().schedule_module_name == elem3.schedule_module_name );
- BOOST_CHECK( vs->get_element().sorry_maxconnection == 0LL );
- BOOST_CHECK( vs->get_element().sorry_endpoint == tcp_ep_type() );
- BOOST_CHECK( vs->get_element().sorry_flag == false );
- BOOST_CHECK( vs->get_element().sorry_fwdmode == l7vs::virtualservice_element::FWD_TPROXY );
- BOOST_CHECK( vs->get_element().qos_upstream == elem3.qos_upstream );
- BOOST_CHECK( vs->get_element().qos_downstream == elem3.qos_downstream );
-
-
- // unit_test[43] IPv6アドレスでVS変更(TCP endpoint不一致による失敗ケース)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------43" );
- l7vs::virtualservice_element elem4;
- elem4.udpmode = false;
- elem4.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678:90AB:CDEF:0000:0000:FEDC:BA00" ), (60000) );
- elem4.udp_recv_endpoint =
- udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem4.realserver_vector.clear();
- elem4.protocol_module_name = "PMtest1";
- elem4.schedule_module_name = "SMtest1";
- elem4.protocol_args.clear();
- elem4.sorry_maxconnection = 3333LL;
- elem4.sorry_endpoint = tcp_ep_type();
- elem4.sorry_flag = true;
- elem4.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem4.qos_upstream = 65535ULL;
- elem4.qos_downstream = 32767ULL;
-
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem4, vs_err );
- BOOST_CHECK( vs_err == true );
- BOOST_CHECK( vs->get_element().sorry_maxconnection == 0LL );
- BOOST_MESSAGE( vs->get_element().sorry_maxconnection );
- BOOST_CHECK( vs->get_element().sorry_endpoint == tcp_ep_type() );
- BOOST_MESSAGE( vs->get_element().sorry_endpoint );
- BOOST_CHECK( vs->get_element().sorry_flag == false );
- BOOST_MESSAGE( vs->get_element().sorry_flag );
- BOOST_CHECK( vs->get_element().sorry_fwdmode == l7vs::virtualservice_element::FWD_TPROXY );
- BOOST_MESSAGE( vs->get_element().sorry_fwdmode );
- BOOST_MESSAGE( vs->get_element().qos_upstream );
- BOOST_CHECK( vs->get_element().qos_upstream == elem3.qos_upstream );
- BOOST_MESSAGE( vs->get_element().qos_downstream );
- BOOST_CHECK( vs->get_element().qos_downstream == elem3.qos_downstream );
-
- // unit_test[44] IPv6アドレスでRS追加
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------44" );
- //RSパラメータ設定
- l7vs::virtualservice_element elem_add_rs1;
- elem_add_rs1.udpmode = false;
- elem_add_rs1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v6::loopback(), (50000) );
- elem_add_rs1.udp_recv_endpoint =
- udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem_add_rs1.realserver_vector.clear();
- elem_add_rs1.protocol_module_name = "PMtest1";
- elem_add_rs1.schedule_module_name = "SMtest1";
- elem_add_rs1.protocol_args.clear();
- elem_add_rs1.sorry_maxconnection = 1234LL;
- elem_add_rs1.sorry_endpoint = tcp_ep_type();
- elem_add_rs1.sorry_flag = false;
- elem_add_rs1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem_add_rs1.qos_upstream = 65535ULL;
- elem_add_rs1.qos_downstream = 32767ULL;
- for( size_t i = 0; i < 10; ++i ){
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678::0000:0000:90AB:CDEF" ), (i+8080) );
- elem_add_rs1.realserver_vector.push_back( rs_elem );
- rs_elem.weight = i+1;
- }
- vs_err.setter(false,"");
- vs->add_realserver( elem_add_rs1, vs_err );
- BOOST_CHECK( vs_err == false );
-
- // unit_test[45] IPv6アドレスでRS追加(既に追加されているendpointを追加しようとして失敗ケース)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------45" );
- //RSパラメータ設定
- l7vs::virtualservice_element elem_add_rs2;
- {
- elem_add_rs2.udpmode = false;
- elem_add_rs2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v6::loopback(), (50000) );
- elem_add_rs2.udp_recv_endpoint =
- udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem_add_rs2.realserver_vector.clear();
- elem_add_rs2.protocol_module_name = "PMtest1";
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678::0000:0000:90AB:CDEF" ), (8080) );
- rs_elem.weight = 10;
- elem_add_rs2.realserver_vector.push_back( rs_elem );
- }
-
- vs_err.setter(false,"");
- vs->add_realserver( elem_add_rs2, vs_err );
- BOOST_CHECK( vs_err == true );
-
- // unit_test[46] IPv6アドレスでRS追加(VSが不一致で失敗ケース)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------46" );
- l7vs::virtualservice_element elem_add_rs3;
- {
- elem_add_rs3.udpmode = false;
- elem_add_rs3.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678:90AB:CDEF:0000:0000:FEDC:0009" ), (60000) );
- elem_add_rs3.udp_recv_endpoint =
- udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem_add_rs3.realserver_vector.clear();
- elem_add_rs3.protocol_module_name = "PMtest1";
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678::0000:0000:90AB:CDEF" ), (6006) );
- rs_elem.weight = 10;
- elem_add_rs3.realserver_vector.push_back( rs_elem );
- }
-
- vs_err.setter(false,"");
- vs->add_realserver( elem_add_rs2, vs_err );
- BOOST_CHECK( vs_err == true );
-
- // unit_test[47] IPv6アドレスでRS編集
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------47" );
- l7vs::virtualservice_element elem_edit_rs1;
- {
- elem_edit_rs1.udpmode = false;
- elem_edit_rs1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v6::loopback(), (50000) );
- elem_edit_rs1.udp_recv_endpoint =
- udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem_edit_rs1.realserver_vector.clear();
- elem_edit_rs1.protocol_module_name = "PMtest1";
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678::0000:0000:90AB:CDEF" ), (8080) );
- rs_elem.weight = 10;
- elem_edit_rs1.realserver_vector.push_back( rs_elem );
- }
-
- vs_err.setter(false,"");
- vs->edit_realserver( elem_edit_rs1, vs_err );
- BOOST_CHECK( vs_err == false );
- BOOST_CHECK( vs->get_rs_list().begin()->weight == 10 );
-
- // unit_test[48] IPv6アドレスでRS編集(リストに一致するRSが存在しないので失敗する)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------48" );
- l7vs::virtualservice_element elem_edit_rs2;
- {
- elem_edit_rs2.udpmode = false;
- elem_edit_rs2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v6::loopback(), (50000) );
- elem_edit_rs2.udp_recv_endpoint =
- udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem_edit_rs2.realserver_vector.clear();
- elem_edit_rs2.protocol_module_name = "PMtest1";
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678::0000:0000:90AB:3891" ), (8080) );
- rs_elem.weight = 10;
- elem_edit_rs2.realserver_vector.push_back( rs_elem );
- }
- vs_err.setter(false,"");
- vs->edit_realserver( elem_edit_rs2, vs_err );
- BOOST_CHECK( vs_err == true );
-
- // unit_test[49] IPv6アドレスでRS編集(VSが不一致で失敗する)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------49" );
- l7vs::virtualservice_element elem_edit_rs3;
- {
- elem_edit_rs3.udpmode = false;
- elem_edit_rs3.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678:90AB:CDEF:0000:0000:FEDC:0009" ), (60000) );
- elem_edit_rs3.udp_recv_endpoint =
- udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem_edit_rs3.realserver_vector.clear();
- elem_edit_rs3.protocol_module_name = "PMtest1";
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678::0000:0000:90AB:CDEF" ), (8080) );
- rs_elem.weight = 10;
- elem_edit_rs3.realserver_vector.push_back( rs_elem );
- }
-
- vs_err.setter(false,"");
- vs->edit_realserver( elem_edit_rs3, vs_err );
- BOOST_CHECK( vs_err == true );
-
- // unit_test[50] IPv6アドレスでRS削除(VSが一致しないので失敗する)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------50" );
- l7vs::virtualservice_element elem_del_rs1;
- {
- elem_del_rs1.udpmode = false;
- elem_del_rs1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678:90AB:CDEF:0000:0000:FEDC:0009" ), (60000) );
- elem_del_rs1.udp_recv_endpoint =
- udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem_del_rs1.realserver_vector.clear();
- elem_del_rs1.protocol_module_name = "PMtest1";
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678::0000:0000:90AB:CDEF" ), (8080) );
- rs_elem.weight = 10;
- elem_del_rs1.realserver_vector.push_back( rs_elem );
- }
- vs_err.setter(false,"");
- vs->del_realserver( elem_del_rs1, vs_err );
- BOOST_CHECK( vs_err == true );
-
- // unit_test[51] IPv6アドレスでRS削除(リストに一致するRSが存在しないので失敗する)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------51" );
- l7vs::virtualservice_element elem_del_rs2;
- {
- elem_del_rs2.udpmode = false;
- elem_del_rs2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v6::loopback(), (50000) );
- elem_del_rs2.udp_recv_endpoint =
- udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem_del_rs2.realserver_vector.clear();
- elem_del_rs2.protocol_module_name = "PMtest1";
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678::0000:0000:1111:CDEF" ), (8080) );
- rs_elem.weight = 10;
- elem_del_rs2.realserver_vector.push_back( rs_elem );
- }
-
- vs_err.setter(false,"");
- vs->del_realserver( elem_del_rs2, vs_err );
- BOOST_CHECK( vs_err == true );
-
- // unit_test[52] IPv6アドレスでRS削除
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------52" );
- l7vs::virtualservice_element elem_del_rs3;
- {
- elem_del_rs3.udpmode = false;
- elem_del_rs3.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v6::loopback(), (50000) );
- elem_del_rs3.udp_recv_endpoint =
- udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem_del_rs3.realserver_vector.clear();
- elem_del_rs3.protocol_module_name = "PMtest1";
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "1234:5678::0000:0000:90AB:CDEF" ), (8080) );
- rs_elem.weight = 10;
- elem_del_rs3.realserver_vector.push_back( rs_elem );
- }
-
- vs_err.setter(false,"");
- vs->del_realserver( elem_del_rs3, vs_err );
- BOOST_CHECK( vs_err == false );
- BOOST_CHECK( vs->get_rs_list().size() == 9 );
-
- //テストが終わったらStubのレプリケーションエリアを削除
- debugg_flug_struct::getInstance().create_rep_area();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
- delete vs;
+void virtualservice_tcp_test4()
+{
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v6::loopback(), (50000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+
+ // unit_test[35] IPv6アドレスでVS作成
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------35");
+ l7vs::vs_tcp *vs;
+ vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+ BOOST_CHECK(vs_err == false);
+ BOOST_MESSAGE(vs_err.get_message());
+
+ // unit_test[36] IPv6アドレスでレプリケーションデータ作成
+ //まず、stubのレプリケーションエリア作成をする
+ debugg_flug_struct::getInstance().create_rep_area();
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------36");
+ vs->call_handle_replication_interrupt(test_err);
+ l7vs::virtualservice_base::replication_header *rep_head =
+ reinterpret_cast<l7vs::virtualservice_base::replication_header *>(debugg_flug_struct::getInstance().get_rep_area());
+ //data_numが0になってることを確認
+ BOOST_CHECK(rep_head->data_num == 1);
+ l7vs::virtualservice_base::replication_data *rep_data =
+ reinterpret_cast<l7vs::virtualservice_base::replication_data *>(++rep_head);
+ //udpmode
+ BOOST_CHECK(rep_data->udpmode == false);
+ //tcp_endpoint
+ tmp_tcp_ep.str("");
+ tmp_tcp_ep << elem1.tcp_accept_endpoint;
+ BOOST_CHECK(0 == strncmp(rep_data->tcp_endpoint, tmp_tcp_ep.str().c_str(), 47));
+ //udp_endpoint
+ tmp_udp_ep.str("");
+ tmp_udp_ep << elem1.udp_recv_endpoint;
+ BOOST_CHECK(0 == strncmp(rep_data->udp_endpoint, tmp_udp_ep.str().c_str(), 47));
+ //sorry_maxconnection
+ BOOST_CHECK(rep_data->sorry_maxconnection == elem1.sorry_maxconnection);
+ //sorry_endpoint
+ tmp_sorry_ep.str("");
+ tmp_sorry_ep << elem1.sorry_endpoint;
+ BOOST_CHECK(0 == strncmp(rep_data->sorry_endpoint, tmp_sorry_ep.str().c_str(), 47));
+ //sorry_flag
+ BOOST_CHECK(rep_data->sorry_flag == elem1.sorry_flag);
+ //sorry_fwdmode
+ BOOST_CHECK(rep_data->sorry_fwdmode == (unsigned int)elem1.sorry_fwdmode);
+ //qos_up
+ BOOST_CHECK(rep_data->qos_up == elem1.qos_upstream);
+ //qos_down
+ BOOST_CHECK(rep_data->qos_down == elem1.qos_downstream);
+
+ //比較用VS作成
+ l7vs::vs_tcp *vs2 = new l7vs::vs_tcp(vsd, rep, elem1);
+ bool chkflg;
+ // unit_test[37] IPv6アドレスでoperator==のテスト(VSが一致するケース)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------37");
+ chkflg = (*vs == *vs2);
+ BOOST_CHECK(chkflg);
+ // unit_test[38] IPv6アドレスでoperator!=のテスト(VSが一致するケース)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------38");
+ chkflg = (*vs != *vs2);
+ BOOST_CHECK(!chkflg);
+ delete vs2;
+ vs2 = NULL;
+
+ //比較用VS作成
+ //set element-2
+ l7vs::virtualservice_element elem2;
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v6::loopback(), (55000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 1234LL;
+ elem2.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem2.sorry_flag = false;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem2.qos_upstream = 65535ULL;
+ elem2.qos_downstream = 32767ULL;
+ vs2 = new l7vs::vs_tcp(vsd, rep, elem2);
+ // unit_test[39] IPv6アドレスでoperator==のテスト(VSが一致しないケース)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------39");
+ chkflg = (*vs == *vs2);
+ BOOST_CHECK(!chkflg);
+ // unit_test[40] IPv6アドレスでoperator!=のテスト(VSが一致しないケース)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------40");
+ chkflg = (*vs != *vs2);
+ BOOST_CHECK(chkflg);
+ delete vs2;
+ vs2 = NULL;
+
+ // unit_test[41] IPv6アドレスでVS編集
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------41");
+ l7vs::virtualservice_element elem3;
+ elem3.udpmode = false;
+ elem3.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v6::loopback(), (50000));
+ elem3.udp_recv_endpoint =
+ udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem3.realserver_vector.clear();
+ elem3.protocol_module_name = "PMtest1";
+ elem3.schedule_module_name = "SMtest1";
+ elem3.protocol_args.clear();
+ elem3.sorry_maxconnection = 3333LL;
+ elem3.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("255.255.255.255"), (0));
+ elem3.sorry_flag = true;
+ elem3.sorry_fwdmode = l7vs::virtualservice_element::FWD_TPROXY;
+ elem3.qos_upstream = 10ULL;
+ elem3.qos_downstream = 20ULL;
+
+
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem3, vs_err);
+ BOOST_CHECK(vs_err == false);
+ BOOST_MESSAGE(vs_err.get_message());
+ BOOST_CHECK(vs->get_element().sorry_endpoint == tcp_ep_type());
+ BOOST_CHECK(vs->get_element().sorry_maxconnection == 0LL);
+ BOOST_CHECK(vs->get_element().sorry_flag == false);
+ BOOST_CHECK(vs->get_element().sorry_fwdmode == l7vs::virtualservice_element::FWD_TPROXY);
+ BOOST_CHECK(vs->get_element().qos_upstream == elem3.qos_upstream);
+ BOOST_CHECK(vs->get_element().qos_downstream == elem3.qos_downstream);
+
+ // unit_test[42] IPv6アドレスでレプリケーションデータの読み出し:削除したら作りなおしたデータになること
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------42");
+
+ vs_err.setter(false, "");
+ //一旦VSを削除
+ vs->finalize(vs_err);
+ delete vs;
+ //elem3でVS作成
+ vs = new l7vs::vs_tcp(vsd, rep, elem3);
+ BOOST_CHECK(vs_err == false);
+ vs->call_read_replicationdata();
+ BOOST_CHECK(vs->get_element().udpmode == elem3.udpmode);
+ BOOST_CHECK(vs->get_element().tcp_accept_endpoint == elem3.tcp_accept_endpoint);
+ BOOST_CHECK(vs->get_element().udp_recv_endpoint == elem3.udp_recv_endpoint);
+ BOOST_CHECK(vs->get_element().protocol_module_name == elem3.protocol_module_name);
+ BOOST_CHECK(vs->get_element().schedule_module_name == elem3.schedule_module_name);
+ BOOST_CHECK(vs->get_element().sorry_maxconnection == 0LL);
+ BOOST_CHECK(vs->get_element().sorry_endpoint == tcp_ep_type());
+ BOOST_CHECK(vs->get_element().sorry_flag == false);
+ BOOST_CHECK(vs->get_element().sorry_fwdmode == l7vs::virtualservice_element::FWD_TPROXY);
+ BOOST_CHECK(vs->get_element().qos_upstream == elem3.qos_upstream);
+ BOOST_CHECK(vs->get_element().qos_downstream == elem3.qos_downstream);
+
+
+ // unit_test[43] IPv6アドレスでVS変更(TCP endpoint不一致による失敗ケース)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------43");
+ l7vs::virtualservice_element elem4;
+ elem4.udpmode = false;
+ elem4.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678:90AB:CDEF:0000:0000:FEDC:BA00"), (60000));
+ elem4.udp_recv_endpoint =
+ udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem4.realserver_vector.clear();
+ elem4.protocol_module_name = "PMtest1";
+ elem4.schedule_module_name = "SMtest1";
+ elem4.protocol_args.clear();
+ elem4.sorry_maxconnection = 3333LL;
+ elem4.sorry_endpoint = tcp_ep_type();
+ elem4.sorry_flag = true;
+ elem4.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem4.qos_upstream = 65535ULL;
+ elem4.qos_downstream = 32767ULL;
+
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem4, vs_err);
+ BOOST_CHECK(vs_err == true);
+ BOOST_CHECK(vs->get_element().sorry_maxconnection == 0LL);
+ BOOST_MESSAGE(vs->get_element().sorry_maxconnection);
+ BOOST_CHECK(vs->get_element().sorry_endpoint == tcp_ep_type());
+ BOOST_MESSAGE(vs->get_element().sorry_endpoint);
+ BOOST_CHECK(vs->get_element().sorry_flag == false);
+ BOOST_MESSAGE(vs->get_element().sorry_flag);
+ BOOST_CHECK(vs->get_element().sorry_fwdmode == l7vs::virtualservice_element::FWD_TPROXY);
+ BOOST_MESSAGE(vs->get_element().sorry_fwdmode);
+ BOOST_MESSAGE(vs->get_element().qos_upstream);
+ BOOST_CHECK(vs->get_element().qos_upstream == elem3.qos_upstream);
+ BOOST_MESSAGE(vs->get_element().qos_downstream);
+ BOOST_CHECK(vs->get_element().qos_downstream == elem3.qos_downstream);
+
+ // unit_test[44] IPv6アドレスでRS追加
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------44");
+ //RSパラメータ設定
+ l7vs::virtualservice_element elem_add_rs1;
+ elem_add_rs1.udpmode = false;
+ elem_add_rs1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v6::loopback(), (50000));
+ elem_add_rs1.udp_recv_endpoint =
+ udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem_add_rs1.realserver_vector.clear();
+ elem_add_rs1.protocol_module_name = "PMtest1";
+ elem_add_rs1.schedule_module_name = "SMtest1";
+ elem_add_rs1.protocol_args.clear();
+ elem_add_rs1.sorry_maxconnection = 1234LL;
+ elem_add_rs1.sorry_endpoint = tcp_ep_type();
+ elem_add_rs1.sorry_flag = false;
+ elem_add_rs1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem_add_rs1.qos_upstream = 65535ULL;
+ elem_add_rs1.qos_downstream = 32767ULL;
+ for (size_t i = 0; i < 10; ++i) {
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678::0000:0000:90AB:CDEF"), (i + 8080));
+ elem_add_rs1.realserver_vector.push_back(rs_elem);
+ rs_elem.weight = i + 1;
+ }
+ vs_err.setter(false, "");
+ vs->add_realserver(elem_add_rs1, vs_err);
+ BOOST_CHECK(vs_err == false);
+
+ // unit_test[45] IPv6アドレスでRS追加(既に追加されているendpointを追加しようとして失敗ケース)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------45");
+ //RSパラメータ設定
+ l7vs::virtualservice_element elem_add_rs2;
+ {
+ elem_add_rs2.udpmode = false;
+ elem_add_rs2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v6::loopback(), (50000));
+ elem_add_rs2.udp_recv_endpoint =
+ udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem_add_rs2.realserver_vector.clear();
+ elem_add_rs2.protocol_module_name = "PMtest1";
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678::0000:0000:90AB:CDEF"), (8080));
+ rs_elem.weight = 10;
+ elem_add_rs2.realserver_vector.push_back(rs_elem);
+ }
+
+ vs_err.setter(false, "");
+ vs->add_realserver(elem_add_rs2, vs_err);
+ BOOST_CHECK(vs_err == true);
+
+ // unit_test[46] IPv6アドレスでRS追加(VSが不一致で失敗ケース)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------46");
+ l7vs::virtualservice_element elem_add_rs3;
+ {
+ elem_add_rs3.udpmode = false;
+ elem_add_rs3.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678:90AB:CDEF:0000:0000:FEDC:0009"), (60000));
+ elem_add_rs3.udp_recv_endpoint =
+ udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem_add_rs3.realserver_vector.clear();
+ elem_add_rs3.protocol_module_name = "PMtest1";
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678::0000:0000:90AB:CDEF"), (6006));
+ rs_elem.weight = 10;
+ elem_add_rs3.realserver_vector.push_back(rs_elem);
+ }
+
+ vs_err.setter(false, "");
+ vs->add_realserver(elem_add_rs2, vs_err);
+ BOOST_CHECK(vs_err == true);
+
+ // unit_test[47] IPv6アドレスでRS編集
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------47");
+ l7vs::virtualservice_element elem_edit_rs1;
+ {
+ elem_edit_rs1.udpmode = false;
+ elem_edit_rs1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v6::loopback(), (50000));
+ elem_edit_rs1.udp_recv_endpoint =
+ udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem_edit_rs1.realserver_vector.clear();
+ elem_edit_rs1.protocol_module_name = "PMtest1";
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678::0000:0000:90AB:CDEF"), (8080));
+ rs_elem.weight = 10;
+ elem_edit_rs1.realserver_vector.push_back(rs_elem);
+ }
+
+ vs_err.setter(false, "");
+ vs->edit_realserver(elem_edit_rs1, vs_err);
+ BOOST_CHECK(vs_err == false);
+ BOOST_CHECK(vs->get_rs_list().begin()->weight == 10);
+
+ // unit_test[48] IPv6アドレスでRS編集(リストに一致するRSが存在しないので失敗する)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------48");
+ l7vs::virtualservice_element elem_edit_rs2;
+ {
+ elem_edit_rs2.udpmode = false;
+ elem_edit_rs2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v6::loopback(), (50000));
+ elem_edit_rs2.udp_recv_endpoint =
+ udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem_edit_rs2.realserver_vector.clear();
+ elem_edit_rs2.protocol_module_name = "PMtest1";
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678::0000:0000:90AB:3891"), (8080));
+ rs_elem.weight = 10;
+ elem_edit_rs2.realserver_vector.push_back(rs_elem);
+ }
+ vs_err.setter(false, "");
+ vs->edit_realserver(elem_edit_rs2, vs_err);
+ BOOST_CHECK(vs_err == true);
+
+ // unit_test[49] IPv6アドレスでRS編集(VSが不一致で失敗する)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------49");
+ l7vs::virtualservice_element elem_edit_rs3;
+ {
+ elem_edit_rs3.udpmode = false;
+ elem_edit_rs3.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678:90AB:CDEF:0000:0000:FEDC:0009"), (60000));
+ elem_edit_rs3.udp_recv_endpoint =
+ udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem_edit_rs3.realserver_vector.clear();
+ elem_edit_rs3.protocol_module_name = "PMtest1";
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678::0000:0000:90AB:CDEF"), (8080));
+ rs_elem.weight = 10;
+ elem_edit_rs3.realserver_vector.push_back(rs_elem);
+ }
+
+ vs_err.setter(false, "");
+ vs->edit_realserver(elem_edit_rs3, vs_err);
+ BOOST_CHECK(vs_err == true);
+
+ // unit_test[50] IPv6アドレスでRS削除(VSが一致しないので失敗する)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------50");
+ l7vs::virtualservice_element elem_del_rs1;
+ {
+ elem_del_rs1.udpmode = false;
+ elem_del_rs1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678:90AB:CDEF:0000:0000:FEDC:0009"), (60000));
+ elem_del_rs1.udp_recv_endpoint =
+ udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem_del_rs1.realserver_vector.clear();
+ elem_del_rs1.protocol_module_name = "PMtest1";
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678::0000:0000:90AB:CDEF"), (8080));
+ rs_elem.weight = 10;
+ elem_del_rs1.realserver_vector.push_back(rs_elem);
+ }
+ vs_err.setter(false, "");
+ vs->del_realserver(elem_del_rs1, vs_err);
+ BOOST_CHECK(vs_err == true);
+
+ // unit_test[51] IPv6アドレスでRS削除(リストに一致するRSが存在しないので失敗する)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------51");
+ l7vs::virtualservice_element elem_del_rs2;
+ {
+ elem_del_rs2.udpmode = false;
+ elem_del_rs2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v6::loopback(), (50000));
+ elem_del_rs2.udp_recv_endpoint =
+ udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem_del_rs2.realserver_vector.clear();
+ elem_del_rs2.protocol_module_name = "PMtest1";
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678::0000:0000:1111:CDEF"), (8080));
+ rs_elem.weight = 10;
+ elem_del_rs2.realserver_vector.push_back(rs_elem);
+ }
+
+ vs_err.setter(false, "");
+ vs->del_realserver(elem_del_rs2, vs_err);
+ BOOST_CHECK(vs_err == true);
+
+ // unit_test[52] IPv6アドレスでRS削除
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------52");
+ l7vs::virtualservice_element elem_del_rs3;
+ {
+ elem_del_rs3.udpmode = false;
+ elem_del_rs3.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v6::loopback(), (50000));
+ elem_del_rs3.udp_recv_endpoint =
+ udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem_del_rs3.realserver_vector.clear();
+ elem_del_rs3.protocol_module_name = "PMtest1";
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("1234:5678::0000:0000:90AB:CDEF"), (8080));
+ rs_elem.weight = 10;
+ elem_del_rs3.realserver_vector.push_back(rs_elem);
+ }
+
+ vs_err.setter(false, "");
+ vs->del_realserver(elem_del_rs3, vs_err);
+ BOOST_CHECK(vs_err == false);
+ BOOST_CHECK(vs->get_rs_list().size() == 9);
+
+ //テストが終わったらStubのレプリケーションエリアを削除
+ debugg_flug_struct::getInstance().create_rep_area();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+ delete vs;
}
//実際にAcceptさせるテスト
-void virtualservice_tcp_test5(){
- // unit_test[53] ClientからConnectさせてAcceptすることを確認する
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------53" );
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
- boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
- BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-std::cout << "!" << std::endl;
-
- usleep( 1000 );
- cl_thread.join();
- vs_main.join();
-std::cout << "!" << std::endl;
-
- vs_err.setter(false,"");
- // vs->finalize( vs_err );
-std::cout << "!" << std::endl;
- delete vs;
+void virtualservice_tcp_test5()
+{
+ // unit_test[53] ClientからConnectさせてAcceptすることを確認する
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------53");
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+ boost::thread cl_thread(&client);
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
+ BOOST_CHECK(vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT - 2);
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+ std::cout << "!" << std::endl;
+
+ usleep(1000);
+ cl_thread.join();
+ vs_main.join();
+ std::cout << "!" << std::endl;
+
+ vs_err.setter(false, "");
+ // vs->finalize( vs_err );
+ std::cout << "!" << std::endl;
+ delete vs;
}
//test case6 set_socket_option test
-void virtualservice_tcp_set_socket_option(){
- counter = 1;
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- //set element value
- element.udpmode = false;
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- element.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- element.realserver_vector.clear();
- element.protocol_module_name = "PMtest1";
- element.schedule_module_name = "SMtest1";
- element.protocol_args.clear();
- element.protocol_args.push_back( "testarg" );
- element.protocol_args.push_back( "testarg2" );
- element.sorry_maxconnection = 1234LL;
- element.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) );
- element.sorry_flag = false;
- element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- element.qos_upstream = 65535ULL;
- element.qos_downstream = 32767ULL;
-
+void virtualservice_tcp_set_socket_option()
+{
+ counter = 1;
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ //set element value
+ element.udpmode = false;
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ element.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ element.realserver_vector.clear();
+ element.protocol_module_name = "PMtest1";
+ element.schedule_module_name = "SMtest1";
+ element.protocol_args.clear();
+ element.protocol_args.push_back("testarg");
+ element.protocol_args.push_back("testarg2");
+ element.sorry_maxconnection = 1234LL;
+ element.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080));
+ element.sorry_flag = false;
+ element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ element.qos_upstream = 65535ULL;
+ element.qos_downstream = 32767ULL;
+
// std::cout << counter++ << std::endl;
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, element );
-
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( element == vs->get_element() );
-
-
- std::cout << "parse_socket_option normal case 01 (all socket option off)" << std::endl;
- // parse_socket_option normal case 01 (all socket option off)
- {
-
- vs->get_element().socket_option_tcp_defer_accept = 0;
- vs->get_element().socket_option_tcp_nodelay = 0;
- vs->get_element().socket_option_tcp_cork = 0;
- vs->get_element().socket_option_tcp_quickack = 0;
-
- vs->set_socket_option();
-
-
- //! TCP_DEFER_ACCEPT option
- // unit_test[56] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT) check
- BOOST_CHECK_EQUAL( vs->get_defer_accept_opt(), false );
- //! TCP_DEFER_ACCEPT option value
- // unit_test[57] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT value) check
- BOOST_CHECK_EQUAL( vs->get_defer_accept_val(), 0 );
- //! TCP_NODELAY (false:not set,true:set option)
- // unit_test[58] parse_socket_option normal case 01 (set option TCP_NODELAY) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().nodelay_opt, false );
- //! TCP_NODELAY option value (false:off,true:on)
- // unit_test[59] parse_socket_option normal case 01 (set option TCP_NODELAY value) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().nodelay_val, false );
- //! TCP_CORK (false:not set,true:set option)
- // unit_test[60] parse_socket_option normal case 01 (set option TCP_CORK) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().cork_opt, false );
- //! TCP_CORK option value (false:off,true:on)
- // unit_test[61] parse_socket_option normal case 01 (set option TCP_CORK value) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().cork_val, false );
- //! TCP_QUICKACK (false:not set,true:set option)
- // unit_test[62] parse_socket_option normal case 01 (set option TCP_QUICKACK) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().quickack_opt, false );
- //! TCP_QUICKACK option value (false:off,true:on)
- // unit_test[63] parse_socket_option normal case 01 (set option TCP_QUICKACK value) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().quickack_val, false );
-
- }
-
- std::cout << "parse_socket_option normal case 02 (all socket option on)" << std::endl;
- // parse_socket_option normal case 02 (all socket option on)
- {
-
- vs->get_element().socket_option_tcp_defer_accept = 1;
- vs->get_element().socket_option_tcp_nodelay = 1;
- vs->get_element().socket_option_tcp_cork = 1;
- vs->get_element().socket_option_tcp_quickack = 1;
-
- vs->set_socket_option();
-
-
- //! TCP_DEFER_ACCEPT option
- // unit_test[64] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT) check
- BOOST_CHECK_EQUAL( vs->get_defer_accept_opt(), true );
- //! TCP_DEFER_ACCEPT option value
- // unit_test[65] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT value) check
- BOOST_CHECK_EQUAL( vs->get_defer_accept_val(), 1 );
- //! TCP_NODELAY (false:not set,true:set option)
- // unit_test[66] parse_socket_option normal case 01 (set option TCP_NODELAY) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().nodelay_opt, true );
- //! TCP_NODELAY option value (false:off,true:on)
- // unit_test[67] parse_socket_option normal case 01 (set option TCP_NODELAY value) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().nodelay_val, true );
- //! TCP_CORK (false:not set,true:set option)
- // unit_test[68] parse_socket_option normal case 01 (set option TCP_CORK) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().cork_opt, true );
- //! TCP_CORK option value (false:off,true:on)
- // unit_test[69] parse_socket_option normal case 01 (set option TCP_CORK value) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().cork_val, true );
- //! TCP_QUICKACK (false:not set,true:set option)
- // unit_test[70] parse_socket_option normal case 01 (set option TCP_QUICKACK) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().quickack_opt, true );
- //! TCP_QUICKACK option value (false:off,true:on)
- // unit_test[71] parse_socket_option normal case 01 (set option TCP_QUICKACK value) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().quickack_val, true );
-
- }
-
-
- std::cout << "parse_socket_option normal case 03 (all socket option on)" << std::endl;
- // parse_socket_option normal case 03 (all socket option on)
- {
-
- element.socket_option_tcp_defer_accept = 1;
- element.socket_option_tcp_nodelay = 1;
- element.socket_option_tcp_cork = 1;
- element.socket_option_tcp_quickack = 2;
-
- vs->set_socket_option();
-
-
- //! TCP_DEFER_ACCEPT option
- // unit_test[72] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT) check
- BOOST_CHECK_EQUAL( vs->get_defer_accept_opt(), true );
- //! TCP_DEFER_ACCEPT option value
- // unit_test[73] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT value) check
- BOOST_CHECK_EQUAL( vs->get_defer_accept_val(), 1 );
- //! TCP_NODELAY (false:not set,true:set option)
- // unit_test[74] parse_socket_option normal case 01 (set option TCP_NODELAY) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().nodelay_opt, true );
- //! TCP_NODELAY option value (false:off,true:on)
- // unit_test[75] parse_socket_option normal case 01 (set option TCP_NODELAY value) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().nodelay_val, true );
- //! TCP_CORK (false:not set,true:set option)
- // unit_test[76] parse_socket_option normal case 01 (set option TCP_CORK) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().cork_opt, true );
- //! TCP_CORK option value (false:off,true:on)
- // unit_test[77] parse_socket_option normal case 01 (set option TCP_CORK value) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().cork_val, true );
- //! TCP_QUICKACK (false:not set,true:set option)
- // unit_test[78] parse_socket_option normal case 01 (set option TCP_QUICKACK) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().quickack_opt, true );
- //! TCP_QUICKACK option value (false:off,true:on)
- // unit_test[79] parse_socket_option normal case 01 (set option TCP_QUICKACK value) check
- BOOST_CHECK_EQUAL( vs->get_set_sock_opt().quickack_val, true );
-
- }
-
-
- BOOST_MESSAGE( "-------9" );
- delete vs;
-
-
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, element);
+
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(element == vs->get_element());
+
+
+ std::cout << "parse_socket_option normal case 01 (all socket option off)" << std::endl;
+ // parse_socket_option normal case 01 (all socket option off)
+ {
+
+ vs->get_element().socket_option_tcp_defer_accept = 0;
+ vs->get_element().socket_option_tcp_nodelay = 0;
+ vs->get_element().socket_option_tcp_cork = 0;
+ vs->get_element().socket_option_tcp_quickack = 0;
+
+ vs->set_socket_option();
+
+
+ //! TCP_DEFER_ACCEPT option
+ // unit_test[56] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT) check
+ BOOST_CHECK_EQUAL(vs->get_defer_accept_opt(), false);
+ //! TCP_DEFER_ACCEPT option value
+ // unit_test[57] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT value) check
+ BOOST_CHECK_EQUAL(vs->get_defer_accept_val(), 0);
+ //! TCP_NODELAY (false:not set,true:set option)
+ // unit_test[58] parse_socket_option normal case 01 (set option TCP_NODELAY) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().nodelay_opt, false);
+ //! TCP_NODELAY option value (false:off,true:on)
+ // unit_test[59] parse_socket_option normal case 01 (set option TCP_NODELAY value) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().nodelay_val, false);
+ //! TCP_CORK (false:not set,true:set option)
+ // unit_test[60] parse_socket_option normal case 01 (set option TCP_CORK) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().cork_opt, false);
+ //! TCP_CORK option value (false:off,true:on)
+ // unit_test[61] parse_socket_option normal case 01 (set option TCP_CORK value) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().cork_val, false);
+ //! TCP_QUICKACK (false:not set,true:set option)
+ // unit_test[62] parse_socket_option normal case 01 (set option TCP_QUICKACK) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().quickack_opt, false);
+ //! TCP_QUICKACK option value (false:off,true:on)
+ // unit_test[63] parse_socket_option normal case 01 (set option TCP_QUICKACK value) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().quickack_val, false);
+
+ }
+
+ std::cout << "parse_socket_option normal case 02 (all socket option on)" << std::endl;
+ // parse_socket_option normal case 02 (all socket option on)
+ {
+
+ vs->get_element().socket_option_tcp_defer_accept = 1;
+ vs->get_element().socket_option_tcp_nodelay = 1;
+ vs->get_element().socket_option_tcp_cork = 1;
+ vs->get_element().socket_option_tcp_quickack = 1;
+
+ vs->set_socket_option();
+
+
+ //! TCP_DEFER_ACCEPT option
+ // unit_test[64] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT) check
+ BOOST_CHECK_EQUAL(vs->get_defer_accept_opt(), true);
+ //! TCP_DEFER_ACCEPT option value
+ // unit_test[65] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT value) check
+ BOOST_CHECK_EQUAL(vs->get_defer_accept_val(), 1);
+ //! TCP_NODELAY (false:not set,true:set option)
+ // unit_test[66] parse_socket_option normal case 01 (set option TCP_NODELAY) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().nodelay_opt, true);
+ //! TCP_NODELAY option value (false:off,true:on)
+ // unit_test[67] parse_socket_option normal case 01 (set option TCP_NODELAY value) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().nodelay_val, true);
+ //! TCP_CORK (false:not set,true:set option)
+ // unit_test[68] parse_socket_option normal case 01 (set option TCP_CORK) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().cork_opt, true);
+ //! TCP_CORK option value (false:off,true:on)
+ // unit_test[69] parse_socket_option normal case 01 (set option TCP_CORK value) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().cork_val, true);
+ //! TCP_QUICKACK (false:not set,true:set option)
+ // unit_test[70] parse_socket_option normal case 01 (set option TCP_QUICKACK) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().quickack_opt, true);
+ //! TCP_QUICKACK option value (false:off,true:on)
+ // unit_test[71] parse_socket_option normal case 01 (set option TCP_QUICKACK value) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().quickack_val, true);
+
+ }
+
+
+ std::cout << "parse_socket_option normal case 03 (all socket option on)" << std::endl;
+ // parse_socket_option normal case 03 (all socket option on)
+ {
+
+ element.socket_option_tcp_defer_accept = 1;
+ element.socket_option_tcp_nodelay = 1;
+ element.socket_option_tcp_cork = 1;
+ element.socket_option_tcp_quickack = 2;
+
+ vs->set_socket_option();
+
+
+ //! TCP_DEFER_ACCEPT option
+ // unit_test[72] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT) check
+ BOOST_CHECK_EQUAL(vs->get_defer_accept_opt(), true);
+ //! TCP_DEFER_ACCEPT option value
+ // unit_test[73] parse_socket_option normal case 01 (set option TCP_DEFER_ACCEPT value) check
+ BOOST_CHECK_EQUAL(vs->get_defer_accept_val(), 1);
+ //! TCP_NODELAY (false:not set,true:set option)
+ // unit_test[74] parse_socket_option normal case 01 (set option TCP_NODELAY) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().nodelay_opt, true);
+ //! TCP_NODELAY option value (false:off,true:on)
+ // unit_test[75] parse_socket_option normal case 01 (set option TCP_NODELAY value) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().nodelay_val, true);
+ //! TCP_CORK (false:not set,true:set option)
+ // unit_test[76] parse_socket_option normal case 01 (set option TCP_CORK) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().cork_opt, true);
+ //! TCP_CORK option value (false:off,true:on)
+ // unit_test[77] parse_socket_option normal case 01 (set option TCP_CORK value) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().cork_val, true);
+ //! TCP_QUICKACK (false:not set,true:set option)
+ // unit_test[78] parse_socket_option normal case 01 (set option TCP_QUICKACK) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().quickack_opt, true);
+ //! TCP_QUICKACK option value (false:off,true:on)
+ // unit_test[79] parse_socket_option normal case 01 (set option TCP_QUICKACK value) check
+ BOOST_CHECK_EQUAL(vs->get_set_sock_opt().quickack_val, true);
+
+ }
+
+
+ BOOST_MESSAGE("-------9");
+ delete vs;
+
+
}
// get_ssl_password test
-void virtualservice_tcp_get_ssl_password(){
- counter = 1;
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- //set element value
- element.udpmode = false;
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- element.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- element.realserver_vector.clear();
- element.protocol_module_name = "PMtest1";
- element.schedule_module_name = "SMtest1";
- element.protocol_args.clear();
- element.protocol_args.push_back( "testarg" );
- element.protocol_args.push_back( "testarg2" );
- element.sorry_maxconnection = 1234LL;
- element.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) );
- element.sorry_flag = false;
- element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- element.qos_upstream = 65535ULL;
- element.qos_downstream = 32767ULL;
+void virtualservice_tcp_get_ssl_password()
+{
+ counter = 1;
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ //set element value
+ element.udpmode = false;
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ element.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ element.realserver_vector.clear();
+ element.protocol_module_name = "PMtest1";
+ element.schedule_module_name = "SMtest1";
+ element.protocol_args.clear();
+ element.protocol_args.push_back("testarg");
+ element.protocol_args.push_back("testarg2");
+ element.sorry_maxconnection = 1234LL;
+ element.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080));
+ element.sorry_flag = false;
+ element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ element.qos_upstream = 65535ULL;
+ element.qos_downstream = 32767ULL;
// std::cout << counter++ << std::endl;
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, element );
-
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( element == vs->get_element() );
-
- std::cout << "get_ssl_password normal case 01" << std::endl;
- // get_ssl_password normal case 01
- {
- std::string ssl_passwd = "ssl_test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file1";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
-
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
- ofs << ssl_passwd << "\n";
- ofs.close();
-
- vs->set_private_key_passwd_dir( ssl_passwd_dir );
- vs->set_private_key_passwd_file( ssl_passwd_file );
-
- std::string return_ssl_password = vs->get_ssl_password();
-
- //! TCP_DEFER_ACCEPT option
- // unit_test[80] ssl password check
- BOOST_CHECK_EQUAL( return_ssl_password, ssl_passwd );
-
- unlink( ssl_passwd_full_path.c_str() );
-
- }
-
- std::cout << "get_ssl_password error case 01 dir empty" << std::endl;
- // get_ssl_password normal error case 01 dir empty
- {
- std::string ssl_passwd = "";
- std::string ssl_passwd_dir = "";
- std::string ssl_passwd_file = "ssl_password_file1";
-
- vs->set_private_key_passwd_dir( ssl_passwd_dir );
- vs->set_private_key_passwd_file( ssl_passwd_file );
-
- std::string return_ssl_password = vs->get_ssl_password();
-
- //! TCP_DEFER_ACCEPT option
- // unit_test[81] ssl password check
- BOOST_CHECK_EQUAL( return_ssl_password, ssl_passwd );
-
- }
-
- std::cout <<"get_ssl_password error case 02 password size over"<<std::endl;
- // get_ssl_password normal error case 02 password size over
- {
- std::string ssl_passwd = "";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
- ssl_passwd += "1234567890";
-
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file1";
-
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
- ofs << ssl_passwd << "\n";
- ofs.close();
-
- vs->set_private_key_passwd_dir( ssl_passwd_dir );
- vs->set_private_key_passwd_file( ssl_passwd_file );
-
- std::string return_ssl_password = vs->get_ssl_password();
-
- //! TCP_DEFER_ACCEPT option
- // unit_test[82] ssl password check
- BOOST_CHECK_EQUAL( return_ssl_password, "" );
-
- }
-
- std::cout << "get_ssl_password error case 03 file empty" << std::endl;
- // get_ssl_password normal error case 03 file empty
- {
- std::string ssl_passwd = "";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file1";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
-
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
- ofs.close();
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, element);
+
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(element == vs->get_element());
+
+ std::cout << "get_ssl_password normal case 01" << std::endl;
+ // get_ssl_password normal case 01
+ {
+ std::string ssl_passwd = "ssl_test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file1";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- vs->set_private_key_passwd_dir( ssl_passwd_dir );
- vs->set_private_key_passwd_file( ssl_passwd_file );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
+ ofs << ssl_passwd << "\n";
+ ofs.close();
- std::string return_ssl_password = vs->get_ssl_password();
+ vs->set_private_key_passwd_dir(ssl_passwd_dir);
+ vs->set_private_key_passwd_file(ssl_passwd_file);
- //! TCP_DEFER_ACCEPT option
- // unit_test[83] ssl password check
- BOOST_CHECK_EQUAL( return_ssl_password, ssl_passwd );
+ std::string return_ssl_password = vs->get_ssl_password();
- unlink( ssl_passwd_full_path.c_str() );
+ //! TCP_DEFER_ACCEPT option
+ // unit_test[80] ssl password check
+ BOOST_CHECK_EQUAL(return_ssl_password, ssl_passwd);
+ unlink(ssl_passwd_full_path.c_str());
+
+ }
- }
-
-
- BOOST_MESSAGE( "-------??" );
- delete vs;
+ std::cout << "get_ssl_password error case 01 dir empty" << std::endl;
+ // get_ssl_password normal error case 01 dir empty
+ {
+ std::string ssl_passwd = "";
+ std::string ssl_passwd_dir = "";
+ std::string ssl_passwd_file = "ssl_password_file1";
+
+ vs->set_private_key_passwd_dir(ssl_passwd_dir);
+ vs->set_private_key_passwd_file(ssl_passwd_file);
+
+ std::string return_ssl_password = vs->get_ssl_password();
+
+ //! TCP_DEFER_ACCEPT option
+ // unit_test[81] ssl password check
+ BOOST_CHECK_EQUAL(return_ssl_password, ssl_passwd);
+
+ }
+
+ std::cout << "get_ssl_password error case 02 password size over" << std::endl;
+ // get_ssl_password normal error case 02 password size over
+ {
+ std::string ssl_passwd = "";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+ ssl_passwd += "1234567890";
+
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file1";
+
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
+ ofs << ssl_passwd << "\n";
+ ofs.close();
+
+ vs->set_private_key_passwd_dir(ssl_passwd_dir);
+ vs->set_private_key_passwd_file(ssl_passwd_file);
+
+ std::string return_ssl_password = vs->get_ssl_password();
+
+ //! TCP_DEFER_ACCEPT option
+ // unit_test[82] ssl password check
+ BOOST_CHECK_EQUAL(return_ssl_password, "");
+
+ }
+
+ std::cout << "get_ssl_password error case 03 file empty" << std::endl;
+ // get_ssl_password normal error case 03 file empty
+ {
+ std::string ssl_passwd = "";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file1";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
+ ofs.close();
+
+ vs->set_private_key_passwd_dir(ssl_passwd_dir);
+ vs->set_private_key_passwd_file(ssl_passwd_file);
+
+ std::string return_ssl_password = vs->get_ssl_password();
+
+ //! TCP_DEFER_ACCEPT option
+ // unit_test[83] ssl password check
+ BOOST_CHECK_EQUAL(return_ssl_password, ssl_passwd);
+
+ unlink(ssl_passwd_full_path.c_str());
+
+
+ }
+
+
+ BOOST_MESSAGE("-------??");
+ delete vs;
}
// conv_verify_option test
-void virtualservice_tcp_conv_verify_option(){
- counter = 1;
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- //set element value
- element.udpmode = false;
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- element.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- element.realserver_vector.clear();
- element.protocol_module_name = "PMtest1";
- element.schedule_module_name = "SMtest1";
- element.protocol_args.clear();
- element.protocol_args.push_back( "testarg" );
- element.protocol_args.push_back( "testarg2" );
- element.sorry_maxconnection = 1234LL;
- element.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) );
- element.sorry_flag = false;
- element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- element.qos_upstream = 65535ULL;
- element.qos_downstream = 32767ULL;
+void virtualservice_tcp_conv_verify_option()
+{
+ counter = 1;
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ //set element value
+ element.udpmode = false;
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ element.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ element.realserver_vector.clear();
+ element.protocol_module_name = "PMtest1";
+ element.schedule_module_name = "SMtest1";
+ element.protocol_args.clear();
+ element.protocol_args.push_back("testarg");
+ element.protocol_args.push_back("testarg2");
+ element.sorry_maxconnection = 1234LL;
+ element.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080));
+ element.sorry_flag = false;
+ element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ element.qos_upstream = 65535ULL;
+ element.qos_downstream = 32767ULL;
// std::cout << counter++ << std::endl;
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, element );
-
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( element == vs->get_element() );
-
- std::cout << "conv_verify_option SSL_VERIFY_NONE case" << std::endl;
- // conv_verify_option SSL_VERIFY_NONE case
- {
- std::string input_verify_option = "SSL_VERIFY_NONE";
-
- int return_verify_option = vs->conv_verify_option(input_verify_option);
-
- //! SSL_VERIFY_NONE option
- // unit_test[84] verify_option check
- BOOST_CHECK_EQUAL( return_verify_option, SSL_VERIFY_NONE );
-
- }
-
- std::cout << "conv_verify_option SSL_VERIFY_PEER case" << std::endl;
- // conv_verify_option SSL_VERIFY_PEER case
- {
- std::string input_verify_option = "SSL_VERIFY_PEER";
-
- int return_verify_option = vs->conv_verify_option(input_verify_option);
-
- //! SSL_VERIFY_PEER option
- // unit_test[85] verify_option check
- BOOST_CHECK_EQUAL( return_verify_option, SSL_VERIFY_PEER );
-
- }
-
- std::cout << "conv_verify_option SSL_VERIFY_FAIL_IF_NO_PEER_CERT case" << std::endl;
- // conv_verify_option SSL_VERIFY_FAIL_IF_NO_PEER_CERT case
- {
- std::string input_verify_option = "SSL_VERIFY_FAIL_IF_NO_PEER_CERT";
-
- int return_verify_option = vs->conv_verify_option(input_verify_option);
-
- //! SSL_VERIFY_FAIL_IF_NO_PEER_CERT option
- // unit_test[86] verify_option check
- BOOST_CHECK_EQUAL( return_verify_option, SSL_VERIFY_FAIL_IF_NO_PEER_CERT );
-
- }
-
- std::cout << "conv_verify_option SSL_VERIFY_CLIENT_ONCE case" << std::endl;
- // conv_verify_option SSL_VERIFY_CLIENT_ONCE case
- {
- std::string input_verify_option = "SSL_VERIFY_CLIENT_ONCE";
-
- int return_verify_option = vs->conv_verify_option(input_verify_option);
-
- //! SSL_VERIFY_CLIENT_ONCE option
- // unit_test[87] verify_option check
- BOOST_CHECK_EQUAL( return_verify_option, SSL_VERIFY_CLIENT_ONCE );
-
- }
-
-
- std::cout << "conv_verify_option error case" << std::endl;
- // conv_verify_option error case
- {
- std::string input_verify_option = "error";
-
- int return_verify_option = vs->conv_verify_option(input_verify_option);
-
- //! error option
- // unit_test[88] verify_option error check
- BOOST_CHECK_EQUAL( return_verify_option, -1 );
-
- }
-
- BOOST_MESSAGE( "-------??" );
- delete vs;
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, element);
+
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(element == vs->get_element());
+
+ std::cout << "conv_verify_option SSL_VERIFY_NONE case" << std::endl;
+ // conv_verify_option SSL_VERIFY_NONE case
+ {
+ std::string input_verify_option = "SSL_VERIFY_NONE";
+
+ int return_verify_option = vs->conv_verify_option(input_verify_option);
+
+ //! SSL_VERIFY_NONE option
+ // unit_test[84] verify_option check
+ BOOST_CHECK_EQUAL(return_verify_option, SSL_VERIFY_NONE);
+
+ }
+
+ std::cout << "conv_verify_option SSL_VERIFY_PEER case" << std::endl;
+ // conv_verify_option SSL_VERIFY_PEER case
+ {
+ std::string input_verify_option = "SSL_VERIFY_PEER";
+
+ int return_verify_option = vs->conv_verify_option(input_verify_option);
+
+ //! SSL_VERIFY_PEER option
+ // unit_test[85] verify_option check
+ BOOST_CHECK_EQUAL(return_verify_option, SSL_VERIFY_PEER);
+
+ }
+
+ std::cout << "conv_verify_option SSL_VERIFY_FAIL_IF_NO_PEER_CERT case" << std::endl;
+ // conv_verify_option SSL_VERIFY_FAIL_IF_NO_PEER_CERT case
+ {
+ std::string input_verify_option = "SSL_VERIFY_FAIL_IF_NO_PEER_CERT";
+
+ int return_verify_option = vs->conv_verify_option(input_verify_option);
+
+ //! SSL_VERIFY_FAIL_IF_NO_PEER_CERT option
+ // unit_test[86] verify_option check
+ BOOST_CHECK_EQUAL(return_verify_option, SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
+
+ }
+
+ std::cout << "conv_verify_option SSL_VERIFY_CLIENT_ONCE case" << std::endl;
+ // conv_verify_option SSL_VERIFY_CLIENT_ONCE case
+ {
+ std::string input_verify_option = "SSL_VERIFY_CLIENT_ONCE";
+
+ int return_verify_option = vs->conv_verify_option(input_verify_option);
+
+ //! SSL_VERIFY_CLIENT_ONCE option
+ // unit_test[87] verify_option check
+ BOOST_CHECK_EQUAL(return_verify_option, SSL_VERIFY_CLIENT_ONCE);
+
+ }
+
+
+ std::cout << "conv_verify_option error case" << std::endl;
+ // conv_verify_option error case
+ {
+ std::string input_verify_option = "error";
+
+ int return_verify_option = vs->conv_verify_option(input_verify_option);
+
+ //! error option
+ // unit_test[88] verify_option error check
+ BOOST_CHECK_EQUAL(return_verify_option, -1);
+
+ }
+
+ BOOST_MESSAGE("-------??");
+ delete vs;
}
// conv_ssl_option test
-void virtualservice_tcp_conv_ssl_option(){
- counter = 1;
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- //set element value
- element.udpmode = false;
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- element.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- element.realserver_vector.clear();
- element.protocol_module_name = "PMtest1";
- element.schedule_module_name = "SMtest1";
- element.protocol_args.clear();
- element.protocol_args.push_back( "testarg" );
- element.protocol_args.push_back( "testarg2" );
- element.sorry_maxconnection = 1234LL;
- element.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) );
- element.sorry_flag = false;
- element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- element.qos_upstream = 65535ULL;
- element.qos_downstream = 32767ULL;
+void virtualservice_tcp_conv_ssl_option()
+{
+ counter = 1;
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ //set element value
+ element.udpmode = false;
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ element.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ element.realserver_vector.clear();
+ element.protocol_module_name = "PMtest1";
+ element.schedule_module_name = "SMtest1";
+ element.protocol_args.clear();
+ element.protocol_args.push_back("testarg");
+ element.protocol_args.push_back("testarg2");
+ element.sorry_maxconnection = 1234LL;
+ element.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080));
+ element.sorry_flag = false;
+ element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ element.qos_upstream = 65535ULL;
+ element.qos_downstream = 32767ULL;
// std::cout << counter++ << std::endl;
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, element );
-
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( element == vs->get_element() );
-
- std::cout << "conv_ssl_option SSL_OP_MICROSOFT_SESS_ID_BUG case" << std::endl;
- // conv_ssl_option SSL_OP_MICROSOFT_SESS_ID_BUG case
- {
- std::string input_ssl_option = "SSL_OP_MICROSOFT_SESS_ID_BUG";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_MICROSOFT_SESS_ID_BUG option
- // unit_test[89] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_MICROSOFT_SESS_ID_BUG );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_NETSCAPE_CHALLENGE_BUG case" << std::endl;
- // conv_ssl_option SSL_OP_NETSCAPE_CHALLENGE_BUG case
- {
- std::string input_ssl_option = "SSL_OP_NETSCAPE_CHALLENGE_BUG";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_NETSCAPE_CHALLENGE_BUG option
- // unit_test[90] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_NETSCAPE_CHALLENGE_BUG );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG case" << std::endl;
- // conv_ssl_option SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG case
- {
- std::string input_ssl_option = "SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG option
- // unit_test[91] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG case" << std::endl;
- // conv_ssl_option SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG case
- {
- std::string input_ssl_option = "SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG option
- // unit_test[92] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER case" << std::endl;
- // conv_ssl_option SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER case
- {
- std::string input_ssl_option = "SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER option
- // unit_test[93] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_MSIE_SSLV2_RSA_PADDING case" << std::endl;
- // conv_ssl_option SSL_OP_MSIE_SSLV2_RSA_PADDING case
- {
- std::string input_ssl_option = "SSL_OP_MSIE_SSLV2_RSA_PADDING";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_MSIE_SSLV2_RSA_PADDING option
- // unit_test[94] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_MSIE_SSLV2_RSA_PADDING );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_SSLEAY_080_CLIENT_DH_BUG case" << std::endl;
- // conv_ssl_option SSL_OP_SSLEAY_080_CLIENT_DH_BUG case
- {
- std::string input_ssl_option = "SSL_OP_SSLEAY_080_CLIENT_DH_BUG";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_SSLEAY_080_CLIENT_DH_BUG option
- // unit_test[95] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_SSLEAY_080_CLIENT_DH_BUG );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_TLS_D5_BUG case" << std::endl;
- // conv_ssl_option SSL_OP_TLS_D5_BUG case
- {
- std::string input_ssl_option = "SSL_OP_TLS_D5_BUG";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_TLS_D5_BUG option
- // unit_test[96] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_TLS_D5_BUG );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_TLS_BLOCK_PADDING_BUG case" << std::endl;
- // conv_ssl_option SSL_OP_TLS_BLOCK_PADDING_BUG case
- {
- std::string input_ssl_option = "SSL_OP_TLS_BLOCK_PADDING_BUG";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_TLS_BLOCK_PADDING_BUG option
- // unit_test[97] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_TLS_BLOCK_PADDING_BUG );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS case" << std::endl;
- // conv_ssl_option SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS case
- {
- std::string input_ssl_option = "SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS option
- // unit_test[98] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_ALL case" << std::endl;
- // conv_ssl_option SSL_OP_ALL case
- {
- std::string input_ssl_option = "SSL_OP_ALL";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_ALL option
- // unit_test[99] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_ALL );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_NO_QUERY_MTU case" << std::endl;
- // conv_ssl_option SSL_OP_NO_QUERY_MTU case
- {
- std::string input_ssl_option = "SSL_OP_NO_QUERY_MTU";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_NO_QUERY_MTU option
- // unit_test[100] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_NO_QUERY_MTU );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_COOKIE_EXCHANGE case" << std::endl;
- // conv_ssl_option SSL_OP_COOKIE_EXCHANGE case
- {
- std::string input_ssl_option = "SSL_OP_COOKIE_EXCHANGE";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_COOKIE_EXCHANGE option
- // unit_test[101] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_COOKIE_EXCHANGE );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION case" << std::endl;
- // conv_ssl_option SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION case
- {
- std::string input_ssl_option = "SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION option
- // unit_test[102] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_SINGLE_ECDH_USE case" << std::endl;
- // conv_ssl_option SSL_OP_SINGLE_ECDH_USE case
- {
- std::string input_ssl_option = "SSL_OP_SINGLE_ECDH_USE";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_SINGLE_ECDH_USE option
- // unit_test[103] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_SINGLE_ECDH_USE );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_SINGLE_DH_USE case" << std::endl;
- // conv_ssl_option SSL_OP_SINGLE_DH_USE case
- {
- std::string input_ssl_option = "SSL_OP_SINGLE_DH_USE";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_SINGLE_DH_USE option
- // unit_test[104] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_SINGLE_DH_USE );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_EPHEMERAL_RSA case" << std::endl;
- // conv_ssl_option SSL_OP_EPHEMERAL_RSA case
- {
- std::string input_ssl_option = "SSL_OP_EPHEMERAL_RSA";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_EPHEMERAL_RSA option
- // unit_test[105] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_EPHEMERAL_RSA );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_CIPHER_SERVER_PREFERENCE case" << std::endl;
- // conv_ssl_option SSL_OP_CIPHER_SERVER_PREFERENCE case
- {
- std::string input_ssl_option = "SSL_OP_CIPHER_SERVER_PREFERENCE";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_CIPHER_SERVER_PREFERENCE option
- // unit_test[106] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_CIPHER_SERVER_PREFERENCE );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_TLS_ROLLBACK_BUG case" << std::endl;
- // conv_ssl_option SSL_OP_TLS_ROLLBACK_BUG case
- {
- std::string input_ssl_option = "SSL_OP_TLS_ROLLBACK_BUG";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_TLS_ROLLBACK_BUG option
- // unit_test[107] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_TLS_ROLLBACK_BUG );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_NO_SSLv2 case" << std::endl;
- // conv_ssl_option SSL_OP_NO_SSLv2 case
- {
- std::string input_ssl_option = "SSL_OP_NO_SSLv2";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_NO_SSLv2 option
- // unit_test[108] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_NO_SSLv2 );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_NO_SSLv3 case" << std::endl;
- // conv_ssl_option SSL_OP_NO_SSLv3 case
- {
- std::string input_ssl_option = "SSL_OP_NO_SSLv3";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_NO_SSLv3 option
- // unit_test[109] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_NO_SSLv3 );
-
- }
-
-
- std::cout << "conv_ssl_option SSL_OP_NO_TLSv1 case" << std::endl;
- // conv_ssl_option SSL_OP_NO_TLSv1 case
- {
- std::string input_ssl_option = "SSL_OP_NO_TLSv1";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_NO_TLSv1 option
- // unit_test[110] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_NO_TLSv1 );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_PKCS1_CHECK_1 case" << std::endl;
- // conv_ssl_option SSL_OP_PKCS1_CHECK_1 case
- {
- std::string input_ssl_option = "SSL_OP_PKCS1_CHECK_1";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_PKCS1_CHECK_1 option
- // unit_test[111] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_PKCS1_CHECK_1 );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_PKCS1_CHECK_2 case" << std::endl;
- // conv_ssl_option SSL_OP_PKCS1_CHECK_2 case
- {
- std::string input_ssl_option = "SSL_OP_PKCS1_CHECK_2";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_PKCS1_CHECK_2 option
- // unit_test[112] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_PKCS1_CHECK_2 );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_NETSCAPE_CA_DN_BUG case" << std::endl;
- // conv_ssl_option SSL_OP_NETSCAPE_CA_DN_BUG case
- {
- std::string input_ssl_option = "SSL_OP_NETSCAPE_CA_DN_BUG";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_NETSCAPE_CA_DN_BUG option
- // unit_test[113] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_NETSCAPE_CA_DN_BUG );
-
- }
-
- std::cout << "conv_ssl_option SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG case" << std::endl;
- // conv_ssl_option SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG case
- {
- std::string input_ssl_option = "SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG option
- // unit_test[114] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG );
-
- }
-
- std::cout << "conv_ssl_option error case" << std::endl;
- // conv_ssl_option error case
- {
- std::string input_ssl_option = "error";
-
- long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
-
- //! error option
- // unit_test[115] conv_ssl_option check
- BOOST_CHECK_EQUAL( return_ssl_option, -1 );
-
- }
-
- BOOST_MESSAGE( "-------??" );
- delete vs;
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, element);
+
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(element == vs->get_element());
+
+ std::cout << "conv_ssl_option SSL_OP_MICROSOFT_SESS_ID_BUG case" << std::endl;
+ // conv_ssl_option SSL_OP_MICROSOFT_SESS_ID_BUG case
+ {
+ std::string input_ssl_option = "SSL_OP_MICROSOFT_SESS_ID_BUG";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_MICROSOFT_SESS_ID_BUG option
+ // unit_test[89] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_MICROSOFT_SESS_ID_BUG);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_NETSCAPE_CHALLENGE_BUG case" << std::endl;
+ // conv_ssl_option SSL_OP_NETSCAPE_CHALLENGE_BUG case
+ {
+ std::string input_ssl_option = "SSL_OP_NETSCAPE_CHALLENGE_BUG";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_NETSCAPE_CHALLENGE_BUG option
+ // unit_test[90] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_NETSCAPE_CHALLENGE_BUG);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG case" << std::endl;
+ // conv_ssl_option SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG case
+ {
+ std::string input_ssl_option = "SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG option
+ // unit_test[91] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG case" << std::endl;
+ // conv_ssl_option SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG case
+ {
+ std::string input_ssl_option = "SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG option
+ // unit_test[92] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER case" << std::endl;
+ // conv_ssl_option SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER case
+ {
+ std::string input_ssl_option = "SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER option
+ // unit_test[93] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_MSIE_SSLV2_RSA_PADDING case" << std::endl;
+ // conv_ssl_option SSL_OP_MSIE_SSLV2_RSA_PADDING case
+ {
+ std::string input_ssl_option = "SSL_OP_MSIE_SSLV2_RSA_PADDING";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_MSIE_SSLV2_RSA_PADDING option
+ // unit_test[94] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_MSIE_SSLV2_RSA_PADDING);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_SSLEAY_080_CLIENT_DH_BUG case" << std::endl;
+ // conv_ssl_option SSL_OP_SSLEAY_080_CLIENT_DH_BUG case
+ {
+ std::string input_ssl_option = "SSL_OP_SSLEAY_080_CLIENT_DH_BUG";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_SSLEAY_080_CLIENT_DH_BUG option
+ // unit_test[95] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_SSLEAY_080_CLIENT_DH_BUG);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_TLS_D5_BUG case" << std::endl;
+ // conv_ssl_option SSL_OP_TLS_D5_BUG case
+ {
+ std::string input_ssl_option = "SSL_OP_TLS_D5_BUG";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_TLS_D5_BUG option
+ // unit_test[96] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_TLS_D5_BUG);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_TLS_BLOCK_PADDING_BUG case" << std::endl;
+ // conv_ssl_option SSL_OP_TLS_BLOCK_PADDING_BUG case
+ {
+ std::string input_ssl_option = "SSL_OP_TLS_BLOCK_PADDING_BUG";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_TLS_BLOCK_PADDING_BUG option
+ // unit_test[97] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_TLS_BLOCK_PADDING_BUG);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS case" << std::endl;
+ // conv_ssl_option SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS case
+ {
+ std::string input_ssl_option = "SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS option
+ // unit_test[98] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_ALL case" << std::endl;
+ // conv_ssl_option SSL_OP_ALL case
+ {
+ std::string input_ssl_option = "SSL_OP_ALL";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_ALL option
+ // unit_test[99] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_ALL);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_NO_QUERY_MTU case" << std::endl;
+ // conv_ssl_option SSL_OP_NO_QUERY_MTU case
+ {
+ std::string input_ssl_option = "SSL_OP_NO_QUERY_MTU";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_NO_QUERY_MTU option
+ // unit_test[100] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_NO_QUERY_MTU);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_COOKIE_EXCHANGE case" << std::endl;
+ // conv_ssl_option SSL_OP_COOKIE_EXCHANGE case
+ {
+ std::string input_ssl_option = "SSL_OP_COOKIE_EXCHANGE";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_COOKIE_EXCHANGE option
+ // unit_test[101] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_COOKIE_EXCHANGE);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION case" << std::endl;
+ // conv_ssl_option SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION case
+ {
+ std::string input_ssl_option = "SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION option
+ // unit_test[102] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_SINGLE_ECDH_USE case" << std::endl;
+ // conv_ssl_option SSL_OP_SINGLE_ECDH_USE case
+ {
+ std::string input_ssl_option = "SSL_OP_SINGLE_ECDH_USE";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_SINGLE_ECDH_USE option
+ // unit_test[103] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_SINGLE_ECDH_USE);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_SINGLE_DH_USE case" << std::endl;
+ // conv_ssl_option SSL_OP_SINGLE_DH_USE case
+ {
+ std::string input_ssl_option = "SSL_OP_SINGLE_DH_USE";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_SINGLE_DH_USE option
+ // unit_test[104] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_SINGLE_DH_USE);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_EPHEMERAL_RSA case" << std::endl;
+ // conv_ssl_option SSL_OP_EPHEMERAL_RSA case
+ {
+ std::string input_ssl_option = "SSL_OP_EPHEMERAL_RSA";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_EPHEMERAL_RSA option
+ // unit_test[105] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_EPHEMERAL_RSA);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_CIPHER_SERVER_PREFERENCE case" << std::endl;
+ // conv_ssl_option SSL_OP_CIPHER_SERVER_PREFERENCE case
+ {
+ std::string input_ssl_option = "SSL_OP_CIPHER_SERVER_PREFERENCE";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_CIPHER_SERVER_PREFERENCE option
+ // unit_test[106] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_CIPHER_SERVER_PREFERENCE);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_TLS_ROLLBACK_BUG case" << std::endl;
+ // conv_ssl_option SSL_OP_TLS_ROLLBACK_BUG case
+ {
+ std::string input_ssl_option = "SSL_OP_TLS_ROLLBACK_BUG";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_TLS_ROLLBACK_BUG option
+ // unit_test[107] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_TLS_ROLLBACK_BUG);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_NO_SSLv2 case" << std::endl;
+ // conv_ssl_option SSL_OP_NO_SSLv2 case
+ {
+ std::string input_ssl_option = "SSL_OP_NO_SSLv2";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_NO_SSLv2 option
+ // unit_test[108] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_NO_SSLv2);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_NO_SSLv3 case" << std::endl;
+ // conv_ssl_option SSL_OP_NO_SSLv3 case
+ {
+ std::string input_ssl_option = "SSL_OP_NO_SSLv3";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_NO_SSLv3 option
+ // unit_test[109] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_NO_SSLv3);
+
+ }
+
+
+ std::cout << "conv_ssl_option SSL_OP_NO_TLSv1 case" << std::endl;
+ // conv_ssl_option SSL_OP_NO_TLSv1 case
+ {
+ std::string input_ssl_option = "SSL_OP_NO_TLSv1";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_NO_TLSv1 option
+ // unit_test[110] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_NO_TLSv1);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_PKCS1_CHECK_1 case" << std::endl;
+ // conv_ssl_option SSL_OP_PKCS1_CHECK_1 case
+ {
+ std::string input_ssl_option = "SSL_OP_PKCS1_CHECK_1";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_PKCS1_CHECK_1 option
+ // unit_test[111] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_PKCS1_CHECK_1);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_PKCS1_CHECK_2 case" << std::endl;
+ // conv_ssl_option SSL_OP_PKCS1_CHECK_2 case
+ {
+ std::string input_ssl_option = "SSL_OP_PKCS1_CHECK_2";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_PKCS1_CHECK_2 option
+ // unit_test[112] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_PKCS1_CHECK_2);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_NETSCAPE_CA_DN_BUG case" << std::endl;
+ // conv_ssl_option SSL_OP_NETSCAPE_CA_DN_BUG case
+ {
+ std::string input_ssl_option = "SSL_OP_NETSCAPE_CA_DN_BUG";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_NETSCAPE_CA_DN_BUG option
+ // unit_test[113] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_NETSCAPE_CA_DN_BUG);
+
+ }
+
+ std::cout << "conv_ssl_option SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG case" << std::endl;
+ // conv_ssl_option SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG case
+ {
+ std::string input_ssl_option = "SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG option
+ // unit_test[114] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG);
+
+ }
+
+ std::cout << "conv_ssl_option error case" << std::endl;
+ // conv_ssl_option error case
+ {
+ std::string input_ssl_option = "error";
+
+ long int return_ssl_option = vs->conv_ssl_option(input_ssl_option);
+
+ //! error option
+ // unit_test[115] conv_ssl_option check
+ BOOST_CHECK_EQUAL(return_ssl_option, -1);
+
+ }
+
+ BOOST_MESSAGE("-------??");
+ delete vs;
}
// get_ssl_parameter test sub func
-void virtualservice_tcp_get_ssl_parameter_clear( l7vs::vs_tcp* vs ){
- std::string empty_data = "";
- int err_data = -1;
-
- // read param clear
- vs->set_ca_dir(empty_data);
- vs->set_ca_file(empty_data);
- vs->set_cert_chain_dir(empty_data);
- vs->set_cert_chain_file(empty_data);
- vs->set_private_key_dir(empty_data);
- vs->set_private_key_file(empty_data);
- vs->set_private_key_filetype(DEFAULT_SSL_PRIVATE_KEY_FILETYPE);
- vs->set_private_key_passwd_dir(empty_data);
- vs->set_private_key_passwd_file(empty_data);
- vs->set_verify_options(0);
- vs->set_verify_cert_depth(err_data);
- vs->set_ssl_options(0);
- vs->set_is_tmp_dh_use(false);
- vs->set_tmp_dh_dir(empty_data);
- vs->set_tmp_dh_file(empty_data);
- vs->set_cipher_list(empty_data);
- vs->set_is_session_cache_use(false);
- vs->set_session_cache_mode(err_data);
- vs->set_session_cache_size(err_data);
- vs->set_session_cache_timeout(err_data);
- vs->set_handshake_timeout(err_data);
- vs->set_ssl_file_name(empty_data);
+void virtualservice_tcp_get_ssl_parameter_clear(l7vs::vs_tcp *vs)
+{
+ std::string empty_data = "";
+ int err_data = -1;
+
+ // read param clear
+ vs->set_ca_dir(empty_data);
+ vs->set_ca_file(empty_data);
+ vs->set_cert_chain_dir(empty_data);
+ vs->set_cert_chain_file(empty_data);
+ vs->set_private_key_dir(empty_data);
+ vs->set_private_key_file(empty_data);
+ vs->set_private_key_filetype(DEFAULT_SSL_PRIVATE_KEY_FILETYPE);
+ vs->set_private_key_passwd_dir(empty_data);
+ vs->set_private_key_passwd_file(empty_data);
+ vs->set_verify_options(0);
+ vs->set_verify_cert_depth(err_data);
+ vs->set_ssl_options(0);
+ vs->set_is_tmp_dh_use(false);
+ vs->set_tmp_dh_dir(empty_data);
+ vs->set_tmp_dh_file(empty_data);
+ vs->set_cipher_list(empty_data);
+ vs->set_is_session_cache_use(false);
+ vs->set_session_cache_mode(err_data);
+ vs->set_session_cache_size(err_data);
+ vs->set_session_cache_timeout(err_data);
+ vs->set_handshake_timeout(err_data);
+ vs->set_ssl_file_name(empty_data);
}
// get_ssl_parameter test
-void virtualservice_tcp_get_ssl_parameter(){
- counter = 1;
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- //set element value
- element.udpmode = false;
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- element.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- element.realserver_vector.clear();
- element.protocol_module_name = "PMtest1";
- element.schedule_module_name = "SMtest1";
- element.protocol_args.clear();
- element.protocol_args.push_back( "testarg" );
- element.protocol_args.push_back( "testarg2" );
- element.sorry_maxconnection = 1234LL;
- element.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) );
- element.sorry_flag = false;
- element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- element.qos_upstream = 65535ULL;
- element.qos_downstream = 32767ULL;
-
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, element );
-
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( element == vs->get_element() );
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter normal case01" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter normal case01
- {
- // create config file
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
- int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE true
- std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
- int input_handshake_timeout = 30;
-
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file01.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
-
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
-
- ofs << "[ssl]\n";
- ofs << "ca_dir=\"" << input_ca_dir << "\"\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_dir=\"" << input_cert_chain_dir << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_dir=\"" << input_private_key_dir << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_filetype=\"" << input_private_key_filetype << "\"\n";
- ofs << "private_key_passwd_dir=\"" << input_private_key_passwd_dir << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "verify_options=\"" << "SSL_VERIFY_PEER" << "\"\n";
- ofs << "verify_options=\"" << "SSL_VERIFY_FAIL_IF_NO_PEER_CERT" << "\"\n";
- ofs << "verify_cert_depth=" << input_verify_cert_depth << "\n";
- ofs << "ssl_options=\"" << "SSL_OP_ALL" << "\"\n";
- ofs << "ssl_options=\"" << "SSL_OP_NO_SSLv2" << "\"\n";
- ofs << "ssl_options=\"" << "SSL_OP_SINGLE_DH_USE" << "\"\n";
- ofs << "tmp_dh_dir=\"" << input_tmp_dh_dir << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs << "cipher_list=\"" << input_cipher_list << "\"\n";
- ofs << "session_cache=\"" << "on" << "\"\n";
- ofs << "session_cache_size=" << input_session_cache_size << "\n";
- ofs << "session_cache_timeout=" << input_session_cache_timeout << "\n";
- ofs << "timeout_sec=" << input_handshake_timeout << "\n";
-
- ofs.close();
-
- vs->set_ssl_file_name(ssl_passwd_full_path);
-
- // unit_test[116] get_ssl_parameter normal case01
- bool return_ssl_config = vs->get_ssl_parameter();
-
- BOOST_CHECK_EQUAL( return_ssl_config, true );
- BOOST_CHECK_EQUAL( vs->get_ca_dir() , input_ca_dir );
- BOOST_CHECK_EQUAL( vs->get_ca_file() , input_ca_file );
- BOOST_CHECK_EQUAL( vs->get_cert_chain_dir() , input_cert_chain_dir );
- BOOST_CHECK_EQUAL( vs->get_cert_chain_file() , input_cert_chain_file );
- BOOST_CHECK_EQUAL( vs->get_private_key_dir() , input_private_key_dir );
- BOOST_CHECK_EQUAL( vs->get_private_key_file() , input_private_key_file );
- BOOST_CHECK( vs->get_private_key_filetype() == boost::asio::ssl::context::pem );
- BOOST_CHECK_EQUAL( vs->get_private_key_passwd_dir() , input_private_key_passwd_dir );
- BOOST_CHECK_EQUAL( vs->get_private_key_passwd_file() , input_private_key_passwd_file );
- BOOST_CHECK_EQUAL( vs->get_verify_options() , input_verify_options );
- BOOST_CHECK_EQUAL( vs->get_verify_cert_depth() , input_verify_cert_depth );
- BOOST_CHECK_EQUAL( vs->get_ssl_options() , input_ssl_options );
- BOOST_CHECK_EQUAL( vs->get_is_tmp_dh_use() , input_is_tmp_dh_use );
- BOOST_CHECK_EQUAL( vs->get_tmp_dh_dir() , input_tmp_dh_dir );
- BOOST_CHECK_EQUAL( vs->get_tmp_dh_file() , input_tmp_dh_file );
- BOOST_CHECK_EQUAL( vs->get_cipher_list() , input_cipher_list );
- BOOST_CHECK_EQUAL( vs->get_is_session_cache_use() , input_is_session_cache_use );
- BOOST_CHECK_EQUAL( vs->get_session_cache_mode() , input_session_cache_mode );
- BOOST_CHECK_EQUAL( vs->get_session_cache_size() , input_session_cache_size );
- BOOST_CHECK_EQUAL( vs->get_session_cache_timeout() , input_session_cache_timeout );
- BOOST_CHECK_EQUAL( vs->get_handshake_timeout() , input_handshake_timeout );
-
- unlink( ssl_passwd_full_path.c_str() );
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter normal case02 default data(err default root)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter normal case02 default data(err default root)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+void virtualservice_tcp_get_ssl_parameter()
+{
+ counter = 1;
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ //set element value
+ element.udpmode = false;
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ element.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ element.realserver_vector.clear();
+ element.protocol_module_name = "PMtest1";
+ element.schedule_module_name = "SMtest1";
+ element.protocol_args.clear();
+ element.protocol_args.push_back("testarg");
+ element.protocol_args.push_back("testarg2");
+ element.sorry_maxconnection = 1234LL;
+ element.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080));
+ element.sorry_flag = false;
+ element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ element.qos_upstream = 65535ULL;
+ element.qos_downstream = 32767ULL;
+
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, element);
+
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(element == vs->get_element());
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter normal case01" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter normal case01
+ {
+ // create config file
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+ int input_verify_options = (SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE true
+ std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
+ std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+ int input_handshake_timeout = 30;
+
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file01.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
+
+ ofs << "[ssl]\n";
+ ofs << "ca_dir=\"" << input_ca_dir << "\"\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_dir=\"" << input_cert_chain_dir << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_dir=\"" << input_private_key_dir << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_filetype=\"" << input_private_key_filetype << "\"\n";
+ ofs << "private_key_passwd_dir=\"" << input_private_key_passwd_dir << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "verify_options=\"" << "SSL_VERIFY_PEER" << "\"\n";
+ ofs << "verify_options=\"" << "SSL_VERIFY_FAIL_IF_NO_PEER_CERT" << "\"\n";
+ ofs << "verify_cert_depth=" << input_verify_cert_depth << "\n";
+ ofs << "ssl_options=\"" << "SSL_OP_ALL" << "\"\n";
+ ofs << "ssl_options=\"" << "SSL_OP_NO_SSLv2" << "\"\n";
+ ofs << "ssl_options=\"" << "SSL_OP_SINGLE_DH_USE" << "\"\n";
+ ofs << "tmp_dh_dir=\"" << input_tmp_dh_dir << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "cipher_list=\"" << input_cipher_list << "\"\n";
+ ofs << "session_cache=\"" << "on" << "\"\n";
+ ofs << "session_cache_size=" << input_session_cache_size << "\n";
+ ofs << "session_cache_timeout=" << input_session_cache_timeout << "\n";
+ ofs << "timeout_sec=" << input_handshake_timeout << "\n";
+
+ ofs.close();
+
+ vs->set_ssl_file_name(ssl_passwd_full_path);
+
+ // unit_test[116] get_ssl_parameter normal case01
+ bool return_ssl_config = vs->get_ssl_parameter();
+
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+ BOOST_CHECK_EQUAL(vs->get_ca_dir() , input_ca_dir);
+ BOOST_CHECK_EQUAL(vs->get_ca_file() , input_ca_file);
+ BOOST_CHECK_EQUAL(vs->get_cert_chain_dir() , input_cert_chain_dir);
+ BOOST_CHECK_EQUAL(vs->get_cert_chain_file() , input_cert_chain_file);
+ BOOST_CHECK_EQUAL(vs->get_private_key_dir() , input_private_key_dir);
+ BOOST_CHECK_EQUAL(vs->get_private_key_file() , input_private_key_file);
+ BOOST_CHECK(vs->get_private_key_filetype() == boost::asio::ssl::context::pem);
+ BOOST_CHECK_EQUAL(vs->get_private_key_passwd_dir() , input_private_key_passwd_dir);
+ BOOST_CHECK_EQUAL(vs->get_private_key_passwd_file() , input_private_key_passwd_file);
+ BOOST_CHECK_EQUAL(vs->get_verify_options() , input_verify_options);
+ BOOST_CHECK_EQUAL(vs->get_verify_cert_depth() , input_verify_cert_depth);
+ BOOST_CHECK_EQUAL(vs->get_ssl_options() , input_ssl_options);
+ BOOST_CHECK_EQUAL(vs->get_is_tmp_dh_use() , input_is_tmp_dh_use);
+ BOOST_CHECK_EQUAL(vs->get_tmp_dh_dir() , input_tmp_dh_dir);
+ BOOST_CHECK_EQUAL(vs->get_tmp_dh_file() , input_tmp_dh_file);
+ BOOST_CHECK_EQUAL(vs->get_cipher_list() , input_cipher_list);
+ BOOST_CHECK_EQUAL(vs->get_is_session_cache_use() , input_is_session_cache_use);
+ BOOST_CHECK_EQUAL(vs->get_session_cache_mode() , input_session_cache_mode);
+ BOOST_CHECK_EQUAL(vs->get_session_cache_size() , input_session_cache_size);
+ BOOST_CHECK_EQUAL(vs->get_session_cache_timeout() , input_session_cache_timeout);
+ BOOST_CHECK_EQUAL(vs->get_handshake_timeout() , input_handshake_timeout);
+
+ unlink(ssl_passwd_full_path.c_str());
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter normal case02 default data(err default root)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter normal case02 default data(err default root)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
+ bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true; // "on" deffault root is true
+ bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_size = 20480;
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file02.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
-
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
-
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
-
- ofs.close();
-
- vs->set_ssl_file_name(ssl_passwd_full_path);
-
- // unit_test[117] get_ssl_parameter normal case02 default data(err default root)
- bool return_ssl_config = vs->get_ssl_parameter();
-
- BOOST_CHECK_EQUAL( return_ssl_config, true );
- BOOST_CHECK_EQUAL( vs->get_ca_dir() , DEFAULT_SSL_CA_DIR );
- BOOST_CHECK_EQUAL( vs->get_ca_file() , input_ca_file );
- BOOST_CHECK_EQUAL( vs->get_cert_chain_dir() , DEFAULT_SSL_CERT_CHAIN_DIR );
- BOOST_CHECK_EQUAL( vs->get_cert_chain_file() , input_cert_chain_file );
- BOOST_CHECK_EQUAL( vs->get_private_key_dir() , DEFAULT_SSL_PRIVATE_KEY_DIR );
- BOOST_CHECK_EQUAL( vs->get_private_key_file() , input_private_key_file );
- BOOST_CHECK( vs->get_private_key_filetype() == DEFAULT_SSL_PRIVATE_KEY_FILETYPE );
- BOOST_CHECK_EQUAL( vs->get_private_key_passwd_dir() , DEFAULT_SSL_PRIVATE_KEY_PASSWD_DIR );
- BOOST_CHECK_EQUAL( vs->get_private_key_passwd_file() , input_private_key_passwd_file );
- BOOST_CHECK_EQUAL( vs->get_verify_options() , DEFAULT_SSL_VERIFY_OPTIONS );
- BOOST_CHECK_EQUAL( vs->get_verify_cert_depth() , DEFAULT_SSL_VERIFY_CERT_DEPTH );
- BOOST_CHECK_EQUAL( vs->get_ssl_options() , DEFAULT_SSL_OPTIONS );
- BOOST_CHECK_EQUAL( vs->get_is_tmp_dh_use() , input_is_tmp_dh_use );
- BOOST_CHECK_EQUAL( vs->get_tmp_dh_dir() , DEFAULT_SSL_TMP_DH_DIR );
- BOOST_CHECK_EQUAL( vs->get_tmp_dh_file() , input_tmp_dh_file );
- BOOST_CHECK_EQUAL( vs->get_cipher_list() , DEFAULT_SSL_CIPHER_LIST );
- BOOST_CHECK_EQUAL( vs->get_is_session_cache_use() , input_is_session_cache_use );
- BOOST_CHECK_EQUAL( vs->get_session_cache_mode() , DEFAULT_SSL_SESSION_CACHE_MODE );
- BOOST_CHECK_EQUAL( vs->get_session_cache_size() , DEFAULT_SSL_SESSION_CACHE_SIZE );
- BOOST_CHECK_EQUAL( vs->get_session_cache_timeout() , DEFAULT_SSL_SESSION_CACHE_TIMEOUT );
- BOOST_CHECK_EQUAL( vs->get_handshake_timeout() , DEFAULT_SSL_HANDSHAKE_TIMEOUT );
-
- unlink( ssl_passwd_full_path.c_str() );
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter normal case03 default data(empty default root)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter normal case03 default data(empty default root)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file02.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
+
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+
+ ofs.close();
+
+ vs->set_ssl_file_name(ssl_passwd_full_path);
+
+ // unit_test[117] get_ssl_parameter normal case02 default data(err default root)
+ bool return_ssl_config = vs->get_ssl_parameter();
+
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+ BOOST_CHECK_EQUAL(vs->get_ca_dir() , DEFAULT_SSL_CA_DIR);
+ BOOST_CHECK_EQUAL(vs->get_ca_file() , input_ca_file);
+ BOOST_CHECK_EQUAL(vs->get_cert_chain_dir() , DEFAULT_SSL_CERT_CHAIN_DIR);
+ BOOST_CHECK_EQUAL(vs->get_cert_chain_file() , input_cert_chain_file);
+ BOOST_CHECK_EQUAL(vs->get_private_key_dir() , DEFAULT_SSL_PRIVATE_KEY_DIR);
+ BOOST_CHECK_EQUAL(vs->get_private_key_file() , input_private_key_file);
+ BOOST_CHECK(vs->get_private_key_filetype() == DEFAULT_SSL_PRIVATE_KEY_FILETYPE);
+ BOOST_CHECK_EQUAL(vs->get_private_key_passwd_dir() , DEFAULT_SSL_PRIVATE_KEY_PASSWD_DIR);
+ BOOST_CHECK_EQUAL(vs->get_private_key_passwd_file() , input_private_key_passwd_file);
+ BOOST_CHECK_EQUAL(vs->get_verify_options() , DEFAULT_SSL_VERIFY_OPTIONS);
+ BOOST_CHECK_EQUAL(vs->get_verify_cert_depth() , DEFAULT_SSL_VERIFY_CERT_DEPTH);
+ BOOST_CHECK_EQUAL(vs->get_ssl_options() , DEFAULT_SSL_OPTIONS);
+ BOOST_CHECK_EQUAL(vs->get_is_tmp_dh_use() , input_is_tmp_dh_use);
+ BOOST_CHECK_EQUAL(vs->get_tmp_dh_dir() , DEFAULT_SSL_TMP_DH_DIR);
+ BOOST_CHECK_EQUAL(vs->get_tmp_dh_file() , input_tmp_dh_file);
+ BOOST_CHECK_EQUAL(vs->get_cipher_list() , DEFAULT_SSL_CIPHER_LIST);
+ BOOST_CHECK_EQUAL(vs->get_is_session_cache_use() , input_is_session_cache_use);
+ BOOST_CHECK_EQUAL(vs->get_session_cache_mode() , DEFAULT_SSL_SESSION_CACHE_MODE);
+ BOOST_CHECK_EQUAL(vs->get_session_cache_size() , DEFAULT_SSL_SESSION_CACHE_SIZE);
+ BOOST_CHECK_EQUAL(vs->get_session_cache_timeout() , DEFAULT_SSL_SESSION_CACHE_TIMEOUT);
+ BOOST_CHECK_EQUAL(vs->get_handshake_timeout() , DEFAULT_SSL_HANDSHAKE_TIMEOUT);
+
+ unlink(ssl_passwd_full_path.c_str());
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter normal case03 default data(empty default root)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter normal case03 default data(empty default root)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
- int input_verify_options = SSL_VERIFY_PEER;
- int input_verify_cert_depth = 4;
+ std::string input_private_key_passwd_file = "passwd.txt";
+ int input_verify_options = SSL_VERIFY_PEER;
+ int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
+ bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true; // "on" deffault root is true
+ bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
- int input_handshake_timeout = 30;
-
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file03.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
-
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
-
- ofs << "[ssl]\n";
- ofs << "ca_dir=\"" << "\"\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_dir=\"" << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_dir=\"" << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_filetype=\"" << "\"\n";
- ofs << "private_key_passwd_dir=\"" << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "verify_options=\"" << "SSL_VERIFY_PEER" << "\"\n";
- ofs << "verify_cert_depth=" << input_verify_cert_depth << "\n";
- ofs << "tmp_dh_dir=\"" << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs << "cipher_list=\"" << "\"\n";
- ofs << "session_cache=\"" << "\"\n";
- ofs << "session_cache_size=" << input_session_cache_size << "\n";
- ofs << "session_cache_timeout=" << input_session_cache_timeout << "\n";
- ofs << "timeout_sec=" << input_handshake_timeout << "\n";
-
- ofs.close();
-
- vs->set_ssl_file_name(ssl_passwd_full_path);
-
- // unit_test[118] get_ssl_parameter normal case03 default data(empty default root)
- bool return_ssl_config = vs->get_ssl_parameter();
-
- BOOST_CHECK_EQUAL( return_ssl_config, true );
- BOOST_CHECK_EQUAL( vs->get_ca_dir() , DEFAULT_SSL_CA_DIR );
- BOOST_CHECK_EQUAL( vs->get_ca_file() , input_ca_file );
- BOOST_CHECK_EQUAL( vs->get_cert_chain_dir() , DEFAULT_SSL_CERT_CHAIN_DIR );
- BOOST_CHECK_EQUAL( vs->get_cert_chain_file() , input_cert_chain_file );
- BOOST_CHECK_EQUAL( vs->get_private_key_dir() , DEFAULT_SSL_PRIVATE_KEY_DIR );
- BOOST_CHECK_EQUAL( vs->get_private_key_file() , input_private_key_file );
- BOOST_CHECK( vs->get_private_key_filetype() == DEFAULT_SSL_PRIVATE_KEY_FILETYPE );
- BOOST_CHECK_EQUAL( vs->get_private_key_passwd_dir() , DEFAULT_SSL_PRIVATE_KEY_PASSWD_DIR );
- BOOST_CHECK_EQUAL( vs->get_private_key_passwd_file() , input_private_key_passwd_file );
- BOOST_CHECK_EQUAL( vs->get_verify_options() , input_verify_options );
- BOOST_CHECK_EQUAL( vs->get_verify_cert_depth() , input_verify_cert_depth );
- BOOST_CHECK_EQUAL( vs->get_ssl_options() , DEFAULT_SSL_OPTIONS );
- BOOST_CHECK_EQUAL( vs->get_is_tmp_dh_use() , input_is_tmp_dh_use );
- BOOST_CHECK_EQUAL( vs->get_tmp_dh_dir() , DEFAULT_SSL_TMP_DH_DIR );
- BOOST_CHECK_EQUAL( vs->get_tmp_dh_file() , input_tmp_dh_file );
- BOOST_CHECK_EQUAL( vs->get_cipher_list() , DEFAULT_SSL_CIPHER_LIST );
- BOOST_CHECK_EQUAL( vs->get_is_session_cache_use() , input_is_session_cache_use );
- BOOST_CHECK_EQUAL( vs->get_session_cache_mode() , DEFAULT_SSL_SESSION_CACHE_MODE );
- BOOST_CHECK_EQUAL( vs->get_session_cache_size() , input_session_cache_size );
- BOOST_CHECK_EQUAL( vs->get_session_cache_timeout() , input_session_cache_timeout );
- BOOST_CHECK_EQUAL( vs->get_handshake_timeout() , input_handshake_timeout );
-
- unlink( ssl_passwd_full_path.c_str() );
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter normal case04 (filetype_str,cache_str variation)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter normal case04 (filetype_str,cache_str variation)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
-
- // create config file
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- std::string input_private_key_filetype = "SSL_FILETYPE_ASN1";
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
- int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE true
- std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = false;
- int input_handshake_timeout = 30;
-
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file04.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
-
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
-
- ofs << "[ssl]\n";
- ofs << "ca_dir=\"" << input_ca_dir << "\"\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_dir=\"" << input_cert_chain_dir << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_dir=\"" << input_private_key_dir << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_filetype=\"" << input_private_key_filetype << "\"\n";
- ofs << "private_key_passwd_dir=\"" << input_private_key_passwd_dir << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "verify_options=\"" << "SSL_VERIFY_PEER" << "\"\n";
- ofs << "verify_options=\"" << "SSL_VERIFY_FAIL_IF_NO_PEER_CERT" << "\"\n";
- ofs << "verify_cert_depth=" << input_verify_cert_depth << "\n";
- ofs << "ssl_options=\"" << "SSL_OP_ALL" << "\"\n";
- ofs << "ssl_options=\"" << "SSL_OP_NO_SSLv2" << "\"\n";
- ofs << "ssl_options=\"" << "SSL_OP_SINGLE_DH_USE" << "\"\n";
- ofs << "tmp_dh_dir=\"" << input_tmp_dh_dir << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs << "cipher_list=\"" << input_cipher_list << "\"\n";
- ofs << "session_cache=\"" << "off" << "\"\n";
- ofs << "timeout_sec=" << input_handshake_timeout << "\n";
-
- ofs.close();
-
- vs->set_ssl_file_name(ssl_passwd_full_path);
-
- // unit_test[119] get_ssl_parameter normal case04 (filetype_str,cache_str variation)
- bool return_ssl_config = vs->get_ssl_parameter();
-
- BOOST_CHECK_EQUAL( return_ssl_config, true );
- BOOST_CHECK_EQUAL( vs->get_ca_dir() , input_ca_dir );
- BOOST_CHECK_EQUAL( vs->get_ca_file() , input_ca_file );
- BOOST_CHECK_EQUAL( vs->get_cert_chain_dir() , input_cert_chain_dir );
- BOOST_CHECK_EQUAL( vs->get_cert_chain_file() , input_cert_chain_file );
- BOOST_CHECK_EQUAL( vs->get_private_key_dir() , input_private_key_dir );
- BOOST_CHECK_EQUAL( vs->get_private_key_file() , input_private_key_file );
- BOOST_CHECK( vs->get_private_key_filetype() == boost::asio::ssl::context::asn1 );
- BOOST_CHECK_EQUAL( vs->get_private_key_passwd_dir() , input_private_key_passwd_dir );
- BOOST_CHECK_EQUAL( vs->get_private_key_passwd_file() , input_private_key_passwd_file );
- BOOST_CHECK_EQUAL( vs->get_verify_options() , input_verify_options );
- BOOST_CHECK_EQUAL( vs->get_verify_cert_depth() , input_verify_cert_depth );
- BOOST_CHECK_EQUAL( vs->get_ssl_options() , input_ssl_options );
- BOOST_CHECK_EQUAL( vs->get_is_tmp_dh_use() , input_is_tmp_dh_use );
- BOOST_CHECK_EQUAL( vs->get_tmp_dh_dir() , input_tmp_dh_dir );
- BOOST_CHECK_EQUAL( vs->get_tmp_dh_file() , input_tmp_dh_file );
- BOOST_CHECK_EQUAL( vs->get_cipher_list() , input_cipher_list );
- BOOST_CHECK_EQUAL( vs->get_is_session_cache_use() , input_is_session_cache_use );
- BOOST_CHECK_EQUAL( vs->get_handshake_timeout() , input_handshake_timeout );
-
- unlink( ssl_passwd_full_path.c_str() );
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (no file)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (no file)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
-
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file05.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
-
- vs->set_ssl_file_name(ssl_passwd_full_path);
-
- // unit_test[120] get_ssl_parameter err (no file)
- bool return_ssl_config = vs->get_ssl_parameter();
-
- BOOST_CHECK_EQUAL( return_ssl_config, false );
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (ca_file err)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (ca_file err)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+ int input_handshake_timeout = 30;
+
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file03.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
+
+ ofs << "[ssl]\n";
+ ofs << "ca_dir=\"" << "\"\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_dir=\"" << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_dir=\"" << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_filetype=\"" << "\"\n";
+ ofs << "private_key_passwd_dir=\"" << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "verify_options=\"" << "SSL_VERIFY_PEER" << "\"\n";
+ ofs << "verify_cert_depth=" << input_verify_cert_depth << "\n";
+ ofs << "tmp_dh_dir=\"" << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "cipher_list=\"" << "\"\n";
+ ofs << "session_cache=\"" << "\"\n";
+ ofs << "session_cache_size=" << input_session_cache_size << "\n";
+ ofs << "session_cache_timeout=" << input_session_cache_timeout << "\n";
+ ofs << "timeout_sec=" << input_handshake_timeout << "\n";
+
+ ofs.close();
+
+ vs->set_ssl_file_name(ssl_passwd_full_path);
+
+ // unit_test[118] get_ssl_parameter normal case03 default data(empty default root)
+ bool return_ssl_config = vs->get_ssl_parameter();
+
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+ BOOST_CHECK_EQUAL(vs->get_ca_dir() , DEFAULT_SSL_CA_DIR);
+ BOOST_CHECK_EQUAL(vs->get_ca_file() , input_ca_file);
+ BOOST_CHECK_EQUAL(vs->get_cert_chain_dir() , DEFAULT_SSL_CERT_CHAIN_DIR);
+ BOOST_CHECK_EQUAL(vs->get_cert_chain_file() , input_cert_chain_file);
+ BOOST_CHECK_EQUAL(vs->get_private_key_dir() , DEFAULT_SSL_PRIVATE_KEY_DIR);
+ BOOST_CHECK_EQUAL(vs->get_private_key_file() , input_private_key_file);
+ BOOST_CHECK(vs->get_private_key_filetype() == DEFAULT_SSL_PRIVATE_KEY_FILETYPE);
+ BOOST_CHECK_EQUAL(vs->get_private_key_passwd_dir() , DEFAULT_SSL_PRIVATE_KEY_PASSWD_DIR);
+ BOOST_CHECK_EQUAL(vs->get_private_key_passwd_file() , input_private_key_passwd_file);
+ BOOST_CHECK_EQUAL(vs->get_verify_options() , input_verify_options);
+ BOOST_CHECK_EQUAL(vs->get_verify_cert_depth() , input_verify_cert_depth);
+ BOOST_CHECK_EQUAL(vs->get_ssl_options() , DEFAULT_SSL_OPTIONS);
+ BOOST_CHECK_EQUAL(vs->get_is_tmp_dh_use() , input_is_tmp_dh_use);
+ BOOST_CHECK_EQUAL(vs->get_tmp_dh_dir() , DEFAULT_SSL_TMP_DH_DIR);
+ BOOST_CHECK_EQUAL(vs->get_tmp_dh_file() , input_tmp_dh_file);
+ BOOST_CHECK_EQUAL(vs->get_cipher_list() , DEFAULT_SSL_CIPHER_LIST);
+ BOOST_CHECK_EQUAL(vs->get_is_session_cache_use() , input_is_session_cache_use);
+ BOOST_CHECK_EQUAL(vs->get_session_cache_mode() , DEFAULT_SSL_SESSION_CACHE_MODE);
+ BOOST_CHECK_EQUAL(vs->get_session_cache_size() , input_session_cache_size);
+ BOOST_CHECK_EQUAL(vs->get_session_cache_timeout() , input_session_cache_timeout);
+ BOOST_CHECK_EQUAL(vs->get_handshake_timeout() , input_handshake_timeout);
+
+ unlink(ssl_passwd_full_path.c_str());
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter normal case04 (filetype_str,cache_str variation)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter normal case04 (filetype_str,cache_str variation)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
+
+ // create config file
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ std::string input_private_key_filetype = "SSL_FILETYPE_ASN1";
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+ int input_verify_options = (SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE true
+ std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
+ std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = false;
+ int input_handshake_timeout = 30;
+
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file04.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
+
+ ofs << "[ssl]\n";
+ ofs << "ca_dir=\"" << input_ca_dir << "\"\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_dir=\"" << input_cert_chain_dir << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_dir=\"" << input_private_key_dir << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_filetype=\"" << input_private_key_filetype << "\"\n";
+ ofs << "private_key_passwd_dir=\"" << input_private_key_passwd_dir << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "verify_options=\"" << "SSL_VERIFY_PEER" << "\"\n";
+ ofs << "verify_options=\"" << "SSL_VERIFY_FAIL_IF_NO_PEER_CERT" << "\"\n";
+ ofs << "verify_cert_depth=" << input_verify_cert_depth << "\n";
+ ofs << "ssl_options=\"" << "SSL_OP_ALL" << "\"\n";
+ ofs << "ssl_options=\"" << "SSL_OP_NO_SSLv2" << "\"\n";
+ ofs << "ssl_options=\"" << "SSL_OP_SINGLE_DH_USE" << "\"\n";
+ ofs << "tmp_dh_dir=\"" << input_tmp_dh_dir << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "cipher_list=\"" << input_cipher_list << "\"\n";
+ ofs << "session_cache=\"" << "off" << "\"\n";
+ ofs << "timeout_sec=" << input_handshake_timeout << "\n";
+
+ ofs.close();
+
+ vs->set_ssl_file_name(ssl_passwd_full_path);
+
+ // unit_test[119] get_ssl_parameter normal case04 (filetype_str,cache_str variation)
+ bool return_ssl_config = vs->get_ssl_parameter();
+
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+ BOOST_CHECK_EQUAL(vs->get_ca_dir() , input_ca_dir);
+ BOOST_CHECK_EQUAL(vs->get_ca_file() , input_ca_file);
+ BOOST_CHECK_EQUAL(vs->get_cert_chain_dir() , input_cert_chain_dir);
+ BOOST_CHECK_EQUAL(vs->get_cert_chain_file() , input_cert_chain_file);
+ BOOST_CHECK_EQUAL(vs->get_private_key_dir() , input_private_key_dir);
+ BOOST_CHECK_EQUAL(vs->get_private_key_file() , input_private_key_file);
+ BOOST_CHECK(vs->get_private_key_filetype() == boost::asio::ssl::context::asn1);
+ BOOST_CHECK_EQUAL(vs->get_private_key_passwd_dir() , input_private_key_passwd_dir);
+ BOOST_CHECK_EQUAL(vs->get_private_key_passwd_file() , input_private_key_passwd_file);
+ BOOST_CHECK_EQUAL(vs->get_verify_options() , input_verify_options);
+ BOOST_CHECK_EQUAL(vs->get_verify_cert_depth() , input_verify_cert_depth);
+ BOOST_CHECK_EQUAL(vs->get_ssl_options() , input_ssl_options);
+ BOOST_CHECK_EQUAL(vs->get_is_tmp_dh_use() , input_is_tmp_dh_use);
+ BOOST_CHECK_EQUAL(vs->get_tmp_dh_dir() , input_tmp_dh_dir);
+ BOOST_CHECK_EQUAL(vs->get_tmp_dh_file() , input_tmp_dh_file);
+ BOOST_CHECK_EQUAL(vs->get_cipher_list() , input_cipher_list);
+ BOOST_CHECK_EQUAL(vs->get_is_session_cache_use() , input_is_session_cache_use);
+ BOOST_CHECK_EQUAL(vs->get_handshake_timeout() , input_handshake_timeout);
+
+ unlink(ssl_passwd_full_path.c_str());
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (no file)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (no file)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
+
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file05.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+
+ vs->set_ssl_file_name(ssl_passwd_full_path);
+
+ // unit_test[120] get_ssl_parameter err (no file)
+ bool return_ssl_config = vs->get_ssl_parameter();
+
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (ca_file err)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (ca_file err)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
//! std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file06.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file06.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
+ ofs << "[ssl]\n";
//! ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[121] get_ssl_parameter check(ca_file err)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[121] get_ssl_parameter check(ca_file err)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (cert_chain_file err)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (cert_chain_file err)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (cert_chain_file err)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (cert_chain_file err)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
//! std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file07.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file07.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
//! ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[122] get_ssl_parameter check(cert_chain_file err)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[122] get_ssl_parameter check(cert_chain_file err)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (cert_chain_file empty)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (cert_chain_file empty)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (cert_chain_file empty)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (cert_chain_file empty)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "";
+ std::string input_cert_chain_file = "";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file08.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file08.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[123] get_ssl_parameter check(cert_chain_file empty)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[123] get_ssl_parameter check(cert_chain_file empty)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (private_key_file err)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (private_key_file err)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (private_key_file err)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (private_key_file err)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
//! std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file09.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file09.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
//! ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[124] get_ssl_parameter check(private_key_file err)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[124] get_ssl_parameter check(private_key_file err)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (private_key_file empty)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (private_key_file empty)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (private_key_file empty)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (private_key_file empty)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "";
+ std::string input_private_key_file = "";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file10.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file10.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[125] get_ssl_parameter check(private_key_file empty)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[125] get_ssl_parameter check(private_key_file empty)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (other filetype_str)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (other filetype_str)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (other filetype_str)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (other filetype_str)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- std::string input_private_key_filetype = "SSL_FILETYPE_HOGE";
+ std::string input_private_key_file = "server.key";
+ std::string input_private_key_filetype = "SSL_FILETYPE_HOGE";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file11.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file11.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_filetype=\"" << input_private_key_filetype << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_filetype=\"" << input_private_key_filetype << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[126] get_ssl_parameter check(other filetype_str)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[126] get_ssl_parameter check(other filetype_str)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (private_key_passwd_file err)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (private_key_passwd_file err)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (private_key_passwd_file err)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (private_key_passwd_file err)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
//! std::string input_private_key_passwd_file = "passwd.txt";
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file12.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file12.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
//! ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[127] get_ssl_parameter check(private_key_passwd_file err)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[127] get_ssl_parameter check(private_key_passwd_file err)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (private_key_passwd_file empty)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (private_key_passwd_file empty)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (private_key_passwd_file empty)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (private_key_passwd_file empty)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "";
+ std::string input_private_key_passwd_file = "";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file13.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file13.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[128] get_ssl_parameter check(private_key_passwd_file empty)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[128] get_ssl_parameter check(private_key_passwd_file empty)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (other verify_option)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (other verify_option)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (other verify_option)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (other verify_option)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file14.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file14.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "verify_options=\"" << "SSL_VERIFY_HOGE" << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "verify_options=\"" << "SSL_VERIFY_HOGE" << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[129] get_ssl_parameter check(other verify_option)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[129] get_ssl_parameter check(other verify_option)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (verify_cert_depth MIN)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (verify_cert_depth MIN)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (verify_cert_depth MIN)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (verify_cert_depth MIN)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
- int input_verify_cert_depth = -1;
+ int input_verify_cert_depth = -1;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file15.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file15.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "verify_cert_depth=" << input_verify_cert_depth << "\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "verify_cert_depth=" << input_verify_cert_depth << "\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[130] get_ssl_parameter check(verify_cert_depth MIN)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[130] get_ssl_parameter check(verify_cert_depth MIN)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (verify_cert_depth MAX)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (verify_cert_depth MAX)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (verify_cert_depth MAX)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (verify_cert_depth MAX)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
- int input_verify_cert_depth = INT_MAX;
+ int input_verify_cert_depth = INT_MAX;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file16.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file16.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "verify_cert_depth=" << input_verify_cert_depth << "0000000\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "verify_cert_depth=" << input_verify_cert_depth << "0000000\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // MAX over case confirmation on a desk
- // MAX case
- // unit_test[131] get_ssl_parameter check(verify_cert_depth MAX)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // MAX over case confirmation on a desk
+ // MAX case
+ // unit_test[131] get_ssl_parameter check(verify_cert_depth MAX)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, true );
- BOOST_CHECK_EQUAL( vs->get_verify_cert_depth() , DEFAULT_SSL_VERIFY_CERT_DEPTH );
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+ BOOST_CHECK_EQUAL(vs->get_verify_cert_depth() , DEFAULT_SSL_VERIFY_CERT_DEPTH);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (tmp_dh_file err)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (tmp_dh_file err)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (tmp_dh_file err)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (tmp_dh_file err)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file17.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file17.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
//! ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[132] get_ssl_parameter check(tmp_dh_file err)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[132] get_ssl_parameter check(tmp_dh_file err)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (tmp_dh_file empty)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (tmp_dh_file empty)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (tmp_dh_file empty)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (tmp_dh_file empty)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "";
+ std::string input_tmp_dh_file = "";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file18.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file18.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[133] get_ssl_parameter check(tmp_dh_file empty)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[133] get_ssl_parameter check(tmp_dh_file empty)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (other cache_str)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (other cache_str)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (other cache_str)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (other cache_str)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file19.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file19.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs << "session_cache=\"" << "hoge" << "\"\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "session_cache=\"" << "hoge" << "\"\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[134] get_ssl_parameter check(other cache_str)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[134] get_ssl_parameter check(other cache_str)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (session_cache_size MIN)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (session_cache_size MIN)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (session_cache_size MIN)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (session_cache_size MIN)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = -1;
+ long input_session_cache_size = -1;
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file20.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file20.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs << "session_cache_size=" << input_session_cache_size << "\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "session_cache_size=" << input_session_cache_size << "\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[135] get_ssl_parameter check(session_cache_size MIN)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[135] get_ssl_parameter check(session_cache_size MIN)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (session_cache_size MAX)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (session_cache_size MAX)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (session_cache_size MAX)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (session_cache_size MAX)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = INT_MAX;
+ long input_session_cache_size = INT_MAX;
// long input_session_cache_timeout = 300;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file21.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file21.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs << "session_cache_size=" << input_session_cache_size << "0000000\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "session_cache_size=" << input_session_cache_size << "0000000\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // MAX over case confirmation on a desk
- // MAX case
- // unit_test[136] get_ssl_parameter check(session_cache_size MAX)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // MAX over case confirmation on a desk
+ // MAX case
+ // unit_test[136] get_ssl_parameter check(session_cache_size MAX)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, true );
- BOOST_CHECK_EQUAL( vs->get_session_cache_size() , DEFAULT_SSL_SESSION_CACHE_SIZE );
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+ BOOST_CHECK_EQUAL(vs->get_session_cache_size() , DEFAULT_SSL_SESSION_CACHE_SIZE);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (session_cache_timeout MIN)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (session_cache_timeout MIN)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (session_cache_timeout MIN)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (session_cache_timeout MIN)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_size = 20480;
- long input_session_cache_timeout = -1;
+ long input_session_cache_timeout = -1;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file22.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file22.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs << "session_cache_timeout=" << input_session_cache_timeout << "\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "session_cache_timeout=" << input_session_cache_timeout << "\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[137] get_ssl_parameter check(session_cache_timeout MIN)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[137] get_ssl_parameter check(session_cache_timeout MIN)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (session_cache_timeout MAX)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (session_cache_timeout MAX)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (session_cache_timeout MAX)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (session_cache_timeout MAX)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_size = 20480;
- long input_session_cache_timeout = INT_MAX;
+ long input_session_cache_timeout = INT_MAX;
// int input_handshake_timeout = 30;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file23.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file23.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs << "session_cache_timeout=" << input_session_cache_timeout << "00000\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "session_cache_timeout=" << input_session_cache_timeout << "00000\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // MAX over case confirmation on a desk
- // MAX case
- // unit_test[138] get_ssl_parameter check(session_cache_timeout MAX)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // MAX over case confirmation on a desk
+ // MAX case
+ // unit_test[138] get_ssl_parameter check(session_cache_timeout MAX)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, true );
- BOOST_CHECK_EQUAL( vs->get_session_cache_timeout() , DEFAULT_SSL_SESSION_CACHE_TIMEOUT );
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+ BOOST_CHECK_EQUAL(vs->get_session_cache_timeout() , DEFAULT_SSL_SESSION_CACHE_TIMEOUT);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (handshake_timeout MIN)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (handshake_timeout MIN)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (handshake_timeout MIN)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (handshake_timeout MIN)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_size = 20480;
// long input_session_cache_timeout = 300;
- int input_handshake_timeout = -1;
+ int input_handshake_timeout = -1;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file24.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file24.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs << "timeout_sec=" << input_handshake_timeout << "\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "timeout_sec=" << input_handshake_timeout << "\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // unit_test[139] get_ssl_parameter check(handshake_timeout MIN)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // unit_test[139] get_ssl_parameter check(handshake_timeout MIN)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, false );
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "get_ssl_parameter err (handshake_timeout MAX)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // get_ssl_parameter err (handshake_timeout MAX)
- {
- // read parameter clear
- virtualservice_tcp_get_ssl_parameter_clear(vs);
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "get_ssl_parameter err (handshake_timeout MAX)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // get_ssl_parameter err (handshake_timeout MAX)
+ {
+ // read parameter clear
+ virtualservice_tcp_get_ssl_parameter_clear(vs);
// std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_file = "CAfile.pem";
// std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
+ std::string input_cert_chain_file = "cert.pem";
// std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
+ std::string input_private_key_file = "server.key";
// std::string input_private_key_filetype = "SSL_FILETYPE_PEM";
// std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
+ std::string input_private_key_passwd_file = "passwd.txt";
// int input_verify_options = (SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT);
// int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
// bool input_is_tmp_dh_use = true; // SSL_OP_SINGLE_DH_USE or defalut root is true
// std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_tmp_dh_file = "dh512.pem";
// std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
// bool input_is_session_cache_use = true; // "on" deffault root is true
// long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
// long input_session_cache_size = 20480;
// long input_session_cache_timeout = 300;
- int input_handshake_timeout = INT_MAX;
+ int input_handshake_timeout = INT_MAX;
- std::string ssl_passwd = "test";
- std::string ssl_passwd_dir = "./sslfiles/";
- std::string ssl_passwd_file = "ssl_password_file25.cf";
- std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
+ std::string ssl_passwd = "test";
+ std::string ssl_passwd_dir = "./sslfiles/";
+ std::string ssl_passwd_file = "ssl_password_file25.cf";
+ std::string ssl_passwd_full_path = ssl_passwd_dir + ssl_passwd_file;
- std::ofstream ofs( ssl_passwd_full_path.c_str() );
+ std::ofstream ofs(ssl_passwd_full_path.c_str());
- ofs << "[ssl]\n";
- ofs << "ca_file=\"" << input_ca_file << "\"\n";
- ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
- ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
- ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
- ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
- ofs << "timeout_sec=" << input_handshake_timeout << "00000\n";
+ ofs << "[ssl]\n";
+ ofs << "ca_file=\"" << input_ca_file << "\"\n";
+ ofs << "cert_chain_file=\"" << input_cert_chain_file << "\"\n";
+ ofs << "private_key_file=\"" << input_private_key_file << "\"\n";
+ ofs << "private_key_passwd_file=\"" << input_private_key_passwd_file << "\"\n";
+ ofs << "tmp_dh_file=\"" << input_tmp_dh_file << "\"\n";
+ ofs << "timeout_sec=" << input_handshake_timeout << "00000\n";
- ofs.close();
+ ofs.close();
- vs->set_ssl_file_name(ssl_passwd_full_path);
+ vs->set_ssl_file_name(ssl_passwd_full_path);
- // MAX over case confirmation on a desk
- // MAX case
- // unit_test[140] get_ssl_parameter check(handshake_timeout MAX)
- bool return_ssl_config = vs->get_ssl_parameter();
+ // MAX over case confirmation on a desk
+ // MAX case
+ // unit_test[140] get_ssl_parameter check(handshake_timeout MAX)
+ bool return_ssl_config = vs->get_ssl_parameter();
- BOOST_CHECK_EQUAL( return_ssl_config, true );
- BOOST_CHECK_EQUAL( vs->get_handshake_timeout() , DEFAULT_SSL_HANDSHAKE_TIMEOUT );
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+ BOOST_CHECK_EQUAL(vs->get_handshake_timeout() , DEFAULT_SSL_HANDSHAKE_TIMEOUT);
- unlink( ssl_passwd_full_path.c_str() );
+ unlink(ssl_passwd_full_path.c_str());
- }
+ }
- BOOST_MESSAGE( "-------??" );
- delete vs;
+ BOOST_MESSAGE("-------??");
+ delete vs;
}
// set_ssl_config test
-void virtualservice_tcp_set_ssl_config(){
- counter = 1;
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- //set element value
- element.udpmode = false;
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- element.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- element.realserver_vector.clear();
- element.protocol_module_name = "PMtest1";
- element.schedule_module_name = "SMtest1";
- element.protocol_args.clear();
- element.protocol_args.push_back( "testarg" );
- element.protocol_args.push_back( "testarg2" );
- element.sorry_maxconnection = 1234LL;
- element.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) );
- element.sorry_flag = false;
- element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- element.qos_upstream = 65535ULL;
- element.qos_downstream = 32767ULL;
-
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, element );
-
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( element == vs->get_element() );
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config normal case01" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config normal case01
- {
- std::string input_ca_file = "CAfile.pem";
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
- int input_verify_options = SSL_VERIFY_PEER;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
-
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = false;
- std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- //! set_ssl_config return data
- // unit_test[141] set_ssl_config normal case01
- BOOST_CHECK_EQUAL( return_ssl_config, true );
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config normal case02 (no ca_file)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config normal case02 (no ca_file)
- {
-
- std::string input_ca_file = "";
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
- int input_verify_options = SSL_VERIFY_PEER;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
-
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2);
- bool input_is_tmp_dh_use = false;
- std::string input_tmp_dh_dir = "";
- std::string input_tmp_dh_file = "";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- //! set_ssl_config return data
- // unit_test[142] set_ssl_config normal case02 (no ca_file)
- BOOST_CHECK_EQUAL( return_ssl_config, true );
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config error (no ca_file,no_ca_dir)" << std::endl;
- std::cout << " target : Set root CA path error" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config error (no ca_file,no_ca_dir)
- {
-
- std::string input_ca_file = "";
- std::string input_ca_dir = "";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
- int input_verify_options = SSL_VERIFY_PEER;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
-
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2);
- bool input_is_tmp_dh_use = false;
- std::string input_tmp_dh_dir = "";
- std::string input_tmp_dh_file = "";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- //! set_ssl_config return data
- // unit_test[143] set_ssl_config error (no ca_file,no ca_dir)
- BOOST_CHECK_EQUAL( return_ssl_config, false );
- // LOG:Set root CA path error
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config error (no ca_dir)" << std::endl;
- std::cout << " target : Set root CA file error" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config error (no_ca_dir)
- {
-
- std::string input_ca_file = "CAfile.pem";
- std::string input_ca_dir = "";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
- int input_verify_options = SSL_VERIFY_PEER;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
-
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2);
- bool input_is_tmp_dh_use = false;
- std::string input_tmp_dh_dir = "";
- std::string input_tmp_dh_file = "";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- //! set_ssl_config return data
- // unit_test[144] set_ssl_config error (no_ca_dir)
- BOOST_CHECK_EQUAL( return_ssl_config, false );
- // LOG:Set root CA file error
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config error (chain file)" << std::endl;
- std::cout << " target : Set certificate chain file error" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config error (chain file)
- {
- std::string input_ca_file = "CAfile.pem";
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+void virtualservice_tcp_set_ssl_config()
+{
+ counter = 1;
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ //set element value
+ element.udpmode = false;
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ element.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ element.realserver_vector.clear();
+ element.protocol_module_name = "PMtest1";
+ element.schedule_module_name = "SMtest1";
+ element.protocol_args.clear();
+ element.protocol_args.push_back("testarg");
+ element.protocol_args.push_back("testarg2");
+ element.sorry_maxconnection = 1234LL;
+ element.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080));
+ element.sorry_flag = false;
+ element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ element.qos_upstream = 65535ULL;
+ element.qos_downstream = 32767ULL;
+
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, element);
+
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(element == vs->get_element());
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config normal case01" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config normal case01
+ {
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ int input_verify_options = SSL_VERIFY_PEER;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ bool input_is_tmp_dh_use = false;
+ std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
+ std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ //! set_ssl_config return data
+ // unit_test[141] set_ssl_config normal case01
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config normal case02 (no ca_file)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config normal case02 (no ca_file)
+ {
+
+ std::string input_ca_file = "";
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ int input_verify_options = SSL_VERIFY_PEER;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2);
+ bool input_is_tmp_dh_use = false;
+ std::string input_tmp_dh_dir = "";
+ std::string input_tmp_dh_file = "";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ //! set_ssl_config return data
+ // unit_test[142] set_ssl_config normal case02 (no ca_file)
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config error (no ca_file,no_ca_dir)" << std::endl;
+ std::cout << " target : Set root CA path error" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config error (no ca_file,no_ca_dir)
+ {
+
+ std::string input_ca_file = "";
+ std::string input_ca_dir = "";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ int input_verify_options = SSL_VERIFY_PEER;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2);
+ bool input_is_tmp_dh_use = false;
+ std::string input_tmp_dh_dir = "";
+ std::string input_tmp_dh_file = "";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ //! set_ssl_config return data
+ // unit_test[143] set_ssl_config error (no ca_file,no ca_dir)
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
+ // LOG:Set root CA path error
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config error (no ca_dir)" << std::endl;
+ std::cout << " target : Set root CA file error" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config error (no_ca_dir)
+ {
+
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_dir = "";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ int input_verify_options = SSL_VERIFY_PEER;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2);
+ bool input_is_tmp_dh_use = false;
+ std::string input_tmp_dh_dir = "";
+ std::string input_tmp_dh_file = "";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ //! set_ssl_config return data
+ // unit_test[144] set_ssl_config error (no_ca_dir)
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
+ // LOG:Set root CA file error
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config error (chain file)" << std::endl;
+ std::cout << " target : Set certificate chain file error" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config error (chain file)
+ {
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
// std::string input_cert_chain_file = "cert.pem";
- std::string input_cert_chain_file = "hoge.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
- int input_verify_options = SSL_VERIFY_PEER;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
-
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = false;
- std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- //! set_ssl_config return data
- // unit_test[145] set_ssl_config error (chain file)
- BOOST_CHECK_EQUAL( return_ssl_config, false );
- // LOG:Set certificate chain file error
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config error (set_password_callback)" << std::endl;
- std::cout << " target : Set password callback error" << std::endl;
- std::cout << " check on desk" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config error (set_password_callback)
- {
- std::string input_ca_file = "CAfile.pem";
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
- int input_verify_options = SSL_VERIFY_PEER;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "hoge.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ int input_verify_options = SSL_VERIFY_PEER;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ bool input_is_tmp_dh_use = false;
+ std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
+ std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ //! set_ssl_config return data
+ // unit_test[145] set_ssl_config error (chain file)
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
+ // LOG:Set certificate chain file error
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config error (set_password_callback)" << std::endl;
+ std::cout << " target : Set password callback error" << std::endl;
+ std::cout << " check on desk" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config error (set_password_callback)
+ {
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ int input_verify_options = SSL_VERIFY_PEER;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
// std::string input_private_key_passwd_file = "passwd.txt";
- std::string input_private_key_passwd_file = "hoge.txt";
-
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = false;
- std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- //! set_ssl_config return data
- // unit_test[146] set_ssl_config error (set_password_callback)
- BOOST_CHECK_EQUAL( return_ssl_config, false );
- // LOG:Set password callback error
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config error (private_key_file)" << std::endl;
- std::cout << " target : Set private key file and filetype error" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config error (private_key_file)
- {
- std::string input_ca_file = "CAfile.pem";
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "hoge.txt";
+
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ bool input_is_tmp_dh_use = false;
+ std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
+ std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ //! set_ssl_config return data
+ // unit_test[146] set_ssl_config error (set_password_callback)
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
+ // LOG:Set password callback error
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config error (private_key_file)" << std::endl;
+ std::cout << " target : Set private key file and filetype error" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config error (private_key_file)
+ {
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
// std::string input_private_key_file = "server.key";
- std::string input_private_key_file = "hoge.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
- int input_verify_options = SSL_VERIFY_PEER;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
-
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = false;
- std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- //! set_ssl_config return data
- // unit_test[147] set_ssl_config error (private_key_file)
- BOOST_CHECK_EQUAL( return_ssl_config, false );
- // LOG:Set private key file and filetype error
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config error (verify_options)" << std::endl;
- std::cout << " target : Set verify option error" << std::endl;
- std::cout << " check on desk" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config error (verify_options)
- {
- std::string input_ca_file = "CAfile.pem";
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ std::string input_private_key_file = "hoge.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ int input_verify_options = SSL_VERIFY_PEER;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ bool input_is_tmp_dh_use = false;
+ std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
+ std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ //! set_ssl_config return data
+ // unit_test[147] set_ssl_config error (private_key_file)
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
+ // LOG:Set private key file and filetype error
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config error (verify_options)" << std::endl;
+ std::cout << " target : Set verify option error" << std::endl;
+ std::cout << " check on desk" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config error (verify_options)
+ {
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
// int input_verify_options = SSL_VERIFY_PEER;
- int input_verify_options = 0;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
-
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = false;
- std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- // verify_options all value success
- // verify_options error case confirmation on a desk
- // unit_test[148] set_ssl_config error (verify_options)
- BOOST_CHECK_EQUAL( return_ssl_config, true );
- // LOG:Set verify option error
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config error (ssl_options)" << std::endl;
- std::cout << " target : Set SSL option error" << std::endl;
- std::cout << " check on desk" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config error (ssl_options)
- {
- std::string input_ca_file = "CAfile.pem";
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
- int input_verify_options = SSL_VERIFY_PEER;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
-
- int input_verify_cert_depth = 4;
+ int input_verify_options = 0;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ bool input_is_tmp_dh_use = false;
+ std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
+ std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ // verify_options all value success
+ // verify_options error case confirmation on a desk
+ // unit_test[148] set_ssl_config error (verify_options)
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+ // LOG:Set verify option error
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config error (ssl_options)" << std::endl;
+ std::cout << " target : Set SSL option error" << std::endl;
+ std::cout << " check on desk" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config error (ssl_options)
+ {
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ int input_verify_options = SSL_VERIFY_PEER;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+
+ int input_verify_cert_depth = 4;
// long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_SINGLE_DH_USE);
- long int input_ssl_options = 0;
- bool input_is_tmp_dh_use = false;
- std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- // ssl_options all value success
- // ssl_options error case confirmation on a desk
- // unit_test[149] set_ssl_config error (ssl_options) dummy test
- BOOST_CHECK_EQUAL( return_ssl_config, true );
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config error (temporary Diffie-Hellman parameters file)" << std::endl;
- std::cout << " target : Set tmp DH file error" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config error (temporary Diffie-Hellman parameters file)
- {
- std::string input_ca_file = "CAfile.pem";
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
- int input_verify_options = SSL_VERIFY_PEER;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
-
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = true;
- std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
+ long int input_ssl_options = 0;
+ bool input_is_tmp_dh_use = false;
+ std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
+ std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ // ssl_options all value success
+ // ssl_options error case confirmation on a desk
+ // unit_test[149] set_ssl_config error (ssl_options) dummy test
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config error (temporary Diffie-Hellman parameters file)" << std::endl;
+ std::cout << " target : Set tmp DH file error" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config error (temporary Diffie-Hellman parameters file)
+ {
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ int input_verify_options = SSL_VERIFY_PEER;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ bool input_is_tmp_dh_use = true;
+ std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
// std::string input_tmp_dh_file = "dh512.pem";
- std::string input_tmp_dh_file = "hoge.pem";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- //! set_ssl_config return data
- // unit_test[150] set_ssl_config error (temporary Diffie-Hellman parameters file)
- BOOST_CHECK_EQUAL( return_ssl_config, false );
- // LOG:Set tmp DH file error
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config error (cipher_list)" << std::endl;
- std::cout << " target : Set cipher list error" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config error (cipher_list)
- {
-
- std::string input_ca_file = "CAfile.pem";
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
- int input_verify_options = SSL_VERIFY_PEER;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
-
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = true;
- std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
- std::string input_cipher_list = "xxxxxxxxxxxxxxx";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- //! set_ssl_config return data
- // unit_test[151] set_ssl_config error (cipher_list)
- BOOST_CHECK_EQUAL( return_ssl_config, false );
- // LOG:Set cipher list error
-
- }
-
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "set_ssl_config error (session cache)" << std::endl;
- std::cout << " target : Set session id context error" << std::endl;
- std::cout << " check on desk" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_ssl_config error (session cache)
- {
- std::string input_ca_file = "CAfile.pem";
- std::string input_ca_dir = "/home/komata/KomataCA/";
- std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_cert_chain_file = "cert.pem";
- std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_file = "server.key";
- boost::asio::ssl::context::file_format
- input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
- int input_verify_options = SSL_VERIFY_PEER;
-
- std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
- std::string input_private_key_passwd_file = "passwd.txt";
-
- int input_verify_cert_depth = 4;
- long int input_ssl_options = (SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_SINGLE_DH_USE);
- bool input_is_tmp_dh_use = true;
- std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
- std::string input_tmp_dh_file = "dh512.pem";
- std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
- bool input_is_session_cache_use = true;
- long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
- long input_session_cache_size = 20480;
- long input_session_cache_timeout = 300;
-
- vs->set_ca_file(input_ca_file);
- vs->set_ca_dir(input_ca_dir);
- vs->set_cert_chain_dir(input_cert_chain_dir);
- vs->set_cert_chain_file(input_cert_chain_file);
- vs->set_private_key_dir(input_private_key_dir);
- vs->set_private_key_file(input_private_key_file);
- vs->set_private_key_filetype(input_private_key_filetype);
- vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
- vs->set_private_key_passwd_file(input_private_key_passwd_file);
- vs->set_verify_options(input_verify_options);
- vs->set_verify_cert_depth(input_verify_cert_depth);
- vs->set_ssl_options(input_ssl_options);
- vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
- vs->set_tmp_dh_dir(input_tmp_dh_dir);
- vs->set_tmp_dh_file(input_tmp_dh_file);
- vs->set_cipher_list(input_cipher_list);
- vs->set_is_session_cache_use(input_is_session_cache_use);
- vs->set_session_cache_mode(input_session_cache_mode);
- vs->set_session_cache_size(input_session_cache_size);
- vs->set_session_cache_timeout(input_session_cache_timeout);
-
- bool return_ssl_config = vs->set_ssl_config();
-
- // session id context error case confirmation on a desk
- // unit_test[152] set_ssl_config error (session cache) dummy test
- BOOST_CHECK_EQUAL( return_ssl_config, true );
-
- }
-
-
-
- BOOST_MESSAGE( "-------??" );
- delete vs;
+ std::string input_tmp_dh_file = "hoge.pem";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ //! set_ssl_config return data
+ // unit_test[150] set_ssl_config error (temporary Diffie-Hellman parameters file)
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
+ // LOG:Set tmp DH file error
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config error (cipher_list)" << std::endl;
+ std::cout << " target : Set cipher list error" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config error (cipher_list)
+ {
+
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ int input_verify_options = SSL_VERIFY_PEER;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ bool input_is_tmp_dh_use = true;
+ std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
+ std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_cipher_list = "xxxxxxxxxxxxxxx";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ //! set_ssl_config return data
+ // unit_test[151] set_ssl_config error (cipher_list)
+ BOOST_CHECK_EQUAL(return_ssl_config, false);
+ // LOG:Set cipher list error
+
+ }
+
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "set_ssl_config error (session cache)" << std::endl;
+ std::cout << " target : Set session id context error" << std::endl;
+ std::cout << " check on desk" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_ssl_config error (session cache)
+ {
+ std::string input_ca_file = "CAfile.pem";
+ std::string input_ca_dir = "/home/komata/KomataCA/";
+ std::string input_cert_chain_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_cert_chain_file = "cert.pem";
+ std::string input_private_key_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_file = "server.key";
+ boost::asio::ssl::context::file_format
+ input_private_key_filetype = DEFAULT_SSL_PRIVATE_KEY_FILETYPE;
+ int input_verify_options = SSL_VERIFY_PEER;
+
+ std::string input_private_key_passwd_dir = "/home/komata/KomataCA/SERVER/";
+ std::string input_private_key_passwd_file = "passwd.txt";
+
+ int input_verify_cert_depth = 4;
+ long int input_ssl_options = (SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ bool input_is_tmp_dh_use = true;
+ std::string input_tmp_dh_dir = "/home/komata/KomataCA/";
+ std::string input_tmp_dh_file = "dh512.pem";
+ std::string input_cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
+ bool input_is_session_cache_use = true;
+ long input_session_cache_mode = (SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_AUTO_CLEAR);
+ long input_session_cache_size = 20480;
+ long input_session_cache_timeout = 300;
+
+ vs->set_ca_file(input_ca_file);
+ vs->set_ca_dir(input_ca_dir);
+ vs->set_cert_chain_dir(input_cert_chain_dir);
+ vs->set_cert_chain_file(input_cert_chain_file);
+ vs->set_private_key_dir(input_private_key_dir);
+ vs->set_private_key_file(input_private_key_file);
+ vs->set_private_key_filetype(input_private_key_filetype);
+ vs->set_private_key_passwd_dir(input_private_key_passwd_dir);
+ vs->set_private_key_passwd_file(input_private_key_passwd_file);
+ vs->set_verify_options(input_verify_options);
+ vs->set_verify_cert_depth(input_verify_cert_depth);
+ vs->set_ssl_options(input_ssl_options);
+ vs->set_is_tmp_dh_use(input_is_tmp_dh_use);
+ vs->set_tmp_dh_dir(input_tmp_dh_dir);
+ vs->set_tmp_dh_file(input_tmp_dh_file);
+ vs->set_cipher_list(input_cipher_list);
+ vs->set_is_session_cache_use(input_is_session_cache_use);
+ vs->set_session_cache_mode(input_session_cache_mode);
+ vs->set_session_cache_size(input_session_cache_size);
+ vs->set_session_cache_timeout(input_session_cache_timeout);
+
+ bool return_ssl_config = vs->set_ssl_config();
+
+ // session id context error case confirmation on a desk
+ // unit_test[152] set_ssl_config error (session cache) dummy test
+ BOOST_CHECK_EQUAL(return_ssl_config, true);
+
+ }
+
+
+
+ BOOST_MESSAGE("-------??");
+ delete vs;
}
//test case1 create,initialize,run,stop,finalize,destroy(ssl mode normal case)
-void virtualservice_tcp_initialize_to_finalize(){
- counter = 1;
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element element;
- //set element value
- element.udpmode = false;
- element.tcp_accept_endpoint = tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- element.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- element.realserver_vector.clear();
- element.protocol_module_name = "PMtest1";
- element.schedule_module_name = "SMtest1";
- element.protocol_args.clear();
- element.protocol_args.push_back( "testarg" );
- element.protocol_args.push_back( "testarg2" );
- element.sorry_maxconnection = 1234LL;
- element.sorry_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (8080) );
- element.sorry_flag = false;
- element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- element.qos_upstream = 65535ULL;
- element.qos_downstream = 32767ULL;
-
- element.ssl_file_name = "./sslfiles/ssl_conf.cf";
-
- // unit_test[153] object create
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------1" );
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, element );
-
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( element == vs->get_element() );
- l7vs::error_code vs_err;
- // unit_test[154] initialize method call
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------2" );
- BOOST_CHECK( NULL == vs->get_protocol_module() );
- BOOST_CHECK( NULL == vs->get_schedule_module() );
-
- result.flag = false;
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- bool result_flg;
-
- if( vs_err == true ) {
- result_flg = true;
- } else if ( vs_err == false ) {
- result_flg = false;
- }
-
- BOOST_CHECK( result_flg == false );
-
- //protocol_module_controlのモジュールロードを呼んでいるか(モジュールロード正常終了)
- BOOST_CHECK( NULL != vs->get_protocol_module() );
- //schedule_module_controlのモジュールロードを呼んでいるか(モジュールロード正常終了)
- BOOST_CHECK( NULL != vs->get_schedule_module() );
-
- unsigned int pool_default_size = l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT;
- unsigned int pool_size = vs->get_pool_sessions().size();
-
- //session_poolを作成しているか(デフォルトサイズで作成)
- BOOST_CHECK( pool_default_size == pool_size );
-
- // set option
- bool& defer_accept_opt = vs->get_defer_accept_opt();
- defer_accept_opt = true;
- int& defer_accept_val = vs->get_defer_accept_val();
- defer_accept_val = 1;
-
- // unit_test[155] run method test
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------3" );
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
-
- usleep( 1500000 );
- //1秒待って、ProtocolModule/ScheduleModuleのreplication_interruptが呼ばれることを確認
- //デフォルト設定は500msなので2回
- BOOST_MESSAGE( debugg_flug_struct::getInstance().get_pm_rep_count() );
- BOOST_MESSAGE( debugg_flug_struct::getInstance().get_sm_rep_count() );
- BOOST_CHECK( 2 == debugg_flug_struct::getInstance().get_pm_rep_count() );
- BOOST_CHECK( 2 == debugg_flug_struct::getInstance().get_sm_rep_count() );
-
- // unit_test[156] set TCP_DEFER_ACCEPT test
- int val = 0;
- socklen_t len = sizeof(val);
- boost::system::error_code ec;
- int err = ::getsockopt(vs->get_acceptor().native(),IPPROTO_TCP,TCP_DEFER_ACCEPT,&val,&len);
- BOOST_CHECK(!err);
- BOOST_CHECK(val);
-
- // unit_test[157] stop method test
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------4" );
- vs->stop();
- usleep( 1000 );
-
- // unit_test[158] release_session method test(run直後はwaiting_sessionsに入っているため、release_sessionではプールに戻らない)
- std::cout << counter++ << std::endl;
+void virtualservice_tcp_initialize_to_finalize()
+{
+ counter = 1;
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element element;
+ //set element value
+ element.udpmode = false;
+ element.tcp_accept_endpoint = tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ element.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ element.realserver_vector.clear();
+ element.protocol_module_name = "PMtest1";
+ element.schedule_module_name = "SMtest1";
+ element.protocol_args.clear();
+ element.protocol_args.push_back("testarg");
+ element.protocol_args.push_back("testarg2");
+ element.sorry_maxconnection = 1234LL;
+ element.sorry_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (8080));
+ element.sorry_flag = false;
+ element.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ element.qos_upstream = 65535ULL;
+ element.qos_downstream = 32767ULL;
+
+ element.ssl_file_name = "./sslfiles/ssl_conf.cf";
+
+ // unit_test[153] object create
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------1");
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, element);
+
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(element == vs->get_element());
+ l7vs::error_code vs_err;
+ // unit_test[154] initialize method call
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------2");
+ BOOST_CHECK(NULL == vs->get_protocol_module());
+ BOOST_CHECK(NULL == vs->get_schedule_module());
+
+ result.flag = false;
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ bool result_flg;
+
+ if (vs_err == true) {
+ result_flg = true;
+ } else if (vs_err == false) {
+ result_flg = false;
+ }
+
+ BOOST_CHECK(result_flg == false);
+
+ //protocol_module_controlのモジュールロードを呼んでいるか(モジュールロード正常終了)
+ BOOST_CHECK(NULL != vs->get_protocol_module());
+ //schedule_module_controlのモジュールロードを呼んでいるか(モジュールロード正常終了)
+ BOOST_CHECK(NULL != vs->get_schedule_module());
+
+ unsigned int pool_default_size = l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT;
+ unsigned int pool_size = vs->get_pool_sessions().size();
+
+ //session_poolを作成しているか(デフォルトサイズで作成)
+ BOOST_CHECK(pool_default_size == pool_size);
+
+ // set option
+ bool &defer_accept_opt = vs->get_defer_accept_opt();
+ defer_accept_opt = true;
+ int &defer_accept_val = vs->get_defer_accept_val();
+ defer_accept_val = 1;
+
+ // unit_test[155] run method test
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------3");
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+
+ usleep(1500000);
+ //1秒待って、ProtocolModule/ScheduleModuleのreplication_interruptが呼ばれることを確認
+ //デフォルト設定は500msなので2回
+ BOOST_MESSAGE(debugg_flug_struct::getInstance().get_pm_rep_count());
+ BOOST_MESSAGE(debugg_flug_struct::getInstance().get_sm_rep_count());
+ BOOST_CHECK(2 == debugg_flug_struct::getInstance().get_pm_rep_count());
+ BOOST_CHECK(2 == debugg_flug_struct::getInstance().get_sm_rep_count());
+
+ // unit_test[156] set TCP_DEFER_ACCEPT test
+ int val = 0;
+ socklen_t len = sizeof(val);
+ boost::system::error_code ec;
+ int err = ::getsockopt(vs->get_acceptor().native(), IPPROTO_TCP, TCP_DEFER_ACCEPT, &val, &len);
+ BOOST_CHECK(!err);
+ BOOST_CHECK(val);
+
+ // unit_test[157] stop method test
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------4");
+ vs->stop();
+ usleep(1000);
+
+ // unit_test[158] release_session method test(run直後はwaiting_sessionsに入っているため、release_sessionではプールに戻らない)
+ std::cout << counter++ << std::endl;
// BOOST_MESSAGE( "-------5" );
// BOOST_CHECK( vs->get_pool_sessions().size() == (l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-1) );
// BOOST_CHECK( vs->get_waiting_sessions().size() == 1 );
// BOOST_CHECK( vs->get_active_sessions().size() == 0 );
// BOOST_CHECK( vs->get_waiting_sessions().size() == 0 );
- // unit_test[159] stop method test(call twice)
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------6" );
- vs->stop();
+ // unit_test[159] stop method test(call twice)
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------6");
+ vs->stop();
- vs_main.join();
+ vs_main.join();
- // unit_test[160] finalize method call
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------7" );
- vs_err.setter(false,"");
- vs->finalize( vs_err );
- BOOST_CHECK( vs_err == false );
+ // unit_test[160] finalize method call
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------7");
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+ BOOST_CHECK(vs_err == false);
- // unit_test[161] finalizeを2回連続で呼んでみる
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------8" );
- vs_err.setter(false,"");
- vs->finalize( vs_err );
- BOOST_CHECK( vs_err == false );
+ // unit_test[161] finalizeを2回連続で呼んでみる
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------8");
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+ BOOST_CHECK(vs_err == false);
- // unit_test[162] object destroy
- std::cout << counter++ << std::endl;
- BOOST_MESSAGE( "-------9" );
- delete vs;
+ // unit_test[162] object destroy
+ std::cout << counter++ << std::endl;
+ BOOST_MESSAGE("-------9");
+ delete vs;
}
//send access_log_flag ON/OFF to TCP session
-void virtualservice_tcp_handle_accept_test(){
-
- //access_log_flag:true
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 1;
- elem1.access_log_file_name = "access_log.log";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- // unit_test[163] send access_log_flag ON to TCP session
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "handle_accept_test (access_log_flag ON)" << std::endl;
- std::cout << " target:set_virtual_service_message called : ACCESS_LOG_ON" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- boost::thread cl_thread( &client );
- // session_access_log_output_mode_change STUB OUTPUT
- // set_virtual_service_message called : ACCESS_LOG_ON
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
- BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-
- usleep( 1000 );
- cl_thread.join();
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- delete vs;
- }
- //access_log_flag:false
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 0;
- elem1.access_log_file_name = "access_log.log";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- // unit_test[164] send access_log_flag OFF to TCP session
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "handle_accept_test (access_log_flag OFF)" << std::endl;
- std::cout << " target:set_virtual_service_message called : ACCESS_LOG_OFF" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- boost::thread cl_thread( &client );
- // session_access_log_output_mode_change STUB OUTPUT
- // set_virtual_service_message called : ACCESS_LOG_OFF
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
- BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-
- usleep( 1000 );
- cl_thread.join();
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- delete vs;
- }
+void virtualservice_tcp_handle_accept_test()
+{
+
+ //access_log_flag:true
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 1;
+ elem1.access_log_file_name = "access_log.log";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ // unit_test[163] send access_log_flag ON to TCP session
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "handle_accept_test (access_log_flag ON)" << std::endl;
+ std::cout << " target:set_virtual_service_message called : ACCESS_LOG_ON" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ boost::thread cl_thread(&client);
+ // session_access_log_output_mode_change STUB OUTPUT
+ // set_virtual_service_message called : ACCESS_LOG_ON
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
+ BOOST_CHECK(vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT - 2);
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+
+ usleep(1000);
+ cl_thread.join();
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ delete vs;
+ }
+ //access_log_flag:false
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 0;
+ elem1.access_log_file_name = "access_log.log";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ // unit_test[164] send access_log_flag OFF to TCP session
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "handle_accept_test (access_log_flag OFF)" << std::endl;
+ std::cout << " target:set_virtual_service_message called : ACCESS_LOG_OFF" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ boost::thread cl_thread(&client);
+ // session_access_log_output_mode_change STUB OUTPUT
+ // set_virtual_service_message called : ACCESS_LOG_OFF
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
+ BOOST_CHECK(vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT - 2);
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+
+ usleep(1000);
+ cl_thread.join();
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ delete vs;
+ }
}
// l7vs::virtualservice_tcp::initialize test
-void virtualservice_tcp_initialize_test(){
-
- //flag=ON,file=not empty,key=""
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 1;
- elem1.access_log_file_name = "access_log.log";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- // unit_test[165] initialize (flag=ON,file=not empty,key="")
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "initialize_test (flag=ON,file=not empty,key=\"\")" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), true );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- // this test is not use client
- //boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
- //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-
- usleep( 1000 );
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
-
- sleep( 10 );
- delete vs;
- }
-
- usleep( 10000 );
-
- //flag=ON,file=not empty,key="key_info"
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 1;
- elem1.access_log_file_name = "access_log.log";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "keyinfo";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- // unit_test[166] initialize (flag=ON,file=not empty,key="keyinfo")
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "initialize_test (flag=ON,file=not empty,key=\"keyinfo\")" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), true );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "keyinfo" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "keyinfo" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- //this test not use cleint
- //boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- //usleep( 2000000 );
- //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-
- usleep( 1000 );
- // this test not use lient.
- // cl_thread.join();
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- // vs is not delete outside.
- // delete vs;
- }
-
- //flag=OFF,file=not empty,key=""
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 0;
- elem1.access_log_file_name = "access_log.log";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- // unit_test[167] initialize (flag=OFF,file=not empty,key="")
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "initialize_test (flag=OFF,file=not empty,key=\"\")" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), false );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- //boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- //usleep( 2000000 );
- //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-
- usleep( 1000 );
- //cl_thread.join();
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- //delete vs;
- }
-
- //flag=OFF,file=not empty,key="keyinfo"
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 0;
- elem1.access_log_file_name = "access_log.log";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "keyinfo";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- // unit_test[168] initialize (flag=OFF,file=not empty,key="keyinfo")
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "initialize_test (flag=OFF,file=not empty,key=\"keyinfo\")" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), false );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "keyinfo" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "keyinfo" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- //boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- //usleep( 2000000 );
- //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-
- usleep( 1000 );
- //cl_thread.join();
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- //delete vs;
- }
-
- //flag=OFF,file=empty,key=""
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 0;
- elem1.access_log_file_name = "";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- // unit_test[169] initialize (flag=OFF,file=empty,key="")
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "initialize_test (flag=OFF,file=empty,key=\"\")" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), false );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- //boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- //usleep( 2000000 );
- //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-
- usleep( 1000 );
- //cl_thread.join();
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- //delete vs;
- }
-
- //flag=ON,file=empty,key=""
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 1;
- elem1.access_log_file_name = "";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- // unit_test[170] initialize (flag=ON,file=empty,key="")
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "initialize_test (flag=ON,file=empty,key=\"\")" << std::endl;
- std::cout << " target:access log file name not set error" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
-
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs_err, true );
- BOOST_CHECK_EQUAL( vs_err.get_message(), "access log file name not set error" );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- //boost::thread cl_thread( &client );
- //2秒待ってsessionプールのサイズをチェック
- //usleep( 2000000 );
- //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
-
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-
- usleep( 1000 );
- //cl_thread.join();
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- //delete vs;
- }
-
- //flag=ON,file=not empty,access_log_instance NG
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 1;
- elem1.access_log_file_name = "access_log.log";
+void virtualservice_tcp_initialize_test()
+{
+
+ //flag=ON,file=not empty,key=""
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 1;
+ elem1.access_log_file_name = "access_log.log";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ // unit_test[165] initialize (flag=ON,file=not empty,key="")
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "initialize_test (flag=ON,file=not empty,key=\"\")" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), true);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ // this test is not use client
+ //boost::thread cl_thread( &client );
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
+ //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+
+ usleep(1000);
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+
+ sleep(10);
+ delete vs;
+ }
+
+ usleep(10000);
+
+ //flag=ON,file=not empty,key="key_info"
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 1;
+ elem1.access_log_file_name = "access_log.log";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "keyinfo";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ // unit_test[166] initialize (flag=ON,file=not empty,key="keyinfo")
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "initialize_test (flag=ON,file=not empty,key=\"keyinfo\")" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), true);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "keyinfo");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "keyinfo");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ //this test not use cleint
+ //boost::thread cl_thread( &client );
+
+ //2秒待ってsessionプールのサイズをチェック
+ //usleep( 2000000 );
+ //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+
+ usleep(1000);
+ // this test not use lient.
+ // cl_thread.join();
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ // vs is not delete outside.
+ // delete vs;
+ }
+
+ //flag=OFF,file=not empty,key=""
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 0;
+ elem1.access_log_file_name = "access_log.log";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ // unit_test[167] initialize (flag=OFF,file=not empty,key="")
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "initialize_test (flag=OFF,file=not empty,key=\"\")" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), false);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ //boost::thread cl_thread( &client );
+
+ //2秒待ってsessionプールのサイズをチェック
+ //usleep( 2000000 );
+ //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+
+ usleep(1000);
+ //cl_thread.join();
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ //delete vs;
+ }
+
+ //flag=OFF,file=not empty,key="keyinfo"
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 0;
+ elem1.access_log_file_name = "access_log.log";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "keyinfo";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ // unit_test[168] initialize (flag=OFF,file=not empty,key="keyinfo")
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "initialize_test (flag=OFF,file=not empty,key=\"keyinfo\")" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), false);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "keyinfo");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "keyinfo");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ //boost::thread cl_thread( &client );
+
+ //2秒待ってsessionプールのサイズをチェック
+ //usleep( 2000000 );
+ //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+
+ usleep(1000);
+ //cl_thread.join();
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ //delete vs;
+ }
+
+ //flag=OFF,file=empty,key=""
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 0;
+ elem1.access_log_file_name = "";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ // unit_test[169] initialize (flag=OFF,file=empty,key="")
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "initialize_test (flag=OFF,file=empty,key=\"\")" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), false);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ //boost::thread cl_thread( &client );
+
+ //2秒待ってsessionプールのサイズをチェック
+ //usleep( 2000000 );
+ //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+
+ usleep(1000);
+ //cl_thread.join();
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ //delete vs;
+ }
+
+ //flag=ON,file=empty,key=""
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 1;
+ elem1.access_log_file_name = "";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ // unit_test[170] initialize (flag=ON,file=empty,key="")
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "initialize_test (flag=ON,file=empty,key=\"\")" << std::endl;
+ std::cout << " target:access log file name not set error" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs_err, true);
+ BOOST_CHECK_EQUAL(vs_err.get_message(), "access log file name not set error");
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ //boost::thread cl_thread( &client );
+ //2秒待ってsessionプールのサイズをチェック
+ //usleep( 2000000 );
+ //BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
+
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+
+ usleep(1000);
+ //cl_thread.join();
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ //delete vs;
+ }
+
+ //flag=ON,file=not empty,access_log_instance NG
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 1;
+ elem1.access_log_file_name = "access_log.log";
// elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
// elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
// elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- // unit_test[171] initialize (flag=ON,file=not empty,access_log_instance NG)
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "initialize_test (flag=ON,file=not empty,access_log_instance NG)" << std::endl;
- std::cout << " target:access logger Instance acquisition" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- vs->initialize( vs_err );
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ // unit_test[171] initialize (flag=ON,file=not empty,access_log_instance NG)
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "initialize_test (flag=ON,file=not empty,access_log_instance NG)" << std::endl;
+ std::cout << " target:access logger Instance acquisition" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ vs->initialize(vs_err);
// BOOST_CHECK_EQUAL( vs_err, true );
// BOOST_CHECK_EQUAL( vs_err.get_message(), "access log class instance create failed" );
-/*
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
+ /*
+ boost::thread vs_main( &l7vs::vs_tcp::run, vs );
+ usleep( 2000000 );
- boost::thread cl_thread( &client );
+ boost::thread cl_thread( &client );
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
- BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
+ //2秒待ってsessionプールのサイズをチェック
+ usleep( 2000000 );
+ BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep( 1000000 );
+ vs->stop();
- usleep( 1000 );
- cl_thread.join();
- vs_main.join();
-*/
- vs_err.setter(false,"");
- vs->finalize( vs_err );
+ usleep( 1000 );
+ cl_thread.join();
+ vs_main.join();
+ */
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
- delete vs;
- }
+ delete vs;
+ }
}
// l7vs::virtualservice_tcp::finalize test
-void virtualservice_tcp_finalize_test(){
-
- // erase_logger_implement_access OK
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 1;
- elem1.access_log_file_name = "access_log.log";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), true );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
+void virtualservice_tcp_finalize_test()
+{
+
+ // erase_logger_implement_access OK
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 1;
+ elem1.access_log_file_name = "access_log.log";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), true);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ boost::thread cl_thread(&client);
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
// this check is not use
// BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-
- usleep( 1000 );
- cl_thread.join();
- vs_main.join();
-
- // unit_test[172] finalize (erase_logger_implement_access OK)
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "finalize_test (erase_logger_implement_access OK)" << std::endl;
- std::cout << "NOT OUTPUT LOG access logger instance erase err" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // NOT OUTPUT LOG access logger instance erase err
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- delete vs;
- }
-
- // erase_logger_implement_access NG
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 1;
- elem1.access_log_file_name = "access_log.log";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), true );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+
+ usleep(1000);
+ cl_thread.join();
+ vs_main.join();
+
+ // unit_test[172] finalize (erase_logger_implement_access OK)
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "finalize_test (erase_logger_implement_access OK)" << std::endl;
+ std::cout << "NOT OUTPUT LOG access logger instance erase err" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // NOT OUTPUT LOG access logger instance erase err
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ delete vs;
+ }
+
+ // erase_logger_implement_access NG
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 1;
+ elem1.access_log_file_name = "access_log.log";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), true);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ boost::thread cl_thread(&client);
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
// this check is not use
// BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
- //1秒待ってmainをSTOP
- usleep( 1000000 );
- vs->stop();
-
- usleep( 1000 );
- cl_thread.join();
- vs_main.join();
-
- // unit_test[173] finalize (erase_logger_implement_access NG)
- vs->set_access_log_file_name("hoge.log");
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "finalize_test (erase_logger_implement_access NG)" << std::endl;
- std::cout << "OUTPUT LOG access logger instance erase err" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // OUTPUT LOG access logger instance erase err
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- delete vs;
- }
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+ //1秒待ってmainをSTOP
+ usleep(1000000);
+ vs->stop();
+
+ usleep(1000);
+ cl_thread.join();
+ vs_main.join();
+
+ // unit_test[173] finalize (erase_logger_implement_access NG)
+ vs->set_access_log_file_name("hoge.log");
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "finalize_test (erase_logger_implement_access NG)" << std::endl;
+ std::cout << "OUTPUT LOG access logger instance erase err" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // OUTPUT LOG access logger instance erase err
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ delete vs;
+ }
}
// edit_virtualservice test
-void virtualservice_tcp_edit_virtualservice_test(){
-
- // edit(flag:OFF,filename:not empty)->(flag:ON)
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 0;
- elem1.access_log_file_name = "access_log.log";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), false );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
+void virtualservice_tcp_edit_virtualservice_test()
+{
+
+ // edit(flag:OFF,filename:not empty)->(flag:ON)
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 0;
+ elem1.access_log_file_name = "access_log.log";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), false);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ boost::thread cl_thread(&client);
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
// this check ins not use
// BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
-
- usleep( 1000000 );
-
- // create edit element
- l7vs::virtualservice_element elem2;
-
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 1234LL;
- elem2.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem2.sorry_flag = false;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem2.qos_upstream = 65535ULL;
- elem2.qos_downstream = 32767ULL;
- elem2.ssl_file_name = "";
- elem2.access_log_flag = 1;
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+
+ usleep(1000000);
+
+ // create edit element
+ l7vs::virtualservice_element elem2;
+
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 1234LL;
+ elem2.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem2.sorry_flag = false;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem2.qos_upstream = 65535ULL;
+ elem2.qos_downstream = 32767ULL;
+ elem2.ssl_file_name = "";
+ elem2.access_log_flag = 1;
// elem2.access_log_file_name = "access_log.log";
// elem2.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
// elem2.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
// elem2.access_log_rotate_key_info = "";
// elem2.access_log_rotate_verbose_info = "dummy";
- // unit_test[174] edit(flag:OFF,filename:not empty)->(flag:ON)
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "edit_virtualservice_test" << std::endl;
- std::cout << "(flag:OFF,filename:not empty)->(flag:ON)" << std::endl;
- std::cout << " target:set_virtual_service_message called : ACCESS_LOG_ON" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
- // set_virtual_service_message called : ACCESS_LOG_ON
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem2, vs_err );
-
- BOOST_CHECK_EQUAL( vs_err, false );
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), true );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- vs->stop();
-
- usleep( 1000 );
- cl_thread.join();
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- delete vs;
- }
-
- // edit(flag:ON,filename:not empty)->(flag:ON)
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 1;
- elem1.access_log_file_name = "access_log.log";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), true );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
+ // unit_test[174] edit(flag:OFF,filename:not empty)->(flag:ON)
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "edit_virtualservice_test" << std::endl;
+ std::cout << "(flag:OFF,filename:not empty)->(flag:ON)" << std::endl;
+ std::cout << " target:set_virtual_service_message called : ACCESS_LOG_ON" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+ // set_virtual_service_message called : ACCESS_LOG_ON
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem2, vs_err);
+
+ BOOST_CHECK_EQUAL(vs_err, false);
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), true);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ vs->stop();
+
+ usleep(1000);
+ cl_thread.join();
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ delete vs;
+ }
+
+ // edit(flag:ON,filename:not empty)->(flag:ON)
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 1;
+ elem1.access_log_file_name = "access_log.log";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), true);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ boost::thread cl_thread(&client);
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
// this check is not use
// BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
-
- usleep( 1000000 );
-
- // create edit element
- l7vs::virtualservice_element elem2;
-
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 1234LL;
- elem2.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem2.sorry_flag = false;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem2.qos_upstream = 65535ULL;
- elem2.qos_downstream = 32767ULL;
- elem2.ssl_file_name = "";
- elem2.access_log_flag = 1;
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+
+ usleep(1000000);
+
+ // create edit element
+ l7vs::virtualservice_element elem2;
+
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 1234LL;
+ elem2.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem2.sorry_flag = false;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem2.qos_upstream = 65535ULL;
+ elem2.qos_downstream = 32767ULL;
+ elem2.ssl_file_name = "";
+ elem2.access_log_flag = 1;
// elem2.access_log_file_name = "access_log.log";
// elem2.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
// elem2.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
// elem2.access_log_rotate_key_info = "";
// elem2.access_log_rotate_verbose_info = "dummy";
- // unit_test[175] edit(flag:ON,filename:not empty)->(flag:ON)
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "edit_virtualservice_test" << std::endl;
- std::cout << "(flag:ON,filename:not empty)->(flag:ON)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
-
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem2, vs_err );
-
- BOOST_CHECK_EQUAL( vs_err, false );
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), true );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- vs->stop();
-
- usleep( 1000 );
- cl_thread.join();
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- delete vs;
- }
-
- // edit(flag:ON,filename:not empty)->(flag:OFF)
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 1;
- elem1.access_log_file_name = "access_log.log";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), true );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
+ // unit_test[175] edit(flag:ON,filename:not empty)->(flag:ON)
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "edit_virtualservice_test" << std::endl;
+ std::cout << "(flag:ON,filename:not empty)->(flag:ON)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem2, vs_err);
+
+ BOOST_CHECK_EQUAL(vs_err, false);
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), true);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ vs->stop();
+
+ usleep(1000);
+ cl_thread.join();
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ delete vs;
+ }
+
+ // edit(flag:ON,filename:not empty)->(flag:OFF)
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 1;
+ elem1.access_log_file_name = "access_log.log";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), true);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ boost::thread cl_thread(&client);
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
// this check is not use
// BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
-
- usleep( 1000000 );
-
- // create edit element
- l7vs::virtualservice_element elem2;
-
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 1234LL;
- elem2.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem2.sorry_flag = false;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem2.qos_upstream = 65535ULL;
- elem2.qos_downstream = 32767ULL;
- elem2.ssl_file_name = "";
- elem2.access_log_flag = 0;
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+
+ usleep(1000000);
+
+ // create edit element
+ l7vs::virtualservice_element elem2;
+
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 1234LL;
+ elem2.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem2.sorry_flag = false;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem2.qos_upstream = 65535ULL;
+ elem2.qos_downstream = 32767ULL;
+ elem2.ssl_file_name = "";
+ elem2.access_log_flag = 0;
// elem2.access_log_file_name = "access_log.log";
// elem2.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
// elem2.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
// elem2.access_log_rotate_key_info = "";
// elem2.access_log_rotate_verbose_info = "dummy";
- // unit_test[176] edit(flag:ON,filename:not empty)->(flag:OFF)
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "edit_virtualservice_test" << std::endl;
- std::cout << "(flag:ON,filename:not empty)->(flag:OFF)" << std::endl;
- std::cout << "NOT OUTPUT LOG :set_virtual_service_message called : ACCESS_LOG_OFF" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
-
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem2, vs_err );
-
- BOOST_CHECK_EQUAL( vs_err, false );
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), false );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- vs->stop();
-
- usleep( 1000 );
- cl_thread.join();
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- delete vs;
- }
-
- // edit(flag:OFF,filename:empty)->(flag:OFF)
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 0;
- elem1.access_log_file_name = "";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), false );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
+ // unit_test[176] edit(flag:ON,filename:not empty)->(flag:OFF)
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "edit_virtualservice_test" << std::endl;
+ std::cout << "(flag:ON,filename:not empty)->(flag:OFF)" << std::endl;
+ std::cout << "NOT OUTPUT LOG :set_virtual_service_message called : ACCESS_LOG_OFF" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem2, vs_err);
+
+ BOOST_CHECK_EQUAL(vs_err, false);
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), false);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ vs->stop();
+
+ usleep(1000);
+ cl_thread.join();
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ delete vs;
+ }
+
+ // edit(flag:OFF,filename:empty)->(flag:OFF)
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 0;
+ elem1.access_log_file_name = "";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), false);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ boost::thread cl_thread(&client);
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
// this check is not use
// BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
-
- usleep( 1000000 );
-
- // create edit element
- l7vs::virtualservice_element elem2;
-
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 1234LL;
- elem2.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem2.sorry_flag = false;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem2.qos_upstream = 65535ULL;
- elem2.qos_downstream = 32767ULL;
- elem2.ssl_file_name = "";
- elem2.access_log_flag = 0;
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+
+ usleep(1000000);
+
+ // create edit element
+ l7vs::virtualservice_element elem2;
+
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 1234LL;
+ elem2.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem2.sorry_flag = false;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem2.qos_upstream = 65535ULL;
+ elem2.qos_downstream = 32767ULL;
+ elem2.ssl_file_name = "";
+ elem2.access_log_flag = 0;
// elem2.access_log_file_name = "access_log.log";
// elem2.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
// elem2.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
// elem2.access_log_rotate_key_info = "";
// elem2.access_log_rotate_verbose_info = "dummy";
- // unit_test[177] edit(flag:ON,filename:empty)->(flag:OFF)
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "edit_virtualservice_test" << std::endl;
- std::cout << "(flag:ON,filename:empty)->(flag:OFF)" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
-
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem2, vs_err );
-
- BOOST_CHECK_EQUAL( vs_err, false );
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), false );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- vs->stop();
-
- usleep( 1000 );
- cl_thread.join();
- vs_main.join();
-
- vs_err.setter(false,"");
- vs->finalize( vs_err );
-
- delete vs;
- }
-
- // edit(flag:OFF,filename:empty)->(flag:ON) NG
- {
- debugg_flug_struct::getInstance().param_exist_flag() = false;
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::l7vsd vsd;
- boost::asio::io_service dispatcher;
- l7vs::replication rep;
- l7vs::virtualservice_element elem1;
-
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
- elem1.ssl_file_name = "";
- elem1.access_log_flag = 0;
- elem1.access_log_file_name = "";
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
- elem1.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-filesize" , "10M" ) );
- elem1.access_log_rotate_key_info = "";
- elem1.access_log_rotate_verbose_info = "dummy";
-
- //vs作成
- l7vs::vs_tcp* vs = new l7vs::vs_tcp( vsd, rep, elem1 );
- BOOST_CHECK_EQUAL( &vsd, &(vs->get_vsd()) );
- BOOST_CHECK_EQUAL( &rep, &(vs->get_rep()) );
- BOOST_CHECK( elem1 == vs->get_element() );
-
- vs_err.setter(false,"");
- vs->initialize( vs_err );
-
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), false );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
-
- boost::thread vs_main( &l7vs::vs_tcp::run, vs );
- usleep( 2000000 );
-
- boost::thread cl_thread( &client );
-
- //2秒待ってsessionプールのサイズをチェック
- usleep( 2000000 );
+ // unit_test[177] edit(flag:ON,filename:empty)->(flag:OFF)
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "edit_virtualservice_test" << std::endl;
+ std::cout << "(flag:ON,filename:empty)->(flag:OFF)" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
+
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem2, vs_err);
+
+ BOOST_CHECK_EQUAL(vs_err, false);
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), false);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ vs->stop();
+
+ usleep(1000);
+ cl_thread.join();
+ vs_main.join();
+
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
+
+ delete vs;
+ }
+
+ // edit(flag:OFF,filename:empty)->(flag:ON) NG
+ {
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::l7vsd vsd;
+ boost::asio::io_service dispatcher;
+ l7vs::replication rep;
+ l7vs::virtualservice_element elem1;
+
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+ elem1.ssl_file_name = "";
+ elem1.access_log_flag = 0;
+ elem1.access_log_file_name = "";
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-type" , "size"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-backup-index" , "1"));
+ elem1.access_log_rotate_arguments.insert(std::make_pair("--ac-rotate-max-filesize" , "10M"));
+ elem1.access_log_rotate_key_info = "";
+ elem1.access_log_rotate_verbose_info = "dummy";
+
+ //vs作成
+ l7vs::vs_tcp *vs = new l7vs::vs_tcp(vsd, rep, elem1);
+ BOOST_CHECK_EQUAL(&vsd, &(vs->get_vsd()));
+ BOOST_CHECK_EQUAL(&rep, &(vs->get_rep()));
+ BOOST_CHECK(elem1 == vs->get_element());
+
+ vs_err.setter(false, "");
+ vs->initialize(vs_err);
+
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), false);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
+
+ boost::thread vs_main(&l7vs::vs_tcp::run, vs);
+ usleep(2000000);
+
+ boost::thread cl_thread(&client);
+
+ //2秒待ってsessionプールのサイズをチェック
+ usleep(2000000);
// this check is not use
// BOOST_CHECK( vs->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-2 );
- debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
-
- usleep( 1000000 );
-
- // create edit element
- l7vs::virtualservice_element elem2;
-
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 1234LL;
- elem2.sorry_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "AFAF:0E08::8FDE" ), (8080) );
- elem2.sorry_flag = false;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem2.qos_upstream = 65535ULL;
- elem2.qos_downstream = 32767ULL;
- elem2.ssl_file_name = "";
- elem2.access_log_flag = 1;
+ debugg_flug_struct::getInstance().stub_loglevel() = l7vs::LOG_LV_DEBUG;
+
+ usleep(1000000);
+
+ // create edit element
+ l7vs::virtualservice_element elem2;
+
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 1234LL;
+ elem2.sorry_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("AFAF:0E08::8FDE"), (8080));
+ elem2.sorry_flag = false;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem2.qos_upstream = 65535ULL;
+ elem2.qos_downstream = 32767ULL;
+ elem2.ssl_file_name = "";
+ elem2.access_log_flag = 1;
// elem2.access_log_file_name = "access_log.log";
// elem2.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-type" , "size" ) );
// elem2.access_log_rotate_arguments.insert( std::make_pair( "--ac-rotate-max-backup-index" , "1" ) );
// elem2.access_log_rotate_key_info = "";
// elem2.access_log_rotate_verbose_info = "dummy";
- // unit_test[178] edit(flag:ON,filename:empty)->(flag:ON) NG
- std::cout << "----------------------------------------" << std::endl;
- std::cout << "edit_virtualservice_test" << std::endl;
- std::cout << "(flag:ON,filename:empty)->(flag:ON) NG" << std::endl;
- std::cout << "----------------------------------------" << std::endl;
+ // unit_test[178] edit(flag:ON,filename:empty)->(flag:ON) NG
+ std::cout << "----------------------------------------" << std::endl;
+ std::cout << "edit_virtualservice_test" << std::endl;
+ std::cout << "(flag:ON,filename:empty)->(flag:ON) NG" << std::endl;
+ std::cout << "----------------------------------------" << std::endl;
- vs_err.setter(false,"");
- vs->edit_virtualservice( elem2, vs_err );
+ vs_err.setter(false, "");
+ vs->edit_virtualservice(elem2, vs_err);
- BOOST_CHECK_EQUAL( vs_err, true );
- BOOST_CHECK_EQUAL( vs_err.get_message(), "access log flag change err." );
- BOOST_CHECK_EQUAL( vs->get_access_log_flag(), false );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_key_info, "none" );
- BOOST_CHECK_EQUAL( vs->get_element().access_log_rotate_verbose_info, "" );
- BOOST_CHECK_EQUAL( vs->get_access_log_file_name(), vs->get_element().access_log_file_name );
- BOOST_CHECK( vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments );
+ BOOST_CHECK_EQUAL(vs_err, true);
+ BOOST_CHECK_EQUAL(vs_err.get_message(), "access log flag change err.");
+ BOOST_CHECK_EQUAL(vs->get_access_log_flag(), false);
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_key_info, "none");
+ BOOST_CHECK_EQUAL(vs->get_element().access_log_rotate_verbose_info, "");
+ BOOST_CHECK_EQUAL(vs->get_access_log_file_name(), vs->get_element().access_log_file_name);
+ BOOST_CHECK(vs->get_access_log_rotate_arguments() == elem1.access_log_rotate_arguments);
- vs->stop();
+ vs->stop();
- usleep( 1000 );
- cl_thread.join();
- vs_main.join();
+ usleep(1000);
+ cl_thread.join();
+ vs_main.join();
- vs_err.setter(false,"");
- vs->finalize( vs_err );
+ vs_err.setter(false, "");
+ vs->finalize(vs_err);
- delete vs;
- }
+ delete vs;
+ }
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "virtualservice_base_test" );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("virtualservice_base_test");
- // add test case to test suite
+ // add test case to test suite
// ts->add( BOOST_TEST_CASE( &virtualservice_tcp_test1 ) );
// ts->add( BOOST_TEST_CASE( &virtualservice_tcp_test2 ) );
// ts->add( BOOST_TEST_CASE( &virtualservice_tcp_test3 ) );
// ts->add( BOOST_TEST_CASE( &virtualservice_tcp_set_ssl_config ) );
// ts->add( BOOST_TEST_CASE( &virtualservice_tcp_initialize_to_finalize ) );
// ts->add( BOOST_TEST_CASE( &virtualservice_tcp_handle_accept_test ) );
- ts->add( BOOST_TEST_CASE( &virtualservice_tcp_initialize_test ) );
+ ts->add(BOOST_TEST_CASE(&virtualservice_tcp_initialize_test));
// ts->add( BOOST_TEST_CASE( &virtualservice_tcp_finalize_test ) );
// ts->add( BOOST_TEST_CASE( &virtualservice_tcp_edit_virtualservice_test ) );
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
int counter;
//Acceptテスト用Client
-void client(){
- boost::system::error_code b_err;
+void client()
+{
+ boost::system::error_code b_err;
- boost::asio::io_service dispatcher;
- boost::asio::ip::tcp::socket sock( dispatcher );
- sock.connect( tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) ), b_err );
- std::cout << "connect" << std::endl;
+ boost::asio::io_service dispatcher;
+ boost::asio::ip::tcp::socket sock(dispatcher);
+ sock.connect(tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000)), b_err);
+ std::cout << "connect" << std::endl;
- usleep( 10000 );
+ usleep(10000);
- sock.close( b_err );
+ sock.close(b_err);
}
-class vs_access{
+class vs_access
+{
protected:
- boost::asio::io_service dispatcher;
+ boost::asio::io_service dispatcher;
- l7vs::vs_tcp* vs;
- l7vs::l7vsd vsd;
- l7vs::replication* rep;
- l7vs::error_code vs_err;
+ l7vs::vs_tcp *vs;
+ l7vs::l7vsd vsd;
+ l7vs::replication *rep;
+ l7vs::error_code vs_err;
- boost::condition cond;
+ boost::condition cond;
public:
- vs_access() : vs( NULL ), rep( NULL ) {}
- ~vs_access(){}
+ vs_access() : vs(NULL), rep(NULL) {}
+ ~vs_access() {}
- void initialize( l7vs::virtualservice_element& in_elem ){
- rep = new l7vs::replication();
- vs = new l7vs::vs_tcp( vsd, *rep, in_elem );
- }
+ void initialize(l7vs::virtualservice_element &in_elem) {
+ rep = new l7vs::replication();
+ vs = new l7vs::vs_tcp(vsd, *rep, in_elem);
+ }
- void finalize(){
+ void finalize() {
// vs->finalize( vs_err );
- usleep(10);
- if( NULL != vs ){
- delete vs;
- vs = NULL;
+ usleep(10);
+ if (NULL != vs) {
+ delete vs;
+ vs = NULL;
+ }
+ if (NULL != rep) {
+ delete rep;
+ rep = NULL;
+ }
}
- if( NULL != rep ){
- delete rep;
- rep = NULL;
+
+ void start() {
+ cond.notify_all();
}
- }
- void start(){
- cond.notify_all();
- }
+ void step() {
+ cond.notify_one();
+ }
- void step(){
- cond.notify_one();
- }
+ l7vs::vs_tcp *get_vs() {
+ return vs;
+ }
- l7vs::vs_tcp* get_vs(){
- return vs;
- }
+ void client() {
+ boost::system::error_code b_err;
- void client(){
- boost::system::error_code b_err;
-
- boost::asio::io_service client_io;
- boost::asio::ip::tcp::socket sock( client_io );
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
-
- sock.connect( tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) ), b_err );
- std::cout << "connect" << std::endl;
-
- usleep( 10000 );
-
- sock.close( b_err );
- }
-
- void rs_list_lock(){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
-
- vs->rs_list_lock();
+ boost::asio::io_service client_io;
+ boost::asio::ip::tcp::socket sock(client_io);
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
+
+ sock.connect(tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000)), b_err);
+ std::cout << "connect" << std::endl;
+
+ usleep(10000);
+
+ sock.close(b_err);
+ }
+
+ void rs_list_lock() {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
+
+ vs->rs_list_lock();
// std::cout << "" << std::endl;
- }
- void rs_list_unlock(){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void rs_list_unlock() {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->rs_list_unlock();
+ vs->rs_list_unlock();
- }
+ }
- void get_element( l7vs::virtualservice_element* elem ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void get_element(l7vs::virtualservice_element *elem) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *(elem) = vs->get_element();
+ *(elem) = vs->get_element();
- }
+ }
- void get_qos_upstream( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void get_qos_upstream(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_qos_upstream();
+ *val = vs->get_qos_upstream();
- }
- void get_qos_downstream( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_qos_downstream(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_qos_downstream();
+ *val = vs->get_qos_downstream();
- }
- void get_throughput_upstream( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_throughput_upstream(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_throughput_upstream();
+ *val = vs->get_throughput_upstream();
- }
- void get_throughput_downstream( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_throughput_downstream(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_throughput_downstream();
+ *val = vs->get_throughput_downstream();
- }
- void get_up_recv_size( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_up_recv_size(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_up_recv_size();
+ *val = vs->get_up_recv_size();
- }
- void get_up_send_size( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_up_send_size(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_up_send_size();
+ *val = vs->get_up_send_size();
- }
- void get_down_recv_size( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_down_recv_size(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_down_recv_size();
+ *val = vs->get_down_recv_size();
- }
- void get_down_send_size( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_down_send_size(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_down_send_size();
+ *val = vs->get_down_send_size();
- }
+ }
- void update_up_recv_size( unsigned long long size ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void update_up_recv_size(unsigned long long size) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->update_up_recv_size( size );
+ vs->update_up_recv_size(size);
- }
- void update_up_send_size( unsigned long long size ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void update_up_send_size(unsigned long long size) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->update_up_send_size( size );
+ vs->update_up_send_size(size);
- }
- void update_down_recv_size( unsigned long long size ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void update_down_recv_size(unsigned long long size) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->update_down_recv_size( size );
+ vs->update_down_recv_size(size);
- }
- void update_down_send_size( unsigned long long size ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void update_down_send_size(unsigned long long size) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->update_down_send_size( size );
+ vs->update_down_send_size(size);
- }
+ }
- void get_protocol_module( l7vs::protocol_module_base* in_pm ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void get_protocol_module(l7vs::protocol_module_base *in_pm) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- in_pm = vs->get_protocol_module();
+ in_pm = vs->get_protocol_module();
- }
- void get_schedule_module( l7vs::schedule_module_base* in_sm ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_schedule_module(l7vs::schedule_module_base *in_sm) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- in_sm = vs->get_schedule_module();
+ in_sm = vs->get_schedule_module();
- }
+ }
- void vs_initialize(){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void vs_initialize() {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->initialize( vs_err );
+ vs->initialize(vs_err);
- }
- void vs_finalize(){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void vs_finalize() {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- //vs->finalize( vs_err );
+ //vs->finalize( vs_err );
- BOOST_MESSAGE( "finalize." << boost::this_thread::get_id() );
- }
+ BOOST_MESSAGE("finalize." << boost::this_thread::get_id());
+ }
- void vs_eq( const l7vs::virtualservice_base* in_vs, bool* ret ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void vs_eq(const l7vs::virtualservice_base *in_vs, bool *ret) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *ret = vs->operator==(*in_vs);
+ *ret = vs->operator==(*in_vs);
- }
- void vs_ne( const l7vs::virtualservice_base* in_vs, bool* ret ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void vs_ne(const l7vs::virtualservice_base *in_vs, bool *ret) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *ret = vs->operator!=(*in_vs);
+ *ret = vs->operator!=(*in_vs);
- }
+ }
- void set_virtualservice( const l7vs::virtualservice_element& elem ){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void set_virtualservice(const l7vs::virtualservice_element &elem) {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->set_virtualservice( elem, vs_err );
+ vs->set_virtualservice(elem, vs_err);
- }
- void edit_virtualservice( const l7vs::virtualservice_element& elem ){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void edit_virtualservice(const l7vs::virtualservice_element &elem) {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->edit_virtualservice( elem, vs_err );
+ vs->edit_virtualservice(elem, vs_err);
- }
+ }
- void add_realserver( const l7vs::virtualservice_element& elem ){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void add_realserver(const l7vs::virtualservice_element &elem) {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->add_realserver( elem, vs_err );
+ vs->add_realserver(elem, vs_err);
- }
- void edit_realserver( const l7vs::virtualservice_element& elem ){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void edit_realserver(const l7vs::virtualservice_element &elem) {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->edit_realserver( elem, vs_err );
+ vs->edit_realserver(elem, vs_err);
- }
- void del_realserver( const l7vs::virtualservice_element& elem ){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void del_realserver(const l7vs::virtualservice_element &elem) {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->del_realserver( elem, vs_err );
+ vs->del_realserver(elem, vs_err);
- }
+ }
- void run(){
- vs->run();
- }
- void stop(){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void run() {
+ vs->run();
+ }
+ void stop() {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->stop();
+ vs->stop();
- }
+ }
- void connection_active( const tcp_ep_type& ep ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void connection_active(const tcp_ep_type &ep) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->connection_active( ep );
+ vs->connection_active(ep);
- }
- void connection_inactive( const tcp_ep_type& ep ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void connection_inactive(const tcp_ep_type &ep) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->connection_inactive( ep );
+ vs->connection_inactive(ep);
- }
- void release_session( const l7vs::tcp_session* session_ptr ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void release_session(const l7vs::tcp_session *session_ptr) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->release_session( session_ptr );
- }
+ vs->release_session(session_ptr);
+ }
};
//test case1 create,initialize,run,stop,finalize,destroy(normal case)
-void virtualservice_tcp_test1(){
- counter = 1;
-
- //replicationエリアを作成しておく
- debugg_flug_struct::getInstance().create_rep_area();
-
- boost::asio::io_service dispatcher;
-
- l7vs::l7vsd vsd;
- l7vs::replication rep;
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::virtualservice_element elem1;
-
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.87" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint = tcp_ep_type();
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
-
- //vs作成
- vs_access vst;
-
- vst.initialize( elem1 );
- vst.get_vs()->initialize( vs_err );
-
- //同一メソッドの多重アクセス
-
-
- // unit_test[1] operator==に2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- //比較用のVSを2個作成
- l7vs::virtualservice_element elem2;
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address::from_string( "10.144.169.30" ), (40000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 1234LL;
- elem2.sorry_endpoint = tcp_ep_type();
- elem2.sorry_flag = false;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem2.qos_upstream = 65535ULL;
- elem2.qos_downstream = 32767ULL;
-
- l7vs::vs_tcp* vs1 = new l7vs::vs_tcp( vsd, rep, elem1 );
- l7vs::vs_tcp* vs2 = new l7vs::vs_tcp( vsd, rep, elem2 );
- bool retbool1 = true;
- bool retbool2 = true;
-
- BOOST_CHECK( vst.get_vs()->get_element().udpmode == elem1.udpmode );
- BOOST_CHECK( vst.get_vs()->get_element().tcp_accept_endpoint == elem1.tcp_accept_endpoint );
- BOOST_CHECK( vst.get_vs()->get_element().udp_recv_endpoint == elem1.udp_recv_endpoint );
- BOOST_CHECK( vst.get_vs()->get_element().protocol_module_name == elem1.protocol_module_name );
-
- {
- boost::thread eq1( &vs_access::vs_eq, &vst, vs1, &retbool1 );
- boost::thread eq2( &vs_access::vs_eq, &vst, vs2, &retbool2 );
-
- usleep( 1000 );
- vst.start();
- usleep( 1000 );
- eq1.join();
- eq2.join();
- }
-
- BOOST_CHECK( retbool1 );
- BOOST_CHECK( !retbool2 );
-
- // unit_test[2] operator!=に2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- {
- boost::thread ne1( &vs_access::vs_ne, &vst, vs1, &retbool1 );
- boost::thread ne2( &vs_access::vs_ne, &vst, vs2, &retbool2 );
-
- usleep( 1000 );
- vst.start();
- usleep( 1000 );
- ne1.join();
- ne2.join();
- }
-
- BOOST_CHECK( !retbool1 );
- BOOST_CHECK( retbool2 );
-
- // unit_test[3] rs_list_lockに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- {
- boost::thread lk1( &vs_access::rs_list_lock, &vst );
- boost::thread lk2( &vs_access::rs_list_lock, &vst );
-
- usleep( 1000 );
- vst.start();
- usleep( 1000 );
- lk1.join();
- lk2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 2ULL );
-
- // unit_test[4] rs_list_unlockに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- {
- boost::thread ulk1( &vs_access::rs_list_unlock, &vst );
- boost::thread ulk2( &vs_access::rs_list_unlock, &vst );
-
- usleep( 1000 );
- vst.start();
- usleep( 1000 );
- ulk1.join();
- ulk2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0ULL );
-
- // unit_test[5] get_elementに2スレッドから同時アクセス
- l7vs::virtualservice_element test_elem1;
- l7vs::virtualservice_element test_elem2;
- std::cout << counter++ << std::endl;
- {
- boost::thread get_elem1( &vs_access::get_element, &vst, &test_elem1 );
- boost::thread get_elem2( &vs_access::get_element, &vst, &test_elem2 );
-
- usleep( 1000 );
- vst.start();
- usleep( 1000 );
- get_elem1.join();
- get_elem2.join();
- }
- BOOST_CHECK( test_elem1 == test_elem2 );
-
- // unit_test[6] connection_activeに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- //RSを2つ追加しておく
- l7vs::virtualservice_element elem3;
- //set element value
- elem3.udpmode = false;
- elem3.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem3.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem3.realserver_vector.clear();
- elem3.protocol_module_name = "PMtest1";
- elem3.schedule_module_name = "SMtest1";
- elem3.protocol_args.clear();
- elem3.sorry_maxconnection = 1234LL;
- elem3.sorry_endpoint = tcp_ep_type();
- elem3.sorry_flag = false;
- elem3.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem3.qos_upstream = 65535ULL;
- elem3.qos_downstream = 32767ULL;
- for( size_t i = 0; i < 2; ++i ){
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) );
- elem3.realserver_vector.push_back( rs_elem );
- }
- vst.get_vs()->add_realserver( elem3, vs_err );
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
- tcp_ep_type ep1 = elem3.realserver_vector[0].tcp_endpoint;
- tcp_ep_type ep2 = elem3.realserver_vector[1].tcp_endpoint;
- {
- boost::thread con_act1( &vs_access::connection_active, &vst, ep1 );
- boost::thread con_act2( &vs_access::connection_active, &vst, ep2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- con_act1.join();
- con_act2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_element().realserver_vector[0].get_active() == 1 );
- BOOST_CHECK( vst.get_vs()->get_element().realserver_vector[1].get_active() == 1 );
-
- // unit_test[7] connection_inactiveに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- {
- boost::thread con_inact1( &vs_access::connection_inactive, &vst, ep2 );
- boost::thread con_inact2( &vs_access::connection_inactive, &vst, ep1 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- con_inact1.join();
- con_inact2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_element().realserver_vector[0].get_active() == 0 );
- BOOST_CHECK( vst.get_vs()->get_element().realserver_vector[1].get_active() == 0 );
- BOOST_CHECK( vst.get_vs()->get_element().realserver_vector[0].get_inact() == 1 );
- BOOST_CHECK( vst.get_vs()->get_element().realserver_vector[1].get_inact() == 1 );
+void virtualservice_tcp_test1()
+{
+ counter = 1;
+
+ //replicationエリアを作成しておく
+ debugg_flug_struct::getInstance().create_rep_area();
+
+ boost::asio::io_service dispatcher;
+
+ l7vs::l7vsd vsd;
+ l7vs::replication rep;
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::virtualservice_element elem1;
+
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.87"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint = tcp_ep_type();
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+
+ //vs作成
+ vs_access vst;
+
+ vst.initialize(elem1);
+ vst.get_vs()->initialize(vs_err);
+
+ //同一メソッドの多重アクセス
+
+
+ // unit_test[1] operator==に2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ //比較用のVSを2個作成
+ l7vs::virtualservice_element elem2;
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address::from_string("10.144.169.30"), (40000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 1234LL;
+ elem2.sorry_endpoint = tcp_ep_type();
+ elem2.sorry_flag = false;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem2.qos_upstream = 65535ULL;
+ elem2.qos_downstream = 32767ULL;
+
+ l7vs::vs_tcp *vs1 = new l7vs::vs_tcp(vsd, rep, elem1);
+ l7vs::vs_tcp *vs2 = new l7vs::vs_tcp(vsd, rep, elem2);
+ bool retbool1 = true;
+ bool retbool2 = true;
+
+ BOOST_CHECK(vst.get_vs()->get_element().udpmode == elem1.udpmode);
+ BOOST_CHECK(vst.get_vs()->get_element().tcp_accept_endpoint == elem1.tcp_accept_endpoint);
+ BOOST_CHECK(vst.get_vs()->get_element().udp_recv_endpoint == elem1.udp_recv_endpoint);
+ BOOST_CHECK(vst.get_vs()->get_element().protocol_module_name == elem1.protocol_module_name);
+
+ {
+ boost::thread eq1(&vs_access::vs_eq, &vst, vs1, &retbool1);
+ boost::thread eq2(&vs_access::vs_eq, &vst, vs2, &retbool2);
+
+ usleep(1000);
+ vst.start();
+ usleep(1000);
+ eq1.join();
+ eq2.join();
+ }
+
+ BOOST_CHECK(retbool1);
+ BOOST_CHECK(!retbool2);
+
+ // unit_test[2] operator!=に2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread ne1(&vs_access::vs_ne, &vst, vs1, &retbool1);
+ boost::thread ne2(&vs_access::vs_ne, &vst, vs2, &retbool2);
+
+ usleep(1000);
+ vst.start();
+ usleep(1000);
+ ne1.join();
+ ne2.join();
+ }
+
+ BOOST_CHECK(!retbool1);
+ BOOST_CHECK(retbool2);
+
+ // unit_test[3] rs_list_lockに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread lk1(&vs_access::rs_list_lock, &vst);
+ boost::thread lk2(&vs_access::rs_list_lock, &vst);
+
+ usleep(1000);
+ vst.start();
+ usleep(1000);
+ lk1.join();
+ lk2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 2ULL);
+
+ // unit_test[4] rs_list_unlockに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread ulk1(&vs_access::rs_list_unlock, &vst);
+ boost::thread ulk2(&vs_access::rs_list_unlock, &vst);
+
+ usleep(1000);
+ vst.start();
+ usleep(1000);
+ ulk1.join();
+ ulk2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0ULL);
+
+ // unit_test[5] get_elementに2スレッドから同時アクセス
+ l7vs::virtualservice_element test_elem1;
+ l7vs::virtualservice_element test_elem2;
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread get_elem1(&vs_access::get_element, &vst, &test_elem1);
+ boost::thread get_elem2(&vs_access::get_element, &vst, &test_elem2);
+
+ usleep(1000);
+ vst.start();
+ usleep(1000);
+ get_elem1.join();
+ get_elem2.join();
+ }
+ BOOST_CHECK(test_elem1 == test_elem2);
+
+ // unit_test[6] connection_activeに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ //RSを2つ追加しておく
+ l7vs::virtualservice_element elem3;
+ //set element value
+ elem3.udpmode = false;
+ elem3.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem3.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem3.realserver_vector.clear();
+ elem3.protocol_module_name = "PMtest1";
+ elem3.schedule_module_name = "SMtest1";
+ elem3.protocol_args.clear();
+ elem3.sorry_maxconnection = 1234LL;
+ elem3.sorry_endpoint = tcp_ep_type();
+ elem3.sorry_flag = false;
+ elem3.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem3.qos_upstream = 65535ULL;
+ elem3.qos_downstream = 32767ULL;
+ for (size_t i = 0; i < 2; ++i) {
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080));
+ elem3.realserver_vector.push_back(rs_elem);
+ }
+ vst.get_vs()->add_realserver(elem3, vs_err);
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+ tcp_ep_type ep1 = elem3.realserver_vector[0].tcp_endpoint;
+ tcp_ep_type ep2 = elem3.realserver_vector[1].tcp_endpoint;
+ {
+ boost::thread con_act1(&vs_access::connection_active, &vst, ep1);
+ boost::thread con_act2(&vs_access::connection_active, &vst, ep2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ con_act1.join();
+ con_act2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_element().realserver_vector[0].get_active() == 1);
+ BOOST_CHECK(vst.get_vs()->get_element().realserver_vector[1].get_active() == 1);
+
+ // unit_test[7] connection_inactiveに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread con_inact1(&vs_access::connection_inactive, &vst, ep2);
+ boost::thread con_inact2(&vs_access::connection_inactive, &vst, ep1);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ con_inact1.join();
+ con_inact2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_element().realserver_vector[0].get_active() == 0);
+ BOOST_CHECK(vst.get_vs()->get_element().realserver_vector[1].get_active() == 0);
+ BOOST_CHECK(vst.get_vs()->get_element().realserver_vector[0].get_inact() == 1);
+ BOOST_CHECK(vst.get_vs()->get_element().realserver_vector[1].get_inact() == 1);
// vst.get_vs()->initialize( vs_err );
- boost::thread vs_run( &vs_access::run, &vst );
- usleep( 1000 );
- BOOST_MESSAGE( vst.get_vs()->get_pool_sessions().size() );
- BOOST_CHECK( vst.get_vs()->get_pool_sessions().size() == (l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT - 1) );
-
- // unit_test[8] release_sessionに2スレッドから同時アクセス
- // unit_test[9] stopに2スレッドから同時アクセス
- //あらかじめclientからconnectして、ActiveSessionを2つ以上にしておく
- std::cout << counter++ << std::endl;
- std::cout << counter++ << std::endl;
- {
- usleep( 1000 );
- boost::thread cl1( &client );
- boost::thread cl2( &client );
- usleep( 1000000 );
-
- BOOST_CHECK( vst.get_vs()->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-3 );
- BOOST_CHECK( vst.get_vs()->get_waiting_sessions().size() == 1 );
- BOOST_CHECK( vst.get_vs()->get_active_sessions().size() == 2 );
-
- cl1.join();
- cl2.join();
-
- //stopのスレッドを作成
- boost::thread stop1( &vs_access::stop, &vst );
- boost::thread stop2( &vs_access::stop, &vst );
-
- usleep( 100000 );
- vst.start();
- usleep( 100000 );
- //stopの流れでrelease_sessionも呼ばれる
- stop1.join();
- stop2.join();
- }
- std::cout << vst.get_vs()->get_pool_sessions().size() << std::endl;
- BOOST_CHECK( vst.get_vs()->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT-3 );
- std::cout << vst.get_vs()->get_waiting_sessions().size() << std::endl;
- BOOST_CHECK( vst.get_vs()->get_waiting_sessions().size() == 1 );
- vs_run.join();
-
- // unit_test[10] get_qos_upstreamに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- unsigned long long qos1 = 0;
- unsigned long long qos2 = 0;
- {
- boost::thread qosup1( &vs_access::get_qos_upstream, &vst, &qos1 );
- boost::thread qosup2( &vs_access::get_qos_upstream, &vst, &qos2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- qosup1.join();
- qosup2.join();
- }
- BOOST_CHECK( qos1 == elem1.qos_upstream );
- BOOST_CHECK( qos2 == elem1.qos_upstream );
-
- // unit_test[11] get_qos_downstreamに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- {
- boost::thread qosdown1( &vs_access::get_qos_downstream, &vst, &qos1 );
- boost::thread qosdown2( &vs_access::get_qos_downstream, &vst, &qos2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- qosdown1.join();
- qosdown2.join();
- }
- BOOST_CHECK( qos1 == elem1.qos_downstream );
- BOOST_CHECK( qos2 == elem1.qos_downstream );
-
- // unit_test[12] get_throughput_upstreamに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- unsigned long long throughput1 = 65535ULL;
- unsigned long long throughput2 = 65535ULL;
- {
- boost::thread get_throughput1( &vs_access::get_throughput_upstream, &vst, &throughput1 );
- boost::thread get_throughput2( &vs_access::get_throughput_upstream, &vst, &throughput2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- get_throughput1.join();
- get_throughput2.join();
- }
- BOOST_CHECK( throughput1 == 0ULL );
- BOOST_CHECK( throughput1 == 0ULL );
-
- // unit_test[13] get_throughput_downstreamに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- throughput1 = 65535ULL;
- throughput2 = 65535ULL;
- {
- boost::thread thread1( &vs_access::get_throughput_downstream, &vst, &throughput1 );
- boost::thread thread2( &vs_access::get_throughput_downstream, &vst, &throughput2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( throughput1 == 0ULL );
- BOOST_CHECK( throughput1 == 0ULL );
-
- // unit_test[14] get_up_recv_sizeに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- unsigned long long recv_size1 = 65535ULL;
- unsigned long long recv_size2 = 65535ULL;
- {
- boost::thread thread1( &vs_access::get_up_recv_size, &vst, &recv_size1 );
- boost::thread thread2( &vs_access::get_up_recv_size, &vst, &recv_size2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( recv_size1 == 0ULL );
- BOOST_CHECK( recv_size2 == 0ULL );
-
- // unit_test[15] get_up_send_sizeに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- recv_size1 = 65535ULL;
- recv_size2 = 65535ULL;
- {
- boost::thread thread1( &vs_access::get_up_send_size, &vst, &recv_size1 );
- boost::thread thread2( &vs_access::get_up_send_size, &vst, &recv_size2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( recv_size1 == 0ULL );
- BOOST_CHECK( recv_size2 == 0ULL );
-
- // unit_test[16] get_down_recv_sizeに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- recv_size1 = 65535ULL;
- recv_size2 = 65535ULL;
- {
- boost::thread thread1( &vs_access::get_down_recv_size, &vst, &recv_size1 );
- boost::thread thread2( &vs_access::get_down_recv_size, &vst, &recv_size2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( recv_size1 == 0ULL );
- BOOST_CHECK( recv_size2 == 0ULL );
-
- // unit_test[17] get_down_send_sizeに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- recv_size1 = 65535ULL;
- recv_size2 = 65535ULL;
- {
- boost::thread thread1( &vs_access::get_down_send_size, &vst, &recv_size1 );
- boost::thread thread2( &vs_access::get_down_send_size, &vst, &recv_size2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( recv_size1 == 0ULL );
- BOOST_CHECK( recv_size2 == 0ULL );
-
- // unit_test[18] update_up_recv_sizeに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- {
- boost::thread thread1( &vs_access::update_up_recv_size, &vst, 1000ULL );
- boost::thread thread2( &vs_access::update_up_recv_size, &vst, 200ULL );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- recv_size1 = vst.get_vs()->get_up_recv_size();
- BOOST_CHECK( recv_size1 == 1200ULL );
-
- // unit_test[19] update_up_send_sizeに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- {
- boost::thread thread1( &vs_access::update_up_send_size, &vst, 100ULL );
- boost::thread thread2( &vs_access::update_up_send_size, &vst, 300ULL );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- recv_size1 = vst.get_vs()->get_up_send_size();
- BOOST_CHECK( recv_size1 == 400ULL );
-
- // unit_test[20] update_down_recv_sizeに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- {
- boost::thread thread1( &vs_access::update_down_recv_size, &vst, 10ULL );
- boost::thread thread2( &vs_access::update_down_recv_size, &vst, 500ULL );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- recv_size1 = vst.get_vs()->get_down_recv_size();
- BOOST_CHECK( recv_size1 == 510ULL );
-
- // unit_test[21] update_down_send_sizeに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- {
- boost::thread thread1( &vs_access::update_down_send_size, &vst, 8000ULL );
- boost::thread thread2( &vs_access::update_down_send_size, &vst, 5000ULL );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- recv_size1 = vst.get_vs()->get_down_send_size();
- BOOST_CHECK( recv_size1 == 13000ULL );
-
- // unit_test[22] get_protocol_moduleに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- l7vs::protocol_module_base* pmb1 = NULL;
- l7vs::protocol_module_base* pmb2 = NULL;
- {
- boost::thread thread1( &vs_access::get_protocol_module, &vst, pmb1 );
- boost::thread thread2( &vs_access::get_protocol_module, &vst, pmb2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( pmb1 == pmb2 );
-
- // unit_test[23] get_schedule_moduleに2スレッドから同時アクセス
- std::cout << counter++ << std::endl;
- l7vs::schedule_module_base* smb1 = NULL;
- l7vs::schedule_module_base* smb2 = NULL;
- {
- boost::thread thread1( &vs_access::get_schedule_module, &vst, smb1 );
- boost::thread thread2( &vs_access::get_schedule_module, &vst, smb2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( smb1 == smb2 );
-
-
- vst.finalize();
-
- //replicationエリアを開放する
- debugg_flug_struct::getInstance().destroy_rep_area();
+ boost::thread vs_run(&vs_access::run, &vst);
+ usleep(1000);
+ BOOST_MESSAGE(vst.get_vs()->get_pool_sessions().size());
+ BOOST_CHECK(vst.get_vs()->get_pool_sessions().size() == (l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT - 1));
+
+ // unit_test[8] release_sessionに2スレッドから同時アクセス
+ // unit_test[9] stopに2スレッドから同時アクセス
+ //あらかじめclientからconnectして、ActiveSessionを2つ以上にしておく
+ std::cout << counter++ << std::endl;
+ std::cout << counter++ << std::endl;
+ {
+ usleep(1000);
+ boost::thread cl1(&client);
+ boost::thread cl2(&client);
+ usleep(1000000);
+
+ BOOST_CHECK(vst.get_vs()->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT - 3);
+ BOOST_CHECK(vst.get_vs()->get_waiting_sessions().size() == 1);
+ BOOST_CHECK(vst.get_vs()->get_active_sessions().size() == 2);
+
+ cl1.join();
+ cl2.join();
+
+ //stopのスレッドを作成
+ boost::thread stop1(&vs_access::stop, &vst);
+ boost::thread stop2(&vs_access::stop, &vst);
+
+ usleep(100000);
+ vst.start();
+ usleep(100000);
+ //stopの流れでrelease_sessionも呼ばれる
+ stop1.join();
+ stop2.join();
+ }
+ std::cout << vst.get_vs()->get_pool_sessions().size() << std::endl;
+ BOOST_CHECK(vst.get_vs()->get_pool_sessions().size() == l7vs::virtualservice_base::SESSION_POOL_NUM_DEFAULT - 3);
+ std::cout << vst.get_vs()->get_waiting_sessions().size() << std::endl;
+ BOOST_CHECK(vst.get_vs()->get_waiting_sessions().size() == 1);
+ vs_run.join();
+
+ // unit_test[10] get_qos_upstreamに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ unsigned long long qos1 = 0;
+ unsigned long long qos2 = 0;
+ {
+ boost::thread qosup1(&vs_access::get_qos_upstream, &vst, &qos1);
+ boost::thread qosup2(&vs_access::get_qos_upstream, &vst, &qos2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ qosup1.join();
+ qosup2.join();
+ }
+ BOOST_CHECK(qos1 == elem1.qos_upstream);
+ BOOST_CHECK(qos2 == elem1.qos_upstream);
+
+ // unit_test[11] get_qos_downstreamに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread qosdown1(&vs_access::get_qos_downstream, &vst, &qos1);
+ boost::thread qosdown2(&vs_access::get_qos_downstream, &vst, &qos2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ qosdown1.join();
+ qosdown2.join();
+ }
+ BOOST_CHECK(qos1 == elem1.qos_downstream);
+ BOOST_CHECK(qos2 == elem1.qos_downstream);
+
+ // unit_test[12] get_throughput_upstreamに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ unsigned long long throughput1 = 65535ULL;
+ unsigned long long throughput2 = 65535ULL;
+ {
+ boost::thread get_throughput1(&vs_access::get_throughput_upstream, &vst, &throughput1);
+ boost::thread get_throughput2(&vs_access::get_throughput_upstream, &vst, &throughput2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ get_throughput1.join();
+ get_throughput2.join();
+ }
+ BOOST_CHECK(throughput1 == 0ULL);
+ BOOST_CHECK(throughput1 == 0ULL);
+
+ // unit_test[13] get_throughput_downstreamに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ throughput1 = 65535ULL;
+ throughput2 = 65535ULL;
+ {
+ boost::thread thread1(&vs_access::get_throughput_downstream, &vst, &throughput1);
+ boost::thread thread2(&vs_access::get_throughput_downstream, &vst, &throughput2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(throughput1 == 0ULL);
+ BOOST_CHECK(throughput1 == 0ULL);
+
+ // unit_test[14] get_up_recv_sizeに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ unsigned long long recv_size1 = 65535ULL;
+ unsigned long long recv_size2 = 65535ULL;
+ {
+ boost::thread thread1(&vs_access::get_up_recv_size, &vst, &recv_size1);
+ boost::thread thread2(&vs_access::get_up_recv_size, &vst, &recv_size2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(recv_size1 == 0ULL);
+ BOOST_CHECK(recv_size2 == 0ULL);
+
+ // unit_test[15] get_up_send_sizeに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ recv_size1 = 65535ULL;
+ recv_size2 = 65535ULL;
+ {
+ boost::thread thread1(&vs_access::get_up_send_size, &vst, &recv_size1);
+ boost::thread thread2(&vs_access::get_up_send_size, &vst, &recv_size2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(recv_size1 == 0ULL);
+ BOOST_CHECK(recv_size2 == 0ULL);
+
+ // unit_test[16] get_down_recv_sizeに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ recv_size1 = 65535ULL;
+ recv_size2 = 65535ULL;
+ {
+ boost::thread thread1(&vs_access::get_down_recv_size, &vst, &recv_size1);
+ boost::thread thread2(&vs_access::get_down_recv_size, &vst, &recv_size2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(recv_size1 == 0ULL);
+ BOOST_CHECK(recv_size2 == 0ULL);
+
+ // unit_test[17] get_down_send_sizeに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ recv_size1 = 65535ULL;
+ recv_size2 = 65535ULL;
+ {
+ boost::thread thread1(&vs_access::get_down_send_size, &vst, &recv_size1);
+ boost::thread thread2(&vs_access::get_down_send_size, &vst, &recv_size2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(recv_size1 == 0ULL);
+ BOOST_CHECK(recv_size2 == 0ULL);
+
+ // unit_test[18] update_up_recv_sizeに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread thread1(&vs_access::update_up_recv_size, &vst, 1000ULL);
+ boost::thread thread2(&vs_access::update_up_recv_size, &vst, 200ULL);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ recv_size1 = vst.get_vs()->get_up_recv_size();
+ BOOST_CHECK(recv_size1 == 1200ULL);
+
+ // unit_test[19] update_up_send_sizeに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread thread1(&vs_access::update_up_send_size, &vst, 100ULL);
+ boost::thread thread2(&vs_access::update_up_send_size, &vst, 300ULL);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ recv_size1 = vst.get_vs()->get_up_send_size();
+ BOOST_CHECK(recv_size1 == 400ULL);
+
+ // unit_test[20] update_down_recv_sizeに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread thread1(&vs_access::update_down_recv_size, &vst, 10ULL);
+ boost::thread thread2(&vs_access::update_down_recv_size, &vst, 500ULL);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ recv_size1 = vst.get_vs()->get_down_recv_size();
+ BOOST_CHECK(recv_size1 == 510ULL);
+
+ // unit_test[21] update_down_send_sizeに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread thread1(&vs_access::update_down_send_size, &vst, 8000ULL);
+ boost::thread thread2(&vs_access::update_down_send_size, &vst, 5000ULL);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ recv_size1 = vst.get_vs()->get_down_send_size();
+ BOOST_CHECK(recv_size1 == 13000ULL);
+
+ // unit_test[22] get_protocol_moduleに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ l7vs::protocol_module_base *pmb1 = NULL;
+ l7vs::protocol_module_base *pmb2 = NULL;
+ {
+ boost::thread thread1(&vs_access::get_protocol_module, &vst, pmb1);
+ boost::thread thread2(&vs_access::get_protocol_module, &vst, pmb2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(pmb1 == pmb2);
+
+ // unit_test[23] get_schedule_moduleに2スレッドから同時アクセス
+ std::cout << counter++ << std::endl;
+ l7vs::schedule_module_base *smb1 = NULL;
+ l7vs::schedule_module_base *smb2 = NULL;
+ {
+ boost::thread thread1(&vs_access::get_schedule_module, &vst, smb1);
+ boost::thread thread2(&vs_access::get_schedule_module, &vst, smb2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(smb1 == smb2);
+
+
+ vst.finalize();
+
+ //replicationエリアを開放する
+ debugg_flug_struct::getInstance().destroy_rep_area();
}
//組み合わせアクセステスト
-void virtualservice_tcp_test2(){
- //replicationエリアを作成しておく
- debugg_flug_struct::getInstance().create_rep_area();
-
- boost::asio::io_service dispatcher;
-
- l7vs::l7vsd vsd;
- l7vs::replication rep();
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::virtualservice_element elem1;
-
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint = tcp_ep_type();
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
-
- //vs作成
- vs_access vst;
- vst.initialize( elem1 );
- vst.get_vs()->initialize( vs_err );
- //待ち受け開始
- boost::thread vs_run( &vs_access::run, &vst );
- usleep( 1000 );
-
- // unit_test[24] sessionがActiveになるときに、release_sessionされるケース
- // unit_test[25] sessionがActiveになるときにfinalize
- // unit_test[26] release_sessionされるときにfinalize
- std::cout << counter++ << std::endl;
- std::cout << counter++ << std::endl;
- std::cout << counter++ << std::endl;
- // finalizeを呼べば、stopされてrelease_sessionされる。
- {
- boost::thread thread1( &vs_access::client, &vst );
- boost::thread thread2( &vs_access::vs_finalize, &vst );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
-
- vst.get_vs()->stop();
- usleep( 1000 );
- vs_run.join();
-
- vst.finalize();
- usleep( 1000 );
-
- //replicationエリアを開放する
- debugg_flug_struct::getInstance().destroy_rep_area();
+void virtualservice_tcp_test2()
+{
+ //replicationエリアを作成しておく
+ debugg_flug_struct::getInstance().create_rep_area();
+
+ boost::asio::io_service dispatcher;
+
+ l7vs::l7vsd vsd;
+ l7vs::replication rep();
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::virtualservice_element elem1;
+
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint = tcp_ep_type();
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+
+ //vs作成
+ vs_access vst;
+ vst.initialize(elem1);
+ vst.get_vs()->initialize(vs_err);
+ //待ち受け開始
+ boost::thread vs_run(&vs_access::run, &vst);
+ usleep(1000);
+
+ // unit_test[24] sessionがActiveになるときに、release_sessionされるケース
+ // unit_test[25] sessionがActiveになるときにfinalize
+ // unit_test[26] release_sessionされるときにfinalize
+ std::cout << counter++ << std::endl;
+ std::cout << counter++ << std::endl;
+ std::cout << counter++ << std::endl;
+ // finalizeを呼べば、stopされてrelease_sessionされる。
+ {
+ boost::thread thread1(&vs_access::client, &vst);
+ boost::thread thread2(&vs_access::vs_finalize, &vst);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+
+ vst.get_vs()->stop();
+ usleep(1000);
+ vs_run.join();
+
+ vst.finalize();
+ usleep(1000);
+
+ //replicationエリアを開放する
+ debugg_flug_struct::getInstance().destroy_rep_area();
}
-void virtualservice_tcp_test3(){
- //replicationエリアを作成しておく
- debugg_flug_struct::getInstance().create_rep_area();
+void virtualservice_tcp_test3()
+{
+ //replicationエリアを作成しておく
+ debugg_flug_struct::getInstance().create_rep_area();
// boost::asio::io_service dispatcher;
- l7vs::l7vsd vsd;
- l7vs::replication rep();
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::virtualservice_element elem1;
-
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint = tcp_ep_type();
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
-
- //vs作成
- vs_access vst;
- vst.initialize( elem1 );
-
- //rs追加
- // unit_test[27] add_rsとrs_list_lock
- std::cout << counter++ << std::endl;
- //RS追加用のelement準備
- l7vs::virtualservice_element elem2;
- //set element value
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 1234LL;
- elem2.sorry_endpoint = tcp_ep_type();
- elem2.sorry_flag = false;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem2.qos_upstream = 65535ULL;
- elem2.qos_downstream = 32767ULL;
- for( size_t i = 0; i < 2; ++i ){
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) );
- rs_elem.weight = 10+i;
- elem2.realserver_vector.push_back( rs_elem );
- }
- {
- boost::thread thread1( &vs_access::rs_list_lock, &vst );
- boost::thread thread2( &vs_access::add_realserver, &vst, elem2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
- //ref_countが1のままだとadd_realserverができないのでunlockする
- vst.get_vs()->rs_list_unlock();
- usleep( 100000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
-
- //一旦削除
- vst.get_vs()->del_realserver( elem2, vs_err );
-
- // unit_test[28] add_rsとrs_list_unlock(ref_countが1でスタートした場合)
- std::cout << counter++ << std::endl;
- {
- //あらかじめlockしておいてref_countを1にしておく
- vst.get_vs()->rs_list_lock();
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
-
- boost::thread thread1( &vs_access::add_realserver, &vst, elem2 );
- boost::thread thread2( &vs_access::rs_list_unlock, &vst );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
-
- // unit_test[29] add_rsとconnection_active
- std::cout << counter++ << std::endl;
- //RS追加用のelement準備
- l7vs::virtualservice_element elem3;
- //set element value
- elem3.udpmode = false;
- elem3.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem3.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem3.realserver_vector.clear();
- elem3.protocol_module_name = "PMtest1";
- elem3.schedule_module_name = "SMtest1";
- elem3.protocol_args.clear();
- elem3.sorry_maxconnection = 1234LL;
- elem3.sorry_endpoint = tcp_ep_type();
- elem3.sorry_flag = false;
- elem3.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem3.qos_upstream = 65535ULL;
- elem3.qos_downstream = 32767ULL;
- for( size_t i = 0; i < 2; ++i ){
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8090) );
- rs_elem.weight = 5+i;
- elem3.realserver_vector.push_back( rs_elem );
- }
- {
- boost::thread thread1( &vs_access::add_realserver, &vst, elem3 );
- boost::thread thread2( &vs_access::connection_active, &vst, elem2.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "active_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 1 );
- BOOST_CHECK( itr->get_inact() == 0 );
- break;
- }
- }
-
- //一旦削除
- vst.get_vs()->del_realserver( elem3, vs_err );
-
- // unit_test[30] add_rsとconnection_inactive
- std::cout << counter++ << std::endl;
- {
- boost::thread thread1( &vs_access::add_realserver, &vst, elem3 );
- boost::thread thread2( &vs_access::connection_inactive, &vst, elem2.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "inactive_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 0 );
- BOOST_CHECK( itr->get_inact() == 1 );
- break;
- }
- }
-
- //rs変更
- // unit_test[31] edit_rsとrs_list_lock
- std::cout << counter++ << std::endl;
- //RS編集用のelement準備
- l7vs::virtualservice_element elem4;
- //set element value
- elem4.udpmode = false;
- elem4.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem4.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem4.realserver_vector.clear();
- elem4.protocol_module_name = "PMtest1";
- elem4.schedule_module_name = "SMtest1";
- elem4.protocol_args.clear();
- elem4.sorry_maxconnection = 1234LL;
- elem4.sorry_endpoint = tcp_ep_type();
- elem4.sorry_flag = false;
- elem4.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem4.qos_upstream = 65535ULL;
- elem4.qos_downstream = 32767ULL;
- for( size_t i = 0; i < 2; ++i ){
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) );
- rs_elem.weight = 5+i;
- elem4.realserver_vector.push_back( rs_elem );
- }
- {
- boost::thread thread1( &vs_access::edit_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::rs_list_lock, &vst );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
- //ref_countが1のままだとedit_realserverができないのでunlockする
- vst.get_vs()->rs_list_unlock();
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
- usleep( 100000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
-
- // unit_test[32] edit_rsとrs_list_unlock
- std::cout << counter++ << std::endl;
- {
- //あらかじめlockしておいてref_countを1にしておく
- vst.get_vs()->rs_list_lock();
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
-
- boost::thread thread1( &vs_access::edit_realserver, &vst, elem2 );
- boost::thread thread2( &vs_access::rs_list_unlock, &vst );
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
-
- // unit_test[33] edit_rsとconnection_active
- std::cout << counter++ << std::endl;
- elem4.realserver_vector.clear();
- for( size_t i = 0; i < 2; ++i ){
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) );
- rs_elem.weight = 100+i;
- elem4.realserver_vector.push_back( rs_elem );
- }
- {
- boost::thread thread1( &vs_access::edit_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::connection_active, &vst, elem2.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "active_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 1 );
- BOOST_CHECK( itr->get_inact() == 1 );
- break;
- }
- }
- // unit_test[34] edit_rsとconnection_inactive
- std::cout << counter++ << std::endl;
- {
- boost::thread thread1( &vs_access::edit_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::connection_inactive, &vst, elem2.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "inactive_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 0 );
- BOOST_CHECK( itr->get_inact() == 2 );
- break;
- }
- }
-
- //rs削除
- // unit_test[35] del_rsとrs_list_lock
- std::cout << counter++ << std::endl;
- {
- boost::thread thread1( &vs_access::del_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::rs_list_lock, &vst );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
- //ref_countが1のままだとedit_realserverができないのでunlockする
- vst.get_vs()->rs_list_unlock();
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
- usleep( 100000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
-
- //再度追加
- vst.get_vs()->add_realserver( elem4, vs_err );
-
- // unit_test[36] del_rsとrs_list_unlock
- std::cout << counter++ << std::endl;
- {
- //あらかじめlockしておいてref_countを1にしておく
- vst.get_vs()->rs_list_lock();
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
-
- boost::thread thread1( &vs_access::del_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::rs_list_unlock, &vst );
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
-
- //再度追加
- vst.get_vs()->add_realserver( elem4, vs_err );
-
- //del_rsとconnection_active
- {
- boost::thread thread1( &vs_access::del_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::connection_active, &vst, elem3.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "active_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 1 );
- BOOST_CHECK( itr->get_inact() == 0 );
- break;
- }
- }
-
- //再度追加
- vst.get_vs()->add_realserver( elem4, vs_err );
- //del_rsとconnection_inactive
- {
- boost::thread thread1( &vs_access::del_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::connection_inactive, &vst, elem3.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "inactive_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 0 );
- BOOST_CHECK( itr->get_inact() == 1 );
- break;
- }
- }
-
- vst.finalize();
- //replicationエリアを開放する
- debugg_flug_struct::getInstance().destroy_rep_area();
+ l7vs::l7vsd vsd;
+ l7vs::replication rep();
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::virtualservice_element elem1;
+
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint = tcp_ep_type();
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+
+ //vs作成
+ vs_access vst;
+ vst.initialize(elem1);
+
+ //rs追加
+ // unit_test[27] add_rsとrs_list_lock
+ std::cout << counter++ << std::endl;
+ //RS追加用のelement準備
+ l7vs::virtualservice_element elem2;
+ //set element value
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 1234LL;
+ elem2.sorry_endpoint = tcp_ep_type();
+ elem2.sorry_flag = false;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem2.qos_upstream = 65535ULL;
+ elem2.qos_downstream = 32767ULL;
+ for (size_t i = 0; i < 2; ++i) {
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080));
+ rs_elem.weight = 10 + i;
+ elem2.realserver_vector.push_back(rs_elem);
+ }
+ {
+ boost::thread thread1(&vs_access::rs_list_lock, &vst);
+ boost::thread thread2(&vs_access::add_realserver, &vst, elem2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+ //ref_countが1のままだとadd_realserverができないのでunlockする
+ vst.get_vs()->rs_list_unlock();
+ usleep(100000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+
+ //一旦削除
+ vst.get_vs()->del_realserver(elem2, vs_err);
+
+ // unit_test[28] add_rsとrs_list_unlock(ref_countが1でスタートした場合)
+ std::cout << counter++ << std::endl;
+ {
+ //あらかじめlockしておいてref_countを1にしておく
+ vst.get_vs()->rs_list_lock();
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+
+ boost::thread thread1(&vs_access::add_realserver, &vst, elem2);
+ boost::thread thread2(&vs_access::rs_list_unlock, &vst);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+
+ // unit_test[29] add_rsとconnection_active
+ std::cout << counter++ << std::endl;
+ //RS追加用のelement準備
+ l7vs::virtualservice_element elem3;
+ //set element value
+ elem3.udpmode = false;
+ elem3.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem3.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem3.realserver_vector.clear();
+ elem3.protocol_module_name = "PMtest1";
+ elem3.schedule_module_name = "SMtest1";
+ elem3.protocol_args.clear();
+ elem3.sorry_maxconnection = 1234LL;
+ elem3.sorry_endpoint = tcp_ep_type();
+ elem3.sorry_flag = false;
+ elem3.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem3.qos_upstream = 65535ULL;
+ elem3.qos_downstream = 32767ULL;
+ for (size_t i = 0; i < 2; ++i) {
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8090));
+ rs_elem.weight = 5 + i;
+ elem3.realserver_vector.push_back(rs_elem);
+ }
+ {
+ boost::thread thread1(&vs_access::add_realserver, &vst, elem3);
+ boost::thread thread2(&vs_access::connection_active, &vst, elem2.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "active_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 1);
+ BOOST_CHECK(itr->get_inact() == 0);
+ break;
+ }
+ }
+
+ //一旦削除
+ vst.get_vs()->del_realserver(elem3, vs_err);
+
+ // unit_test[30] add_rsとconnection_inactive
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread thread1(&vs_access::add_realserver, &vst, elem3);
+ boost::thread thread2(&vs_access::connection_inactive, &vst, elem2.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "inactive_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 0);
+ BOOST_CHECK(itr->get_inact() == 1);
+ break;
+ }
+ }
+
+ //rs変更
+ // unit_test[31] edit_rsとrs_list_lock
+ std::cout << counter++ << std::endl;
+ //RS編集用のelement準備
+ l7vs::virtualservice_element elem4;
+ //set element value
+ elem4.udpmode = false;
+ elem4.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem4.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem4.realserver_vector.clear();
+ elem4.protocol_module_name = "PMtest1";
+ elem4.schedule_module_name = "SMtest1";
+ elem4.protocol_args.clear();
+ elem4.sorry_maxconnection = 1234LL;
+ elem4.sorry_endpoint = tcp_ep_type();
+ elem4.sorry_flag = false;
+ elem4.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem4.qos_upstream = 65535ULL;
+ elem4.qos_downstream = 32767ULL;
+ for (size_t i = 0; i < 2; ++i) {
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080));
+ rs_elem.weight = 5 + i;
+ elem4.realserver_vector.push_back(rs_elem);
+ }
+ {
+ boost::thread thread1(&vs_access::edit_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::rs_list_lock, &vst);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+ //ref_countが1のままだとedit_realserverができないのでunlockする
+ vst.get_vs()->rs_list_unlock();
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+ usleep(100000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+
+ // unit_test[32] edit_rsとrs_list_unlock
+ std::cout << counter++ << std::endl;
+ {
+ //あらかじめlockしておいてref_countを1にしておく
+ vst.get_vs()->rs_list_lock();
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+
+ boost::thread thread1(&vs_access::edit_realserver, &vst, elem2);
+ boost::thread thread2(&vs_access::rs_list_unlock, &vst);
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+
+ // unit_test[33] edit_rsとconnection_active
+ std::cout << counter++ << std::endl;
+ elem4.realserver_vector.clear();
+ for (size_t i = 0; i < 2; ++i) {
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080));
+ rs_elem.weight = 100 + i;
+ elem4.realserver_vector.push_back(rs_elem);
+ }
+ {
+ boost::thread thread1(&vs_access::edit_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::connection_active, &vst, elem2.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "active_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 1);
+ BOOST_CHECK(itr->get_inact() == 1);
+ break;
+ }
+ }
+ // unit_test[34] edit_rsとconnection_inactive
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread thread1(&vs_access::edit_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::connection_inactive, &vst, elem2.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "inactive_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 0);
+ BOOST_CHECK(itr->get_inact() == 2);
+ break;
+ }
+ }
+
+ //rs削除
+ // unit_test[35] del_rsとrs_list_lock
+ std::cout << counter++ << std::endl;
+ {
+ boost::thread thread1(&vs_access::del_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::rs_list_lock, &vst);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+ //ref_countが1のままだとedit_realserverができないのでunlockする
+ vst.get_vs()->rs_list_unlock();
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+ usleep(100000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+
+ //再度追加
+ vst.get_vs()->add_realserver(elem4, vs_err);
+
+ // unit_test[36] del_rsとrs_list_unlock
+ std::cout << counter++ << std::endl;
+ {
+ //あらかじめlockしておいてref_countを1にしておく
+ vst.get_vs()->rs_list_lock();
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+
+ boost::thread thread1(&vs_access::del_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::rs_list_unlock, &vst);
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+
+ //再度追加
+ vst.get_vs()->add_realserver(elem4, vs_err);
+
+ //del_rsとconnection_active
+ {
+ boost::thread thread1(&vs_access::del_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::connection_active, &vst, elem3.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "active_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 1);
+ BOOST_CHECK(itr->get_inact() == 0);
+ break;
+ }
+ }
+
+ //再度追加
+ vst.get_vs()->add_realserver(elem4, vs_err);
+ //del_rsとconnection_inactive
+ {
+ boost::thread thread1(&vs_access::del_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::connection_inactive, &vst, elem3.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "inactive_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 0);
+ BOOST_CHECK(itr->get_inact() == 1);
+ break;
+ }
+ }
+
+ vst.finalize();
+ //replicationエリアを開放する
+ debugg_flug_struct::getInstance().destroy_rep_area();
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "virtualservice_base_test" );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("virtualservice_base_test");
- // add test case to test suite
- ts->add( BOOST_TEST_CASE( &virtualservice_tcp_test1 ) );
- ts->add( BOOST_TEST_CASE( &virtualservice_tcp_test2 ) );
+ // add test case to test suite
+ ts->add(BOOST_TEST_CASE(&virtualservice_tcp_test1));
+ ts->add(BOOST_TEST_CASE(&virtualservice_tcp_test2));
// ts->add( BOOST_TEST_CASE( &virtualservice_tcp_test3 ) );
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}
typedef boost::asio::ip::udp::endpoint udp_ep_type;
//Acceptテスト用Client
-void client(){
- boost::system::error_code b_err;
+void client()
+{
+ boost::system::error_code b_err;
- boost::asio::io_service dispatcher;
- boost::asio::ip::tcp::socket sock( dispatcher );
- sock.connect( tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) ), b_err );
- std::cout << "connect" << std::endl;
+ boost::asio::io_service dispatcher;
+ boost::asio::ip::tcp::socket sock(dispatcher);
+ sock.connect(tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000)), b_err);
+ std::cout << "connect" << std::endl;
- usleep( 10000 );
+ usleep(10000);
- sock.close( b_err );
+ sock.close(b_err);
}
-class vs_access{
+class vs_access
+{
protected:
- boost::asio::io_service dispatcher;
+ boost::asio::io_service dispatcher;
- l7vs::vs_tcp* vs;
- l7vs::l7vsd vsd;
- l7vs::replication* rep;
- l7vs::error_code vs_err;
+ l7vs::vs_tcp *vs;
+ l7vs::l7vsd vsd;
+ l7vs::replication *rep;
+ l7vs::error_code vs_err;
- boost::condition cond;
+ boost::condition cond;
public:
- vs_access() : vs( NULL ), rep( NULL ) {}
- ~vs_access(){}
+ vs_access() : vs(NULL), rep(NULL) {}
+ ~vs_access() {}
- void initialize( l7vs::virtualservice_element& in_elem ){
- rep = new l7vs::replication();
- vs = new l7vs::vs_tcp( vsd, *rep, in_elem );
- }
+ void initialize(l7vs::virtualservice_element &in_elem) {
+ rep = new l7vs::replication();
+ vs = new l7vs::vs_tcp(vsd, *rep, in_elem);
+ }
- void finalize(){
- vs->finalize( vs_err );
- usleep(10);
- if( NULL != vs ){
- delete vs;
- vs = NULL;
+ void finalize() {
+ vs->finalize(vs_err);
+ usleep(10);
+ if (NULL != vs) {
+ delete vs;
+ vs = NULL;
+ }
+ if (NULL != rep) {
+ delete rep;
+ rep = NULL;
+ }
}
- if( NULL != rep ){
- delete rep;
- rep = NULL;
+
+ void start() {
+ cond.notify_all();
}
- }
- void start(){
- cond.notify_all();
- }
+ void step() {
+ cond.notify_one();
+ }
- void step(){
- cond.notify_one();
- }
+ l7vs::vs_tcp *get_vs() {
+ return vs;
+ }
- l7vs::vs_tcp* get_vs(){
- return vs;
- }
+ void client() {
+ boost::system::error_code b_err;
- void client(){
- boost::system::error_code b_err;
-
- boost::asio::io_service client_io;
- boost::asio::ip::tcp::socket sock( client_io );
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
-
- sock.connect( tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) ), b_err );
- std::cout << "connect" << std::endl;
-
- usleep( 10000 );
-
- sock.close( b_err );
- }
-
- void rs_list_lock(){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
-
- vs->rs_list_lock();
+ boost::asio::io_service client_io;
+ boost::asio::ip::tcp::socket sock(client_io);
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
+
+ sock.connect(tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000)), b_err);
+ std::cout << "connect" << std::endl;
+
+ usleep(10000);
+
+ sock.close(b_err);
+ }
+
+ void rs_list_lock() {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
+
+ vs->rs_list_lock();
// std::cout << "" << std::endl;
- }
- void rs_list_unlock(){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void rs_list_unlock() {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->rs_list_unlock();
+ vs->rs_list_unlock();
- }
+ }
- void get_element( l7vs::virtualservice_element* elem ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void get_element(l7vs::virtualservice_element *elem) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *(elem) = vs->get_element();
+ *(elem) = vs->get_element();
- }
+ }
- void get_qos_upstream( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void get_qos_upstream(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_qos_upstream();
+ *val = vs->get_qos_upstream();
- }
- void get_qos_downstream( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_qos_downstream(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_qos_downstream();
+ *val = vs->get_qos_downstream();
- }
- void get_throughput_upstream( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_throughput_upstream(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_throughput_upstream();
+ *val = vs->get_throughput_upstream();
- }
- void get_throughput_downstream( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_throughput_downstream(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_throughput_downstream();
+ *val = vs->get_throughput_downstream();
- }
- void get_up_recv_size( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_up_recv_size(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_up_recv_size();
+ *val = vs->get_up_recv_size();
- }
- void get_up_send_size( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_up_send_size(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_up_send_size();
+ *val = vs->get_up_send_size();
- }
- void get_down_recv_size( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_down_recv_size(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_down_recv_size();
+ *val = vs->get_down_recv_size();
- }
- void get_down_send_size( unsigned long long* val ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_down_send_size(unsigned long long *val) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *val = vs->get_down_send_size();
+ *val = vs->get_down_send_size();
- }
+ }
- void update_up_recv_size( unsigned long long size ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void update_up_recv_size(unsigned long long size) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->update_up_recv_size( size );
+ vs->update_up_recv_size(size);
- }
- void update_up_send_size( unsigned long long size ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void update_up_send_size(unsigned long long size) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->update_up_send_size( size );
+ vs->update_up_send_size(size);
- }
- void update_down_recv_size( unsigned long long size ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void update_down_recv_size(unsigned long long size) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->update_down_recv_size( size );
+ vs->update_down_recv_size(size);
- }
- void update_down_send_size( unsigned long long size ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void update_down_send_size(unsigned long long size) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->update_down_send_size( size );
+ vs->update_down_send_size(size);
- }
+ }
- void get_protocol_module( l7vs::protocol_module_base* in_pm ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void get_protocol_module(l7vs::protocol_module_base *in_pm) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- in_pm = vs->get_protocol_module();
+ in_pm = vs->get_protocol_module();
- }
- void get_schedule_module( l7vs::schedule_module_base* in_sm ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void get_schedule_module(l7vs::schedule_module_base *in_sm) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- in_sm = vs->get_schedule_module();
+ in_sm = vs->get_schedule_module();
- }
+ }
- void vs_initialize(){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void vs_initialize() {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->initialize( vs_err );
+ vs->initialize(vs_err);
- }
- void vs_finalize(){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void vs_finalize() {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->finalize( vs_err );
+ vs->finalize(vs_err);
- BOOST_MESSAGE( "finalize." << boost::this_thread::get_id() );
- }
+ BOOST_MESSAGE("finalize." << boost::this_thread::get_id());
+ }
- void vs_eq( const l7vs::virtualservice_base* in_vs, bool* ret ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void vs_eq(const l7vs::virtualservice_base *in_vs, bool *ret) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *ret = vs->operator==(*in_vs);
+ *ret = vs->operator==(*in_vs);
- }
- void vs_ne( const l7vs::virtualservice_base* in_vs, bool* ret ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void vs_ne(const l7vs::virtualservice_base *in_vs, bool *ret) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- *ret = vs->operator!=(*in_vs);
+ *ret = vs->operator!=(*in_vs);
- }
+ }
- void set_virtualservice( const l7vs::virtualservice_element& elem ){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void set_virtualservice(const l7vs::virtualservice_element &elem) {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->set_virtualservice( elem, vs_err );
+ vs->set_virtualservice(elem, vs_err);
- }
- void edit_virtualservice( const l7vs::virtualservice_element& elem ){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void edit_virtualservice(const l7vs::virtualservice_element &elem) {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->edit_virtualservice( elem, vs_err );
+ vs->edit_virtualservice(elem, vs_err);
- }
+ }
- void add_realserver( const l7vs::virtualservice_element& elem ){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void add_realserver(const l7vs::virtualservice_element &elem) {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->add_realserver( elem, vs_err );
+ vs->add_realserver(elem, vs_err);
- }
- void edit_realserver( const l7vs::virtualservice_element& elem ){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void edit_realserver(const l7vs::virtualservice_element &elem) {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->edit_realserver( elem, vs_err );
+ vs->edit_realserver(elem, vs_err);
- }
- void del_realserver( const l7vs::virtualservice_element& elem ){
- l7vs::error_code vs_err;
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void del_realserver(const l7vs::virtualservice_element &elem) {
+ l7vs::error_code vs_err;
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->del_realserver( elem, vs_err );
+ vs->del_realserver(elem, vs_err);
- }
+ }
- void run(){
- vs->run();
- }
- void stop(){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void run() {
+ vs->run();
+ }
+ void stop() {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->stop();
+ vs->stop();
- }
+ }
- void connection_active( const tcp_ep_type& ep ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ void connection_active(const tcp_ep_type &ep) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->connection_active( ep );
+ vs->connection_active(ep);
- }
- void connection_inactive( const tcp_ep_type& ep ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void connection_inactive(const tcp_ep_type &ep) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->connection_inactive( ep );
+ vs->connection_inactive(ep);
- }
- void release_session( const l7vs::tcp_session* session_ptr ){
- boost::mutex mtx;
- boost::mutex::scoped_lock lk( mtx );
- cond.wait( lk );
+ }
+ void release_session(const l7vs::tcp_session *session_ptr) {
+ boost::mutex mtx;
+ boost::mutex::scoped_lock lk(mtx);
+ cond.wait(lk);
- vs->release_session( session_ptr );
- }
+ vs->release_session(session_ptr);
+ }
};
-void virtualservice_tcp_test2_1(){
- //replicationエリアを作成しておく
- debugg_flug_struct::getInstance().create_rep_area();
-
- boost::asio::io_service dispatcher;
-
- l7vs::l7vsd vsd;
- l7vs::replication rep();
-
- debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
- debugg_flug_struct::getInstance().param_exist_flag() = false;
-
- l7vs::error_code vs_err;
- boost::system::error_code test_err;
-
- std::stringstream tmp_tcp_ep;
- std::stringstream tmp_udp_ep;
- std::stringstream tmp_sorry_ep;
-
- l7vs::virtualservice_element elem1;
-
- //set element value
- elem1.udpmode = false;
- elem1.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem1.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem1.realserver_vector.clear();
- elem1.protocol_module_name = "PMtest1";
- elem1.schedule_module_name = "SMtest1";
- elem1.protocol_args.clear();
- elem1.sorry_maxconnection = 1234LL;
- elem1.sorry_endpoint = tcp_ep_type();
- elem1.sorry_flag = false;
- elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem1.qos_upstream = 65535ULL;
- elem1.qos_downstream = 32767ULL;
-
- //vs作成
- vs_access vst;
- vst.initialize( elem1 );
-
- //rs追加
- // unit_test[27] add_rsとrs_list_lock
- std::cout << "1" << std::endl;
- //RS追加用のelement準備
- l7vs::virtualservice_element elem2;
- //set element value
- elem2.udpmode = false;
- elem2.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem2.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem2.realserver_vector.clear();
- elem2.protocol_module_name = "PMtest1";
- elem2.schedule_module_name = "SMtest1";
- elem2.protocol_args.clear();
- elem2.sorry_maxconnection = 1234LL;
- elem2.sorry_endpoint = tcp_ep_type();
- elem2.sorry_flag = false;
- elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem2.qos_upstream = 65535ULL;
- elem2.qos_downstream = 32767ULL;
- for( size_t i = 0; i < 2; ++i ){
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) );
- rs_elem.weight = 10+i;
- elem2.realserver_vector.push_back( rs_elem );
- }
- {
- boost::thread thread1( &vs_access::rs_list_lock, &vst );
- boost::thread thread2( &vs_access::add_realserver, &vst, elem2 );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
- //ref_countが1のままだとadd_realserverができないのでunlockする
- vst.get_vs()->rs_list_unlock();
- usleep( 100000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
-
- //一旦削除
- vst.get_vs()->del_realserver( elem2, vs_err );
-
- // unit_test[28] add_rsとrs_list_unlock(ref_countが1でスタートした場合)
- std::cout << "2" << std::endl;
- {
- //あらかじめlockしておいてref_countを1にしておく
- vst.get_vs()->rs_list_lock();
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
-
- boost::thread thread1( &vs_access::add_realserver, &vst, elem2 );
- boost::thread thread2( &vs_access::rs_list_unlock, &vst );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
-
- // unit_test[29] add_rsとconnection_active
- std::cout << "3" << std::endl;
- //RS追加用のelement準備
- l7vs::virtualservice_element elem3;
- //set element value
- elem3.udpmode = false;
- elem3.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem3.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem3.realserver_vector.clear();
- elem3.protocol_module_name = "PMtest1";
- elem3.schedule_module_name = "SMtest1";
- elem3.protocol_args.clear();
- elem3.sorry_maxconnection = 1234LL;
- elem3.sorry_endpoint = tcp_ep_type();
- elem3.sorry_flag = false;
- elem3.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem3.qos_upstream = 65535ULL;
- elem3.qos_downstream = 32767ULL;
- for( size_t i = 0; i < 2; ++i ){
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8090) );
- rs_elem.weight = 5+i;
- elem3.realserver_vector.push_back( rs_elem );
- }
- {
- boost::thread thread1( &vs_access::add_realserver, &vst, elem3 );
- boost::thread thread2( &vs_access::connection_active, &vst, elem2.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "active_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 1 );
- BOOST_CHECK( itr->get_inact() == 0 );
- break;
- }
- }
-
- //一旦削除
- vst.get_vs()->del_realserver( elem3, vs_err );
-
- // unit_test[30] add_rsとconnection_inactive
- std::cout << "4" << std::endl;
- {
- boost::thread thread1( &vs_access::add_realserver, &vst, elem3 );
- boost::thread thread2( &vs_access::connection_inactive, &vst, elem2.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "inactive_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 0 );
- BOOST_CHECK( itr->get_inact() == 1 );
- break;
- }
- }
-
- //rs変更
- // unit_test[31] edit_rsとrs_list_lock
- std::cout << "5" << std::endl;
- //RS編集用のelement準備
- l7vs::virtualservice_element elem4;
- //set element value
- elem4.udpmode = false;
- elem4.tcp_accept_endpoint =
- tcp_ep_type( boost::asio::ip::address_v4::loopback(), (60000) );
- elem4.udp_recv_endpoint = udp_ep_type( boost::asio::ip::address::from_string( "10.144.169.20" ), (50000) );
- elem4.realserver_vector.clear();
- elem4.protocol_module_name = "PMtest1";
- elem4.schedule_module_name = "SMtest1";
- elem4.protocol_args.clear();
- elem4.sorry_maxconnection = 1234LL;
- elem4.sorry_endpoint = tcp_ep_type();
- elem4.sorry_flag = false;
- elem4.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
- elem4.qos_upstream = 65535ULL;
- elem4.qos_downstream = 32767ULL;
- for( size_t i = 0; i < 2; ++i ){
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) );
- rs_elem.weight = 5+i;
- elem4.realserver_vector.push_back( rs_elem );
- }
- {
- boost::thread thread1( &vs_access::edit_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::rs_list_lock, &vst );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
- //ref_countが1のままだとedit_realserverができないのでunlockする
- vst.get_vs()->rs_list_unlock();
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
- usleep( 100000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
-
- // unit_test[32] edit_rsとrs_list_unlock
- std::cout << "6" << std::endl;
- {
- //あらかじめlockしておいてref_countを1にしておく
- vst.get_vs()->rs_list_lock();
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
-
- boost::thread thread1( &vs_access::edit_realserver, &vst, elem2 );
- boost::thread thread2( &vs_access::rs_list_unlock, &vst );
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
-
- // unit_test[33] edit_rsとconnection_active
- std::cout << "7" << std::endl;
- elem4.realserver_vector.clear();
- for( size_t i = 0; i < 2; ++i ){
- l7vs::realserver_element rs_elem;
- rs_elem.tcp_endpoint = tcp_ep_type( boost::asio::ip::address::from_string( "192.168.10.10" ), (i+8080) );
- rs_elem.weight = 100+i;
- elem4.realserver_vector.push_back( rs_elem );
- }
- {
- boost::thread thread1( &vs_access::edit_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::connection_active, &vst, elem2.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "active_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 1 );
- BOOST_CHECK( itr->get_inact() == 1 );
- break;
- }
- }
- // unit_test[34] edit_rsとconnection_inactive
- std::cout << "8" << std::endl;
- {
- boost::thread thread1( &vs_access::edit_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::connection_inactive, &vst, elem2.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 4 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "inactive_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 0 );
- BOOST_CHECK( itr->get_inact() == 2 );
- break;
- }
- }
-
- //rs削除
- // unit_test[35] del_rsとrs_list_lock
- std::cout << "9" << std::endl;
- {
- boost::thread thread1( &vs_access::del_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::rs_list_lock, &vst );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
- //ref_countが1のままだとedit_realserverができないのでunlockする
- vst.get_vs()->rs_list_unlock();
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
- usleep( 100000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
-
- //再度追加
- vst.get_vs()->add_realserver( elem4, vs_err );
-
- // unit_test[36] del_rsとrs_list_unlock
- std::cout << "10" << std::endl;
- {
- //あらかじめlockしておいてref_countを1にしておく
- vst.get_vs()->rs_list_lock();
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 1 );
-
- boost::thread thread1( &vs_access::del_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::rs_list_unlock, &vst );
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
- BOOST_CHECK( vst.get_vs()->get_ref_count() == 0 );
-
- //再度追加
- vst.get_vs()->add_realserver( elem4, vs_err );
-
- //del_rsとconnection_active
- {
- boost::thread thread1( &vs_access::del_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::connection_active, &vst, elem3.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "active_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 1 );
- BOOST_CHECK( itr->get_inact() == 0 );
- break;
- }
- }
-
- //再度追加
- vst.get_vs()->add_realserver( elem4, vs_err );
- //del_rsとconnection_inactive
- {
- boost::thread thread1( &vs_access::del_realserver, &vst, elem4 );
- boost::thread thread2( &vs_access::connection_inactive, &vst, elem3.realserver_vector[0].tcp_endpoint );
-
- usleep( 100000 );
- vst.start();
- usleep( 1000 );
-
- thread1.join();
- thread2.join();
- }
- BOOST_CHECK( vst.get_vs()->get_rs_list().size() == 2 );
- for( std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
- itr != vst.get_vs()->get_rs_list().end(); ++itr ){
- if( itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint ){
- std::cout << "inactive_conn check" << std::endl;
- BOOST_CHECK( itr->get_active() == 0 );
- BOOST_CHECK( itr->get_inact() == 1 );
- break;
- }
- }
-
- vst.finalize();
- //replicationエリアを開放する
- debugg_flug_struct::getInstance().destroy_rep_area();
+void virtualservice_tcp_test2_1()
+{
+ //replicationエリアを作成しておく
+ debugg_flug_struct::getInstance().create_rep_area();
+
+ boost::asio::io_service dispatcher;
+
+ l7vs::l7vsd vsd;
+ l7vs::replication rep();
+
+ debugg_flug_struct::getInstance().pmcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().smcontrol_err_flag() = false;
+ debugg_flug_struct::getInstance().param_exist_flag() = false;
+
+ l7vs::error_code vs_err;
+ boost::system::error_code test_err;
+
+ std::stringstream tmp_tcp_ep;
+ std::stringstream tmp_udp_ep;
+ std::stringstream tmp_sorry_ep;
+
+ l7vs::virtualservice_element elem1;
+
+ //set element value
+ elem1.udpmode = false;
+ elem1.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem1.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem1.realserver_vector.clear();
+ elem1.protocol_module_name = "PMtest1";
+ elem1.schedule_module_name = "SMtest1";
+ elem1.protocol_args.clear();
+ elem1.sorry_maxconnection = 1234LL;
+ elem1.sorry_endpoint = tcp_ep_type();
+ elem1.sorry_flag = false;
+ elem1.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem1.qos_upstream = 65535ULL;
+ elem1.qos_downstream = 32767ULL;
+
+ //vs作成
+ vs_access vst;
+ vst.initialize(elem1);
+
+ //rs追加
+ // unit_test[27] add_rsとrs_list_lock
+ std::cout << "1" << std::endl;
+ //RS追加用のelement準備
+ l7vs::virtualservice_element elem2;
+ //set element value
+ elem2.udpmode = false;
+ elem2.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem2.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem2.realserver_vector.clear();
+ elem2.protocol_module_name = "PMtest1";
+ elem2.schedule_module_name = "SMtest1";
+ elem2.protocol_args.clear();
+ elem2.sorry_maxconnection = 1234LL;
+ elem2.sorry_endpoint = tcp_ep_type();
+ elem2.sorry_flag = false;
+ elem2.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem2.qos_upstream = 65535ULL;
+ elem2.qos_downstream = 32767ULL;
+ for (size_t i = 0; i < 2; ++i) {
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080));
+ rs_elem.weight = 10 + i;
+ elem2.realserver_vector.push_back(rs_elem);
+ }
+ {
+ boost::thread thread1(&vs_access::rs_list_lock, &vst);
+ boost::thread thread2(&vs_access::add_realserver, &vst, elem2);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+ //ref_countが1のままだとadd_realserverができないのでunlockする
+ vst.get_vs()->rs_list_unlock();
+ usleep(100000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+
+ //一旦削除
+ vst.get_vs()->del_realserver(elem2, vs_err);
+
+ // unit_test[28] add_rsとrs_list_unlock(ref_countが1でスタートした場合)
+ std::cout << "2" << std::endl;
+ {
+ //あらかじめlockしておいてref_countを1にしておく
+ vst.get_vs()->rs_list_lock();
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+
+ boost::thread thread1(&vs_access::add_realserver, &vst, elem2);
+ boost::thread thread2(&vs_access::rs_list_unlock, &vst);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+
+ // unit_test[29] add_rsとconnection_active
+ std::cout << "3" << std::endl;
+ //RS追加用のelement準備
+ l7vs::virtualservice_element elem3;
+ //set element value
+ elem3.udpmode = false;
+ elem3.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem3.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem3.realserver_vector.clear();
+ elem3.protocol_module_name = "PMtest1";
+ elem3.schedule_module_name = "SMtest1";
+ elem3.protocol_args.clear();
+ elem3.sorry_maxconnection = 1234LL;
+ elem3.sorry_endpoint = tcp_ep_type();
+ elem3.sorry_flag = false;
+ elem3.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem3.qos_upstream = 65535ULL;
+ elem3.qos_downstream = 32767ULL;
+ for (size_t i = 0; i < 2; ++i) {
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8090));
+ rs_elem.weight = 5 + i;
+ elem3.realserver_vector.push_back(rs_elem);
+ }
+ {
+ boost::thread thread1(&vs_access::add_realserver, &vst, elem3);
+ boost::thread thread2(&vs_access::connection_active, &vst, elem2.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "active_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 1);
+ BOOST_CHECK(itr->get_inact() == 0);
+ break;
+ }
+ }
+
+ //一旦削除
+ vst.get_vs()->del_realserver(elem3, vs_err);
+
+ // unit_test[30] add_rsとconnection_inactive
+ std::cout << "4" << std::endl;
+ {
+ boost::thread thread1(&vs_access::add_realserver, &vst, elem3);
+ boost::thread thread2(&vs_access::connection_inactive, &vst, elem2.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "inactive_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 0);
+ BOOST_CHECK(itr->get_inact() == 1);
+ break;
+ }
+ }
+
+ //rs変更
+ // unit_test[31] edit_rsとrs_list_lock
+ std::cout << "5" << std::endl;
+ //RS編集用のelement準備
+ l7vs::virtualservice_element elem4;
+ //set element value
+ elem4.udpmode = false;
+ elem4.tcp_accept_endpoint =
+ tcp_ep_type(boost::asio::ip::address_v4::loopback(), (60000));
+ elem4.udp_recv_endpoint = udp_ep_type(boost::asio::ip::address::from_string("10.144.169.20"), (50000));
+ elem4.realserver_vector.clear();
+ elem4.protocol_module_name = "PMtest1";
+ elem4.schedule_module_name = "SMtest1";
+ elem4.protocol_args.clear();
+ elem4.sorry_maxconnection = 1234LL;
+ elem4.sorry_endpoint = tcp_ep_type();
+ elem4.sorry_flag = false;
+ elem4.sorry_fwdmode = l7vs::virtualservice_element::FWD_MASQ;
+ elem4.qos_upstream = 65535ULL;
+ elem4.qos_downstream = 32767ULL;
+ for (size_t i = 0; i < 2; ++i) {
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080));
+ rs_elem.weight = 5 + i;
+ elem4.realserver_vector.push_back(rs_elem);
+ }
+ {
+ boost::thread thread1(&vs_access::edit_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::rs_list_lock, &vst);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+ //ref_countが1のままだとedit_realserverができないのでunlockする
+ vst.get_vs()->rs_list_unlock();
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+ usleep(100000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+
+ // unit_test[32] edit_rsとrs_list_unlock
+ std::cout << "6" << std::endl;
+ {
+ //あらかじめlockしておいてref_countを1にしておく
+ vst.get_vs()->rs_list_lock();
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+
+ boost::thread thread1(&vs_access::edit_realserver, &vst, elem2);
+ boost::thread thread2(&vs_access::rs_list_unlock, &vst);
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+
+ // unit_test[33] edit_rsとconnection_active
+ std::cout << "7" << std::endl;
+ elem4.realserver_vector.clear();
+ for (size_t i = 0; i < 2; ++i) {
+ l7vs::realserver_element rs_elem;
+ rs_elem.tcp_endpoint = tcp_ep_type(boost::asio::ip::address::from_string("192.168.10.10"), (i + 8080));
+ rs_elem.weight = 100 + i;
+ elem4.realserver_vector.push_back(rs_elem);
+ }
+ {
+ boost::thread thread1(&vs_access::edit_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::connection_active, &vst, elem2.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "active_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 1);
+ BOOST_CHECK(itr->get_inact() == 1);
+ break;
+ }
+ }
+ // unit_test[34] edit_rsとconnection_inactive
+ std::cout << "8" << std::endl;
+ {
+ boost::thread thread1(&vs_access::edit_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::connection_inactive, &vst, elem2.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 4);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "inactive_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 0);
+ BOOST_CHECK(itr->get_inact() == 2);
+ break;
+ }
+ }
+
+ //rs削除
+ // unit_test[35] del_rsとrs_list_lock
+ std::cout << "9" << std::endl;
+ {
+ boost::thread thread1(&vs_access::del_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::rs_list_lock, &vst);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+ //ref_countが1のままだとedit_realserverができないのでunlockする
+ vst.get_vs()->rs_list_unlock();
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+ usleep(100000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+
+ //再度追加
+ vst.get_vs()->add_realserver(elem4, vs_err);
+
+ // unit_test[36] del_rsとrs_list_unlock
+ std::cout << "10" << std::endl;
+ {
+ //あらかじめlockしておいてref_countを1にしておく
+ vst.get_vs()->rs_list_lock();
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 1);
+
+ boost::thread thread1(&vs_access::del_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::rs_list_unlock, &vst);
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+ BOOST_CHECK(vst.get_vs()->get_ref_count() == 0);
+
+ //再度追加
+ vst.get_vs()->add_realserver(elem4, vs_err);
+
+ //del_rsとconnection_active
+ {
+ boost::thread thread1(&vs_access::del_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::connection_active, &vst, elem3.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "active_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 1);
+ BOOST_CHECK(itr->get_inact() == 0);
+ break;
+ }
+ }
+
+ //再度追加
+ vst.get_vs()->add_realserver(elem4, vs_err);
+ //del_rsとconnection_inactive
+ {
+ boost::thread thread1(&vs_access::del_realserver, &vst, elem4);
+ boost::thread thread2(&vs_access::connection_inactive, &vst, elem3.realserver_vector[0].tcp_endpoint);
+
+ usleep(100000);
+ vst.start();
+ usleep(1000);
+
+ thread1.join();
+ thread2.join();
+ }
+ BOOST_CHECK(vst.get_vs()->get_rs_list().size() == 2);
+ for (std::list<l7vs::realserver>::iterator itr = vst.get_vs()->get_rs_list().begin();
+ itr != vst.get_vs()->get_rs_list().end(); ++itr) {
+ if (itr->tcp_endpoint == elem2.realserver_vector[0].tcp_endpoint) {
+ std::cout << "inactive_conn check" << std::endl;
+ BOOST_CHECK(itr->get_active() == 0);
+ BOOST_CHECK(itr->get_inact() == 1);
+ break;
+ }
+ }
+
+ vst.finalize();
+ //replicationエリアを開放する
+ debugg_flug_struct::getInstance().destroy_rep_area();
}
-test_suite* init_unit_test_suite( int argc, char* argv[] ){
+test_suite *init_unit_test_suite(int argc, char *argv[])
+{
- // create unit test suite
- test_suite* ts = BOOST_TEST_SUITE( "virtualservice_base_test" );
+ // create unit test suite
+ test_suite *ts = BOOST_TEST_SUITE("virtualservice_base_test");
- // add test case to test suite
- ts->add( BOOST_TEST_CASE( &virtualservice_tcp_test2_1 ) );
+ // add test case to test suite
+ ts->add(BOOST_TEST_CASE(&virtualservice_tcp_test2_1));
- framework::master_test_suite().add( ts );
+ framework::master_test_suite().add(ts);
- return 0;
+ return 0;
}