From ebcb0ef156390ab0a89640dd53bd266cdcfdff6b Mon Sep 17 00:00:00 2001 From: Georgiy Lebedev Date: Thu, 22 Feb 2024 15:19:39 +0300 Subject: [PATCH] Disable verbose serialization of box.error in diff tests In scope of tarantool/tarantool#9105, we are going to increase the verbosity of `box.error` serialization. Since the verbose error representation contains the diagnostic trace, it is unsuitable for diff tests, so let's disable it from the CLI. Needed for tarantool/tarantool#9105 --- lib/server.py | 7 +++++++ lib/tarantool_server.py | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/server.py b/lib/server.py index 045543cc..8d4225be 100644 --- a/lib/server.py +++ b/lib/server.py @@ -35,6 +35,13 @@ class Server(object): assert(box.error.injection.set('ERRINJ_AUTO_UPGRADE', true) == 'ok', \ 'no such errinj')" + # Since the verbose box.error representation contains the diagnostic trace, + # it is unsuitable for diff tests, and we disable it from the CLI. + DISABLE_BOX_ERROR_SERIALIZE_VERBOSE = \ + "_, tweaks = pcall(require, 'internal.tweaks') " \ + "if tweaks.box_error_serialize_verbose ~= nil then " \ + "tweaks.box_error_serialize_verbose = false end" + @property def vardir(self): if not hasattr(self, '_vardir'): diff --git a/lib/tarantool_server.py b/lib/tarantool_server.py index a0b213bc..9a4b1292 100644 --- a/lib/tarantool_server.py +++ b/lib/tarantool_server.py @@ -839,11 +839,12 @@ def copy_files(self): shutil.copy(self.snapshot_path, snapshot_dest) def prepare_args(self, args=[]): - cli_args = [self.ctl_path, 'start', + cli_args = [self.binary, '-e', self.DISABLE_BOX_ERROR_SERIALIZE_VERBOSE, + self.ctl_path, 'start', os.path.basename(self.script)] + args if self.disable_schema_upgrade: - cli_args = [self.binary, '-e', - self.DISABLE_AUTO_UPGRADE] + cli_args + cli_args = cli_args[0] + ['-e', self.DISABLE_AUTO_UPGRADE] + \ + cli_args[1:] return cli_args