Public bug reported:

I wrote a test for transform.

https://github.com/unera/dr-tarantool/blob/master/t/100-transform.t

looks like working if You use the construction:

tuple = box.select(...)
return tuple:transform(...)

but if You try to use transform twice You will receive wrong tuple:
https://github.com/unera/dr-tarantool/blob/master/t/100-transform.t#L94

or even wrong tarantool reply:
https://github.com/unera/dr-tarantool/blob/master/t/100-transform.t#L116

test log:

1..17
ok 1 - use DR::Tarantool;
ok 2 - use DR::Tarantool::StartTest;
ok 3 - use DR::Tarantool;
ok 4 - use File::Spec::Functions;
ok 5 - use File::Basename;
ok 6 - use AnyEvent;
ok 7 - use DR::Tarantool::AsyncClient;
ok 8 - directory with test data
ok 9 - t/test-data/llc-easy.cfg
ok 10 - -d t/test-data
ok 11 - -r t/test-data/init.lua
ok 12 - Connected
ok 13 - tuple was written
ok 14 - tuple was read by dostring
ok 15 - tuple was read by dostring
not ok 16 - tuple was read by dostring
#   Failed test 'tuple was read by dostring'
#   at t/100-transform.t line 108.
#     Structures begin differing at:
#          $got->[12] = '1'
#     $expected->[12] = '14'
# [
#   '1',
#   '3',
#   '4',
#   '5',
#   '6',
#   '7',
#   '8',
#   '9',
#   '10',
#   '11',
#   '12',
#   '13',
#   '1'
# ]
unknown: Can't parse server response at t/100-transform.t line 111
# Looks like you planned 17 tests but ran 16.
# Looks like you failed 1 test of 16 run.


1. save tuple [ 1 .. 10 ] - ok
2. select tuple - ok
3. tuple:transform(11 .. 14):transform(1, 1) - returns wrong tuple ( 1, 3 .. 
13, 1)
4. the same as 3 and 'return tuple' statement - returns unparsed reply

** Affects: tarantool
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Tarantool
Development Team, which is subscribed to tarantool.
https://bugs.launchpad.net/bugs/1038784

Title:
  transform returns wrong tuple and put broken reply into socket

Status in Tarantool - an efficient in-memory data store:
  New

Bug description:
  I wrote a test for transform.

  https://github.com/unera/dr-tarantool/blob/master/t/100-transform.t

  looks like working if You use the construction:

  tuple = box.select(...)
  return tuple:transform(...)

  but if You try to use transform twice You will receive wrong tuple:
  https://github.com/unera/dr-tarantool/blob/master/t/100-transform.t#L94

  or even wrong tarantool reply:
  https://github.com/unera/dr-tarantool/blob/master/t/100-transform.t#L116

  test log:

  1..17
  ok 1 - use DR::Tarantool;
  ok 2 - use DR::Tarantool::StartTest;
  ok 3 - use DR::Tarantool;
  ok 4 - use File::Spec::Functions;
  ok 5 - use File::Basename;
  ok 6 - use AnyEvent;
  ok 7 - use DR::Tarantool::AsyncClient;
  ok 8 - directory with test data
  ok 9 - t/test-data/llc-easy.cfg
  ok 10 - -d t/test-data
  ok 11 - -r t/test-data/init.lua
  ok 12 - Connected
  ok 13 - tuple was written
  ok 14 - tuple was read by dostring
  ok 15 - tuple was read by dostring
  not ok 16 - tuple was read by dostring
  #   Failed test 'tuple was read by dostring'
  #   at t/100-transform.t line 108.
  #     Structures begin differing at:
  #          $got->[12] = '1'
  #     $expected->[12] = '14'
  # [
  #   '1',
  #   '3',
  #   '4',
  #   '5',
  #   '6',
  #   '7',
  #   '8',
  #   '9',
  #   '10',
  #   '11',
  #   '12',
  #   '13',
  #   '1'
  # ]
  unknown: Can't parse server response at t/100-transform.t line 111
  # Looks like you planned 17 tests but ran 16.
  # Looks like you failed 1 test of 16 run.

  
  1. save tuple [ 1 .. 10 ] - ok
  2. select tuple - ok
  3. tuple:transform(11 .. 14):transform(1, 1) - returns wrong tuple ( 1, 3 .. 
13, 1)
  4. the same as 3 and 'return tuple' statement - returns unparsed reply

To manage notifications about this bug go to:
https://bugs.launchpad.net/tarantool/+bug/1038784/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~tarantool-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~tarantool-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to