From: Cyrill Gorcunov <gorcunov@gmail.com>
To: tml <tarantool-patches@dev.tarantool.org>
Cc: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
Subject: [Tarantool-patches] [PATCH v2] test: box/errinj -- sort errors
Date: Thu, 13 Feb 2020 16:57:25 +0300 [thread overview]
Message-ID: <20200213135725.GO21061@uranus> (raw)
In-Reply-To: <20200213130738.12063-1-gorcunov@gmail.com>
Every new error inroduced into error engine
cause massive update in test even if only one
key is introduced.
To minimize diff output better print them in
sorted order.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---
There was redundat error code injected into previous version
of the patch. This one is updated.
test/box/errinj.result | 215 ++++++++++++++++-----------------------
test/box/errinj.test.lua | 12 ++-
2 files changed, 96 insertions(+), 131 deletions(-)
diff --git a/test/box/errinj.result b/test/box/errinj.result
index babe36b1b..03d1117d6 100644
--- a/test/box/errinj.result
+++ b/test/box/errinj.result
@@ -19,136 +19,91 @@ space = box.schema.space.create('tweedledum')
index = space:create_index('primary', { type = 'hash' })
---
...
-errinj.info()
----
-- ERRINJ_VY_RUN_WRITE_STMT_TIMEOUT:
- state: 0
- ERRINJ_WAL_WRITE:
- state: false
- ERRINJ_RELAY_BREAK_LSN:
- state: -1
- ERRINJ_HTTPC_EXECUTE:
- state: false
- ERRINJ_VYRUN_DATA_READ:
- state: false
- ERRINJ_SWIM_FD_ONLY:
- state: false
- ERRINJ_SQL_NAME_NORMALIZATION:
- state: false
- ERRINJ_VY_SCHED_TIMEOUT:
- state: 0
- ERRINJ_COIO_SENDFILE_CHUNK:
- state: -1
- ERRINJ_HTTP_RESPONSE_ADD_WAIT:
- state: false
- ERRINJ_WAL_WRITE_PARTIAL:
- state: -1
- ERRINJ_VY_GC:
- state: false
- ERRINJ_WAL_DELAY:
- state: false
- ERRINJ_INDEX_ALLOC:
- state: false
- ERRINJ_WAL_WRITE_EOF:
- state: false
- ERRINJ_WAL_SYNC:
- state: false
- ERRINJ_BUILD_INDEX:
- state: -1
- ERRINJ_BUILD_INDEX_DELAY:
- state: false
- ERRINJ_VY_RUN_FILE_RENAME:
- state: false
- ERRINJ_VY_COMPACTION_DELAY:
- state: false
- ERRINJ_VY_DUMP_DELAY:
- state: false
- ERRINJ_VY_DELAY_PK_LOOKUP:
- state: false
- ERRINJ_VY_TASK_COMPLETE:
- state: false
- ERRINJ_PORT_DUMP:
- state: false
- ERRINJ_WAL_BREAK_LSN:
- state: -1
- ERRINJ_WAL_IO:
- state: false
- ERRINJ_WAL_FALLOCATE:
- state: 0
- ERRINJ_DYN_MODULE_COUNT:
- state: 0
- ERRINJ_VY_INDEX_FILE_RENAME:
- state: false
- ERRINJ_TUPLE_FORMAT_COUNT:
- state: -1
- ERRINJ_TUPLE_ALLOC:
- state: false
- ERRINJ_VY_RUN_WRITE_DELAY:
- state: false
- ERRINJ_VY_READ_PAGE:
- state: false
- ERRINJ_RELAY_REPORT_INTERVAL:
- state: 0
- ERRINJ_VY_LOG_FILE_RENAME:
- state: false
- ERRINJ_VY_READ_PAGE_TIMEOUT:
- state: 0
- ERRINJ_XLOG_META:
- state: false
- ERRINJ_SIO_READ_MAX:
- state: -1
- ERRINJ_SNAP_COMMIT_DELAY:
- state: false
- ERRINJ_WAL_WRITE_DISK:
- state: false
- ERRINJ_SNAP_WRITE_DELAY:
- state: false
- ERRINJ_LOG_ROTATE:
- state: false
- ERRINJ_VY_RUN_WRITE:
- state: false
- ERRINJ_CHECK_FORMAT_DELAY:
- state: false
- ERRINJ_VY_LOG_FLUSH_DELAY:
- state: false
- ERRINJ_RELAY_FINAL_JOIN:
- state: false
- ERRINJ_REPLICA_JOIN_DELAY:
- state: false
- ERRINJ_RELAY_FINAL_SLEEP:
- state: false
- ERRINJ_VY_RUN_DISCARD:
- state: false
- ERRINJ_WAL_ROTATE:
- state: false
- ERRINJ_RELAY_EXIT_DELAY:
- state: 0
- ERRINJ_VY_POINT_ITER_WAIT:
- state: false
- ERRINJ_MEMTX_DELAY_GC:
- state: false
- ERRINJ_IPROTO_TX_DELAY:
- state: false
- ERRINJ_XLOG_READ:
- state: -1
- ERRINJ_TUPLE_FIELD:
- state: false
- ERRINJ_XLOG_GARBAGE:
- state: false
- ERRINJ_VY_INDEX_DUMP:
- state: -1
- ERRINJ_VY_READ_PAGE_DELAY:
- state: false
- ERRINJ_TESTING:
- state: false
- ERRINJ_RELAY_SEND_DELAY:
- state: false
- ERRINJ_VY_SQUASH_TIMEOUT:
- state: 0
- ERRINJ_VY_LOG_FLUSH:
- state: false
- ERRINJ_RELAY_TIMEOUT:
- state: 0
+--
+-- Print all error keys in sorted order
+-- to minimize diff output when new ones
+-- are merged in.
+ekeys = {}
+---
+...
+evals = {}
+---
+...
+for k,v in pairs(errinj.info()) do ekeys[#ekeys+1] = k end
+---
+...
+table.sort(ekeys)
+---
+...
+for i = 1, #ekeys do evals[i] = string.format("%s = %s", ekeys[i], errinj.get(ekeys[i])) end
+---
+...
+evals
+---
+- - ERRINJ_BUILD_INDEX = -1
+ - ERRINJ_BUILD_INDEX_DELAY = false
+ - ERRINJ_CHECK_FORMAT_DELAY = false
+ - ERRINJ_COIO_SENDFILE_CHUNK = -1
+ - ERRINJ_DYN_MODULE_COUNT = 0
+ - ERRINJ_HTTPC_EXECUTE = false
+ - ERRINJ_HTTP_RESPONSE_ADD_WAIT = false
+ - ERRINJ_INDEX_ALLOC = false
+ - ERRINJ_IPROTO_TX_DELAY = false
+ - ERRINJ_LOG_ROTATE = false
+ - ERRINJ_MEMTX_DELAY_GC = false
+ - ERRINJ_PORT_DUMP = false
+ - ERRINJ_RELAY_BREAK_LSN = -1
+ - ERRINJ_RELAY_EXIT_DELAY = 0
+ - ERRINJ_RELAY_FINAL_JOIN = false
+ - ERRINJ_RELAY_FINAL_SLEEP = false
+ - ERRINJ_RELAY_REPORT_INTERVAL = 0
+ - ERRINJ_RELAY_SEND_DELAY = false
+ - ERRINJ_RELAY_TIMEOUT = 0
+ - ERRINJ_REPLICA_JOIN_DELAY = false
+ - ERRINJ_SIO_READ_MAX = -1
+ - ERRINJ_SNAP_COMMIT_DELAY = false
+ - ERRINJ_SNAP_WRITE_DELAY = false
+ - ERRINJ_SQL_NAME_NORMALIZATION = false
+ - ERRINJ_SWIM_FD_ONLY = false
+ - ERRINJ_TESTING = false
+ - ERRINJ_TUPLE_ALLOC = false
+ - ERRINJ_TUPLE_FIELD = false
+ - ERRINJ_TUPLE_FORMAT_COUNT = -1
+ - ERRINJ_VYRUN_DATA_READ = false
+ - ERRINJ_VY_COMPACTION_DELAY = false
+ - ERRINJ_VY_DELAY_PK_LOOKUP = false
+ - ERRINJ_VY_DUMP_DELAY = false
+ - ERRINJ_VY_GC = false
+ - ERRINJ_VY_INDEX_DUMP = -1
+ - ERRINJ_VY_INDEX_FILE_RENAME = false
+ - ERRINJ_VY_LOG_FILE_RENAME = false
+ - ERRINJ_VY_LOG_FLUSH = false
+ - ERRINJ_VY_LOG_FLUSH_DELAY = false
+ - ERRINJ_VY_POINT_ITER_WAIT = false
+ - ERRINJ_VY_READ_PAGE = false
+ - ERRINJ_VY_READ_PAGE_DELAY = false
+ - ERRINJ_VY_READ_PAGE_TIMEOUT = 0
+ - ERRINJ_VY_RUN_DISCARD = false
+ - ERRINJ_VY_RUN_FILE_RENAME = false
+ - ERRINJ_VY_RUN_WRITE = false
+ - ERRINJ_VY_RUN_WRITE_DELAY = false
+ - ERRINJ_VY_RUN_WRITE_STMT_TIMEOUT = 0
+ - ERRINJ_VY_SCHED_TIMEOUT = 0
+ - ERRINJ_VY_SQUASH_TIMEOUT = 0
+ - ERRINJ_VY_TASK_COMPLETE = false
+ - ERRINJ_WAL_BREAK_LSN = -1
+ - ERRINJ_WAL_DELAY = false
+ - ERRINJ_WAL_FALLOCATE = 0
+ - ERRINJ_WAL_IO = false
+ - ERRINJ_WAL_ROTATE = false
+ - ERRINJ_WAL_SYNC = false
+ - ERRINJ_WAL_WRITE = false
+ - ERRINJ_WAL_WRITE_DISK = false
+ - ERRINJ_WAL_WRITE_EOF = false
+ - ERRINJ_WAL_WRITE_PARTIAL = -1
+ - ERRINJ_XLOG_GARBAGE = false
+ - ERRINJ_XLOG_META = false
+ - ERRINJ_XLOG_READ = -1
...
errinj.set("some-injection", true)
---
diff --git a/test/box/errinj.test.lua b/test/box/errinj.test.lua
index 03c088677..083bc963c 100644
--- a/test/box/errinj.test.lua
+++ b/test/box/errinj.test.lua
@@ -9,7 +9,17 @@ net_box = require('net.box')
space = box.schema.space.create('tweedledum')
index = space:create_index('primary', { type = 'hash' })
-errinj.info()
+--
+-- Print all error keys in sorted order
+-- to minimize diff output when new ones
+-- are merged in.
+ekeys = {}
+evals = {}
+for k,v in pairs(errinj.info()) do ekeys[#ekeys+1] = k end
+table.sort(ekeys)
+for i = 1, #ekeys do evals[i] = string.format("%s = %s", ekeys[i], errinj.get(ekeys[i])) end
+evals
+
errinj.set("some-injection", true)
errinj.set("some-injection") -- check error
space:select{222444}
--
2.20.1
next prev parent reply other threads:[~2020-02-13 13:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-13 13:07 [Tarantool-patches] [PATCH] " Cyrill Gorcunov
2020-02-13 13:57 ` Cyrill Gorcunov [this message]
2020-02-13 21:59 ` [Tarantool-patches] [PATCH v2] " Vladislav Shpilevoy
2020-02-14 12:38 ` Alexander Turenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200213135725.GO21061@uranus \
--to=gorcunov@gmail.com \
--cc=tarantool-patches@dev.tarantool.org \
--cc=v.shpilevoy@tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH v2] test: box/errinj -- sort errors' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox