OSDN Git Service

formatted all files with 'astyle -A8 -HUpc -k3 -z2 -r ./*.cpp ./*.c ./*.h'.
[ultramonkey-l7/ultramonkey-l7-v3.git] / l7vsd / unit_tests / virtualservice_test / vs_tcp_sorry_test.cpp
index db4442b..abd58bc 100644 (file)
@@ -33,388 +33,394 @@ extern l7vs::session_result_message    result;
 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;
 }