Commit 9fd0ec77 authored by Pavel Vainerman's avatar Pavel Vainerman

(MBSlave): добавил новый тест (запуск до 200 MBSlave)

parent d0fe3b0b
if HAVE_TESTS
noinst_PROGRAMS = tests-with-sm
noinst_PROGRAMS = tests-with-sm mbslave-perf-test
tests_with_sm_SOURCES = tests_with_sm.cc test_mbslave.cc
tests_with_sm_LDADD = $(top_builddir)/lib/libUniSet2.la $(top_builddir)/extensions/lib/libUniSet2Extensions.la \
......@@ -11,11 +11,15 @@ tests_with_sm_CPPFLAGS = -I$(top_builddir)/include -I$(top_builddir)/extensions
-I$(top_builddir)/extensions/ModbusSlave \
-I$(top_builddir)/extensions/SharedMemory $(SIGC_CFLAGS) $(POCO_CFLAGS)
#$(top_builddir)/extensions/lib/libUniSet2Extensions.la:
# cd $(top_builddir)/extensions/lib/ && make
#$(top_builddir)/extensions/ModbusSlave/libUniSet2MBSlave.la:
# cd $(top_builddir)/extensions/ModbusSlave/ && make
mbslave_perf_test_SOURCES = mbslave_perf_test.cc
mbslave_perf_test_LDADD = $(top_builddir)/lib/libUniSet2.la $(top_builddir)/extensions/lib/libUniSet2Extensions.la \
$(top_builddir)/extensions/ModbusSlave/libUniSet2MBSlave.la \
$(top_builddir)/extensions/SharedMemory/libUniSet2SharedMemory.la \
$(SIGC_LIBS) $(POCO_LIBS)
mbslave_perf_test_CPPFLAGS = -I$(top_builddir)/include -I$(top_builddir)/extensions/include \
-I$(top_builddir)/extensions/ModbusSlave \
-I$(top_builddir)/extensions/SharedMemory $(SIGC_CFLAGS) $(POCO_CFLAGS)
include $(top_builddir)/testsuite/testsuite-common.mk
......
// --------------------------------------------------------------------------
#include <string>
#include "UniSetActivator.h"
#include "SharedMemory.h"
#include "MBSlave.h"
// --------------------------------------------------------------------------
using namespace std;
using namespace uniset;
// --------------------------------------------------------------------------
int main( int argc, const char** argv )
{
try
{
auto conf = uniset_init(argc, argv);
auto act = UniSetActivator::Instance();
// ------------ SharedMemory ----------------
auto shm = SharedMemory::init_smemory(argc, argv);
if( !shm )
return 1;
act->add(shm);
int num = conf->getArgPInt("--numproc", 10);
for( int i = 1; i <= num; i++)
{
// auto mbs = MBSlave::init_mbslave(argc, argv, shm->getId(), shm, "mbs");
ostringstream s;
s << "MBTCP" << i;
cout << "..create " << s.str() << endl;
ostringstream p;
p << "mbs" << i;
auto mbs = make_shared<MBSlave>( conf->getObjectID(s.str()),shm->getId(), shm, p.str());
if( !mbs )
{
cerr << "Ошибка при создании MBSlave " << s.str() << endl;
return 1;
}
act->add(mbs);
}
// -------------------------------------------
SystemMessage sm(SystemMessage::StartUp);
act->broadcast( sm.transport_msg() );
act->run(false);
return 0;
}
catch(Exception& ex)
{
cerr << "(mbslave_perf_test): " << ex << endl;
}
catch( CORBA::SystemException& ex )
{
cerr << "(mbslave_perf_test): " << ex.NP_minorString() << endl;
}
catch(...)
{
cerr << "(mbslave_perf_test): catch(...)" << endl;
}
return 1;
}
// --------------------------------------------------------------------------
#!/bin/sh
# '--' - нужен для отделения аргументов catch, от наших..
cd ../../../Utilities/Admin/
./uniset2-start.sh -f ./create_links.sh
./uniset2-start.sh -f ./create
./uniset2-start.sh -f ./exist | grep -q UNISET_PLC/Controllers || exit 1
cd -
MAX=200
PARAMS=
for n in `seq 1 $MAX`; do
PARAMS="${PARAMS} --mbs${n}-name MBTCP${n} --mbs${n}-inet-port ${n+80000} --mbs${n}-inet-addr 127.0.0.1 \
--mbs${n}-type TCP --mbs${n}-filter-field mbtcp --mbs${n}-filter-value 2 --mbs${n}-confnode MBSlave2 \
--mbs${n}-log-add-levels crit,warn"
done
./uniset2-start.sh -f ./mbslave-perf-test --confile test.xml ${PARAMS} --numproc $MAX $*
../../../conf/test.xml
\ No newline at end of file
......@@ -143,6 +143,7 @@ extensions/ModbusSlave/tests/t.cc
extensions/ModbusSlave/tests/test_mbslave.cc
extensions/ModbusSlave/tests/tests_individual_process.cc
extensions/ModbusSlave/tests/tests_with_sm.cc
extensions/ModbusSlave/tests/mbslave_perf_test.cc
extensions/ModbusSlave/epoll-test/mbslave-epoll.cc
extensions/ModbusSlave/libUniSet2MBSlave.pc.in
extensions/ModbusSlave/Makefile.am
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment