push
github
config: fix schema:get()/set() changes passed path This patch makes `schema:get()`, `schema:set()` and `config:get()` not change the passed path argument when it is a table. The problem was in the way the walkthrough process is set up during the `schema:get()` and `schema:set()` method execution. These methods used `walkthrough_start()` performing a shallow copy of the passed option table containing the information on the desired path. The value of the path was modified during the walkthrough itself. The patch makes the methods perform a shallow copy of the path field. It also fixes `config:get()` since it's internally uses `schema:get()`. This is how broken scenario could be reproduced when using `config:get()`: ``` tarantool> config = require('config') tarantool> path = {'fiber', 'slice'} tarantool> config:get(path) --- - err: 1 warn: 0.5 ... tarantool> path --- - [] ... ``` Closes #10855 NO_DOC=bugfix (cherry picked from commit fb5740cae)
69618 of 123486 branches covered (56.38%)
102563 of 117450 relevant lines covered (87.32%)
2944960.45 hits per line