From 568d085cc9dee5f569f8c750f419d913ac470ff7 Mon Sep 17 00:00:00 2001 From: Benoit Germain Date: Tue, 16 May 2017 10:01:05 +0200 Subject: Add test for table caching in basic.lua When transfering a table through multiple references, the transfer result should preserve reference equality. --- tests/basic.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/basic.lua b/tests/basic.lua index 16919a3..c36088a 100644 --- a/tests/basic.lua +++ b/tests/basic.lua @@ -220,6 +220,10 @@ local chunk= function( linda ) k,v=receive(); WR( v.." received\n" ); assert( v==4 ) + local subT1 = { "subT1"} + local subT2 = { "subT2"} + send { subT1, subT2, subT1, subT2}; WR( "{ subT1, subT2, subT1, subT2} sent\n" ) + WR( "Lane ends!\n" ) end @@ -263,6 +267,10 @@ assert( tables_match( a, {'a','b','c',d=10} ) ) assert( PEEK() == nil ) SEND(4) +local complex_table = RECEIVE(); WR( type(complex_table).." received\n" ) +assert( complex_table[1] == complex_table[3] and complex_table[2] == complex_table[4]) +WR( table.concat( {complex_table[1][1],complex_table[2][1],complex_table[3][1],complex_table[4][1]},", ")) + t = nil collectgarbage() -- wait -- cgit v1.2.3-55-g6feb