Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
U
uniset2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
UniSet project repositories
uniset2
Commits
4299a71b
Commit
4299a71b
authored
Feb 19, 2016
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(ModbusMultiMaster): подправлен тест
parent
a90a4af9
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
18 deletions
+17
-18
MBTCPMultiMaster.cc
extensions/ModbusMaster/MBTCPMultiMaster.cc
+1
-1
run_test_mbtcpmultimaster.sh
extensions/ModbusMaster/tests/run_test_mbtcpmultimaster.sh
+1
-1
test_mbtcpmultimaster.cc
extensions/ModbusMaster/tests/test_mbtcpmultimaster.cc
+15
-16
No files found.
extensions/ModbusMaster/MBTCPMultiMaster.cc
View file @
4299a71b
...
@@ -197,7 +197,7 @@ std::shared_ptr<ModbusClient> MBTCPMultiMaster::initMB( bool reopen )
...
@@ -197,7 +197,7 @@ std::shared_ptr<ModbusClient> MBTCPMultiMaster::initMB( bool reopen )
{
{
uniset_rwmutex_wrlock
l
(
tcpMutex
);
uniset_rwmutex_wrlock
l
(
tcpMutex
);
// сперва надо обновить все ignore
-ы
// сперва надо обновить все ignore
// т.к. фактически флаги выставляются и сбрасываются только здесь
// т.к. фактически флаги выставляются и сбрасываются только здесь
for
(
auto
it
=
mblist
.
rbegin
();
it
!=
mblist
.
rend
();
++
it
)
for
(
auto
it
=
mblist
.
rbegin
();
it
!=
mblist
.
rend
();
++
it
)
{
{
...
...
extensions/ModbusMaster/tests/run_test_mbtcpmultimaster.sh
View file @
4299a71b
...
@@ -13,7 +13,7 @@ cd -
...
@@ -13,7 +13,7 @@ cd -
--smemory-id
SharedMemory
\
--smemory-id
SharedMemory
\
--mbtcp-filter-field
mb
\
--mbtcp-filter-field
mb
\
--mbtcp-filter-value
1
\
--mbtcp-filter-value
1
\
--mbtcp-polltime
50
--mbtcp-recv-timeout
500
--mbtcp-timeout
3000
--mbtcp-ignore-timeout
3000
--dlog-add-levels
warn,crit
--mbtcp-polltime
50
--mbtcp-recv-timeout
500
--mbtcp-
checktime
1000
--mbtcp-
timeout
3000
--mbtcp-ignore-timeout
3000
--dlog-add-levels
warn,crit
# --dlog-add-levels any
# --dlog-add-levels any
#--mbtcp-force-out 1
#--mbtcp-force-out 1
#--dlog-add-levels any
#--dlog-add-levels any
extensions/ModbusMaster/tests/test_mbtcpmultimaster.cc
View file @
4299a71b
...
@@ -117,6 +117,14 @@ static void InitTest()
...
@@ -117,6 +117,14 @@ static void InitTest()
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
TEST_CASE
(
"MBTCPMultiMaster: rotate channel"
,
"[modbus][mbmaster][mbtcpmultimaster]"
)
TEST_CASE
(
"MBTCPMultiMaster: rotate channel"
,
"[modbus][mbmaster][mbtcpmultimaster]"
)
{
{
// Т.к. respond/notrespond проверяется по возможности создать соединение
// а мы имитируем отключение просто отключением обмена
// то датчик связи всё-равно будет показывать что канал1 доступен
// поэтому датчик 12 - не проверяем..
// а просто проверяем что теперь значение приходит по другому каналу
// (см. setReply)
// ----------------------------
InitTest
();
InitTest
();
CHECK
(
ui
->
isExist
(
mbID
)
);
CHECK
(
ui
->
isExist
(
mbID
)
);
...
@@ -126,28 +134,19 @@ TEST_CASE("MBTCPMultiMaster: rotate channel", "[modbus][mbmaster][mbtcpmultimast
...
@@ -126,28 +134,19 @@ TEST_CASE("MBTCPMultiMaster: rotate channel", "[modbus][mbmaster][mbtcpmultimast
msleep
(
polltime
+
1000
);
msleep
(
polltime
+
1000
);
REQUIRE
(
ui
->
getValue
(
1003
)
==
100
);
REQUIRE
(
ui
->
getValue
(
1003
)
==
100
);
mbs1
->
disableExchange
(
true
);
mbs1
->
disableExchange
(
true
);
mbs2
->
disableExchange
(
false
);
msleep
(
4000
);
// --mbtcp-timeout 3000 (см. run_test_mbtcmultipmaster.sh)
msleep
(
4000
);
// --mbtcp-timeout 3000 (см. run_test_mbtcmultipmaster.sh)
REQUIRE
(
ui
->
getValue
(
1003
)
==
10
);
REQUIRE
(
ui
->
getValue
(
1003
)
==
10
);
// Т.к. respond/notrespond проверяется по возможности создать соединение
// проверяем что канал остался на втором, хотя на первом мы включили связь
// а мы имитируем отключение просто отключением обмена
// то датчик связи всё-равно будет показывать что канал1 доступен
// поэтому датчик 12 - не проверяем..
// а просто проверяем что теперь значение приходит по другому каналу
// (см. setReply)
// ----------------------------
// REQUIRE( ui->getValue(12) == true );
REQUIRE
(
ui
->
getValue
(
13
)
==
false
);
mbs1
->
disableExchange
(
false
);
mbs1
->
disableExchange
(
false
);
mbs2
->
disableExchange
(
tru
e
);
mbs2
->
disableExchange
(
fals
e
);
msleep
(
4000
);
// --mbtcp-timeout 3000 (см. run_test_mbtcmultipmaster.sh)
msleep
(
4000
);
// --mbtcp-timeout 3000 (см. run_test_mbtcmultipmaster.sh)
REQUIRE
(
ui
->
getValue
(
1003
)
==
100
);
REQUIRE
(
ui
->
getValue
(
1003
)
==
10
);
// REQUIRE( ui->getValue(12) == false );
mbs2
->
disableExchange
(
false
);
mbs2
->
disableExchange
(
true
);
mbs1
->
disableExchange
(
false
);
msleep
(
4000
);
// --mbtcp-timeout 3000 (см. run_test_mbtcmultipmaster.sh)
REQUIRE
(
ui
->
getValue
(
1003
)
==
100
);
REQUIRE
(
ui
->
getValue
(
1003
)
==
100
);
// REQUIRE( ui->getValue(13) == true );
}
}
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment