diff --git a/src/tarantool.cc b/src/tarantool.cc index a0c75c6a6701233a4a448bff1ee97322abff391d..25703593257b2f2b57781f3b3f005e4d051eda79 100644 --- a/src/tarantool.cc +++ b/src/tarantool.cc @@ -406,7 +406,7 @@ load_cfg() { const char *work_dir = cfg_gets("work_dir"); if (work_dir != NULL && chdir(work_dir) == -1) - say_syserror("can't chdir to `%s'", work_dir); + panic_syserror("can't chdir to `%s'", work_dir); const char *username = cfg_gets("username"); if (username != NULL) { diff --git a/test/app/cfg.result b/test/app/cfg.result index d3cd54ca9b9fbf32df02d086bd317e44bf49019b..1b10cb8f4dbb76a40fd96bfcdf3b30f015c09f0b 100644 --- a/test/app/cfg.result +++ b/test/app/cfg.result @@ -1,5 +1,5 @@ TAP version 13 -1..17 +1..18 ok - box is not started ok - invalid replication_source ok - invalid wal_mode @@ -14,6 +14,7 @@ ok - cfg.wal_mode change ok - cfg.wal_mode default value ok - cfg.wal_mode change ok - cfg.wal_mode default value +ok - work_dir is invalid ok - sophia_dir is invalid ok - snap_dir is invalid ok - wal_dir is invalid diff --git a/test/app/cfg.test.lua b/test/app/cfg.test.lua index 4e2d228b08c6bb0a5826be6e865921f0e242e676..286318fdcaf2abe95f5f88782a17e25fdb1f8e4f 100755 --- a/test/app/cfg.test.lua +++ b/test/app/cfg.test.lua @@ -2,7 +2,7 @@ local tap = require('tap') local test = tap.test('cfg') -test:plan(17) +test:plan(18) -------------------------------------------------------------------------------- -- Invalid values @@ -67,6 +67,11 @@ test:is(box.cfg.wal_mode, "write", "cfg.wal_mode default value") -- gh-684: Inconsistency with box.cfg and directories local script = io.open('script.lua', 'w') +script:write([[ box.cfg{ logger="tarantool.log", work_dir='invalid' } ]]) +script:close() +test:isnt(os.execute("/bin/sh -c 'tarantool ./script.lua 2> /dev/null'"), 0, 'work_dir is invalid') + +script = io.open('script.lua', 'w') script:write([[ pcall( box.cfg, { logger="tarantool.log", sophia_dir='invalid' }) ]]) script:close() test:isnt(os.execute("/bin/sh -c 'tarantool ./script.lua 2> /dev/null'"), 0, 'sophia_dir is invalid')