Merge request #10 broke the unit tests

This one is for Sylvain,

When I merged the gitorious merge request, 4 unit tests were failing, some of
them related to ports. Could you validate that these work on the dfki branch ?

One of the failing tests checks that a read() that returns OldData always
return the same value as the last NewData sample. I had code in the
connectionmanager that took care of this in case of multiple connections. I
believe it was accidentally removed.

Other corba data flow tests (testDataHalfs, testBufferHalfs) failed too.

The testOperationCallerC_Send test is also failing, that might be related to
my attempts of fixing the remote corba operations. I'll take a look at that one
further.

Peter

Merge request #10 broke the unit tests

On Sat, Nov 20, 2010 at 12:17 AM, Peter Soetens
<peter [..] ...> wrote:
> This one is for Sylvain,
>
> When I merged the gitorious merge request, 4 unit tests were failing, some of
> them related to ports. Could you validate that these work on the dfki branch ?
>
> One of the failing tests checks that a read() that returns OldData always
> return the same value as the last NewData sample. I had code in the
> connectionmanager that took care of this in case of multiple connections. I
> believe it was accidentally removed.
>
> Other corba data flow tests (testDataHalfs, testBufferHalfs) failed too.
>
> The testOperationCallerC_Send test is also failing, that might be related to
> my attempts of fixing the remote corba operations. I'll take a look at that one
> further.

It wasn't my patch that broke this. It was the correction of the
(C)SendStatus return
value that was only done in one direction. I pushed a fix for this to master.

The ports issue is still unresolved. What doesn't work is writing from
idl to a C++ InputPort.

Peter

Merge request #10 broke the unit tests

On 11/21/2010 08:56 AM, Peter Soetens wrote:
> On Sat, Nov 20, 2010 at 12:17 AM, Peter Soetens
> <peter [..] ...> wrote:
>> This one is for Sylvain,
>>
>> When I merged the gitorious merge request, 4 unit tests were failing, some of
>> them related to ports. Could you validate that these work on the dfki branch ?
>>
>> One of the failing tests checks that a read() that returns OldData always
>> return the same value as the last NewData sample. I had code in the
>> connectionmanager that took care of this in case of multiple connections. I
>> believe it was accidentally removed.
Yes. Trivial fix in ConnectionManager::select_if

By the way ... We may have a problem with this behaviour. If the "last
NewData" connection gets removed, then the next OldData will return
"another" OldData, right ?

>> Other corba data flow tests (testDataHalfs, testBufferHalfs) failed too.
>>
>> The testOperationCallerC_Send test is also failing, that might be related to
>> my attempts of fixing the remote corba operations. I'll take a look at that one
>> further.
>
> It wasn't my patch that broke this. It was the correction of the
> (C)SendStatus return
> value that was only done in one direction. I pushed a fix for this to master.
>
> The ports issue is still unresolved. What doesn't work is writing from
> idl to a C++ InputPort.

Found the issue, and fixing it. The tests were not calling
channelReady() before they use the channel. It was not a problem before
but it is now.

I know that memory is cheap this days, but I can't build RTT with
parallel build with 3G of memory... It is really taking ages to build.

Merge request #10 broke the unit tests

On Monday 22 November 2010 17:45:45 Sylvain Joyeux wrote:
> On 11/21/2010 08:56 AM, Peter Soetens wrote:
> > On Sat, Nov 20, 2010 at 12:17 AM, Peter Soetens
> >
> > <peter [..] ...> wrote:
> >> This one is for Sylvain,
> >>
> >> When I merged the gitorious merge request, 4 unit tests were failing,
> >> some of them related to ports. Could you validate that these work on
> >> the dfki branch ?
> >>
> >> One of the failing tests checks that a read() that returns OldData
> >> always return the same value as the last NewData sample. I had code in
> >> the connectionmanager that took care of this in case of multiple
> >> connections. I believe it was accidentally removed.
>
> Yes. Trivial fix in ConnectionManager::select_if
>
> By the way ... We may have a problem with this behaviour. If the "last
> NewData" connection gets removed, then the next OldData will return
> "another" OldData, right ?

Depends on where the caching is done. If its done in the connection, there's
no other choice. I guess this is acceptable (?) transient behavior if the
implementation would be too difficult. But in that case, it should be properly
documented, since the API tells otherwise now.

>
> >> Other corba data flow tests (testDataHalfs, testBufferHalfs) failed too.
> >>
> >> The testOperationCallerC_Send test is also failing, that might be
> >> related to my attempts of fixing the remote corba operations. I'll take
> >> a look at that one further.
> >
> > It wasn't my patch that broke this. It was the correction of the
> > (C)SendStatus return
> > value that was only done in one direction. I pushed a fix for this to
> > master.
> >
> > The ports issue is still unresolved. What doesn't work is writing from
> > idl to a C++ InputPort.
>
> Found the issue, and fixing it. The tests were not calling
> channelReady() before they use the channel. It was not a problem before
> but it is now.
>
> I know that memory is cheap this days, but I can't build RTT with
> parallel build with 3G of memory... It is really taking ages to build.

My aim is to get to <1G for each build 'thread'. It is boost::fusion that is
killing us (or the compiler). There are potential solutions in the line for
10-20% reductions. Defining 'extern templates' for the rtt typekit types is
another one that could greatly help.

Peter

Merge request #10 broke the unit tests

On 11/21/2010 08:56 AM, Peter Soetens wrote:
> On Sat, Nov 20, 2010 at 12:17 AM, Peter Soetens
> <peter [..] ...> wrote:
>> This one is for Sylvain,
>>
>> When I merged the gitorious merge request, 4 unit tests were failing, some of
>> them related to ports. Could you validate that these work on the dfki branch ?
>>
>> One of the failing tests checks that a read() that returns OldData always
>> return the same value as the last NewData sample. I had code in the
>> connectionmanager that took care of this in case of multiple connections. I
>> believe it was accidentally removed.
>>
>> Other corba data flow tests (testDataHalfs, testBufferHalfs) failed too.
>>
>> The testOperationCallerC_Send test is also failing, that might be related to
>> my attempts of fixing the remote corba operations. I'll take a look at that one
>> further.
> It wasn't my patch that broke this. It was the correction of the
> (C)SendStatus return
> value that was only done in one direction. I pushed a fix for this to master.
>
> The ports issue is still unresolved. What doesn't work is writing from
> idl to a C++ InputPort
Weird. I can confirm this works as I have orocos.rb tests for this.

I'll have a look ASAP on the other unit tests.