[Rock-dev] Failing unit tests for RTT rock-master branch

Peter Soetens peter at thesourceworks.com
Thu Mar 31 11:52:45 CEST 2011


FYI, I merged rock-master to master and these unit tests are failing + my comments:

7: /home/kaltan/src/git/orocos-toolchain/rtt/tests/corba_ipc_test.cpp(685): error in "testBufferHalfs": check mi->read( result ) == NewData 
failed [OldData != NewData]
7: /home/kaltan/src/git/orocos-toolchain/rtt/tests/corba_ipc_test.cpp(686): error in "testBufferHalfs": check result == 4.44 failed 
[6.4400000000000004 != 4.4400000000000004]
7: /home/kaltan/src/git/orocos-toolchain/rtt/tests/corba_ipc_test.cpp(691): error in "testBufferHalfs": check result == 4.44 failed 
[6.4400000000000004 != 4.4400000000000004]

Not sure what happened here, especially corba-test contains the same code (I assume) and does not fail.

9: Test command: /home/kaltan/src/git/orocos-toolchain/rtt/build/tests/mqueue-test
9: Test timeout computed to be: 1500
9: Running 5 test cases...
9: /home/kaltan/src/git/orocos-toolchain/rtt/tests/mqueue_test.cpp(361): fatal error in "testVectorTransport": critical check 
vout.createStream( policy ) failed

Only mqueue test failing. Not sure why either.

18: Test command: /home/kaltan/src/git/orocos-toolchain/rtt/build/tests/service_port_test
18: Test timeout computed to be: 1500
18: Running 6 test cases...
18: /home/kaltan/src/git/orocos-toolchain/rtt/tests/service_port_test.cpp(121): error in "testUsePort": check read.ready() failed
18: /home/kaltan/src/git/orocos-toolchain/rtt/tests/service_port_test.cpp(123): error in "testUsePort": check result == 3 failed [537 != 3]
18: /home/kaltan/src/git/orocos-toolchain/rtt/tests/service_port_test.cpp(124): error in "testUsePort": check fs == NewData failed [NoData 
!= NewData]
18: /home/kaltan/src/git/orocos-toolchain/rtt/tests/service_port_test.cpp(144): error in "testUsePortWithOwner": check read.ready() failed
18: /home/kaltan/src/git/orocos-toolchain/rtt/tests/service_port_test.cpp(146): error in "testUsePortWithOwner": check result == 3 failed 
[537 != 3]
18: /home/kaltan/src/git/orocos-toolchain/rtt/tests/service_port_test.cpp(147): error in "testUsePortWithOwner": check fs == NewData 
failed [NoData != NewData]

Only error here is that read.ready() failed.

22: Test command: /home/kaltan/src/git/orocos-toolchain/rtt/build/tests/ports_test
22: Test timeout computed to be: 1500
22: Running 9 test cases...
22: /home/kaltan/src/git/orocos-toolchain/rtt/tests/ports_test.cpp(468): error in "testPortObjects": check mget.ready() failed
22: /home/kaltan/src/git/orocos-toolchain/rtt/tests/ports_test.cpp(473): error in "testPortObjects": check mget(get_value) failed
22: /home/kaltan/src/git/orocos-toolchain/rtt/tests/ports_test.cpp(474): error in "testPortObjects": difference{inf%} between 
3.991{3.9910000000000001} and get_value{0} exceeds 0.001%

Error here is that the read function's signature changed. Since read() now takes two arguments, this breaks scripting and other code that 
used the signature of read(). See also next case:

28: Test command: /home/kaltan/src/git/orocos-toolchain/rtt/build/tests/state_test
28: Test timeout computed to be: 1500
28: Running 14 test cases...
28: /home/kaltan/src/git/orocos-toolchain/rtt/tests/state_test.cpp(952): fatal error in "testStateEvents": Parse error at line 6: Wrong 
number of arguments in call of function "root.t_event.read": expected 2, received 1.

A read() on a port in scripting now requires the 'bool' argument which was added.

Summary: I would at least add a new read() function which implements the copy_old_data=false behavior. It should preferably have a 
different name as well, like readNew() or something similar.

The others need more investigating, but clearly some behavior changed by improving the data port code.

Peter



More information about the Rock-dev mailing list