From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp62.i.mail.ru (smtp62.i.mail.ru [217.69.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id A278B44643A for ; Thu, 15 Oct 2020 17:33:14 +0300 (MSK) From: Nikita Pettik Date: Thu, 15 Oct 2020 17:33:10 +0300 Message-Id: <60d45d9d5435523f67e92d3268152c51102dd261.1602769246.git.korablev@tarantool.org> In-Reply-To: References: In-Reply-To: References: Subject: [Tarantool-patches] [PATCH 2/2] vinyl: reorganize vinyl/upsert_upgrade.test.lua List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tarantool-patches@dev.tarantool.org Cc: v.shpilevoy@tarantool.org To make vinyl/upgrade tests hierarchy clean and follow more extendible folder structure (like in xlog/upgrade), let's a bit reorganize upgrade test. Follow-up #5107 --- .../00000000000000000000.vylog | Bin .../00000000000000000004.vylog | Bin .../00000000000000000004.xlog | Bin .../00000000000000000010.vylog | Bin .../00000000000000000010.xlog | 0 .../512/0/00000000000000000002.index | Bin .../512/0/00000000000000000002.run | Bin .../512/0/00000000000000000004.index | Bin .../512/0/00000000000000000004.run | Bin .../512/0/00000000000000000006.index | Bin .../512/0/00000000000000000006.run | Bin .../2.5.1/gh-5107-upsert-upgrade/fill.lua | 15 +++++ .../upgrade/upsert/00000000000000000004.snap | Bin 6187 -> 0 bytes .../upgrade/upsert/00000000000000000010.snap | Bin 6188 -> 0 bytes test/vinyl/upsert_upgrade.result | 59 ------------------ test/vinyl/upsert_upgrade.test.lua | 32 ---------- 16 files changed, 15 insertions(+), 91 deletions(-) rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/00000000000000000000.vylog (100%) rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/00000000000000000004.vylog (100%) rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/00000000000000000004.xlog (100%) rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/00000000000000000010.vylog (100%) rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/00000000000000000010.xlog (100%) rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000002.index (100%) rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000002.run (100%) rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000004.index (100%) rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000004.run (100%) rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000006.index (100%) rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000006.run (100%) create mode 100644 test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/fill.lua delete mode 100644 test/vinyl/upgrade/upsert/00000000000000000004.snap delete mode 100644 test/vinyl/upgrade/upsert/00000000000000000010.snap delete mode 100644 test/vinyl/upsert_upgrade.result delete mode 100644 test/vinyl/upsert_upgrade.test.lua diff --git a/test/vinyl/upgrade/upsert/00000000000000000000.vylog b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000000.vylog similarity index 100% rename from test/vinyl/upgrade/upsert/00000000000000000000.vylog rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000000.vylog diff --git a/test/vinyl/upgrade/upsert/00000000000000000004.vylog b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000004.vylog similarity index 100% rename from test/vinyl/upgrade/upsert/00000000000000000004.vylog rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000004.vylog diff --git a/test/vinyl/upgrade/upsert/00000000000000000004.xlog b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000004.xlog similarity index 100% rename from test/vinyl/upgrade/upsert/00000000000000000004.xlog rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000004.xlog diff --git a/test/vinyl/upgrade/upsert/00000000000000000010.vylog b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000010.vylog similarity index 100% rename from test/vinyl/upgrade/upsert/00000000000000000010.vylog rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000010.vylog diff --git a/test/vinyl/upgrade/upsert/00000000000000000010.xlog b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000010.xlog similarity index 100% rename from test/vinyl/upgrade/upsert/00000000000000000010.xlog rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000010.xlog diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000002.index b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000002.index similarity index 100% rename from test/vinyl/upgrade/upsert/512/0/00000000000000000002.index rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000002.index diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000002.run b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000002.run similarity index 100% rename from test/vinyl/upgrade/upsert/512/0/00000000000000000002.run rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000002.run diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000004.index b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000004.index similarity index 100% rename from test/vinyl/upgrade/upsert/512/0/00000000000000000004.index rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000004.index diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000004.run b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000004.run similarity index 100% rename from test/vinyl/upgrade/upsert/512/0/00000000000000000004.run rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000004.run diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000006.index b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000006.index similarity index 100% rename from test/vinyl/upgrade/upsert/512/0/00000000000000000006.index rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000006.index diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000006.run b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000006.run similarity index 100% rename from test/vinyl/upgrade/upsert/512/0/00000000000000000006.run rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000006.run diff --git a/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/fill.lua b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/fill.lua new file mode 100644 index 000000000..1916aea6e --- /dev/null +++ b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/fill.lua @@ -0,0 +1,15 @@ +box.cfg{} + +s = box.schema.create_space('test', {engine = 'vinyl'}) +pk = s:create_index('pk') +s:insert({1, 2}) +box.snapshot() +s:upsert({1, 0}, {{'+', 2, 1}}) +s:upsert({1, 0}, {{'-', 2, 2}}) +s:upsert({2, 0}, {{'+', 2, 1}}) +s:upsert({2, 0}, {{'-', 2, 2}}) +s:upsert({1, 0}, {{'=', 2, 2}}) +s:upsert({1, 0}, {{'-', 2, 2}}) +box.snapshot() + +os.exit() diff --git a/test/vinyl/upgrade/upsert/00000000000000000004.snap b/test/vinyl/upgrade/upsert/00000000000000000004.snap deleted file mode 100644 index 9c8767eadb5eb1a27dc39a23072f2b9e28327d8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6187 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 JiVxKgt?f8T;qd?f diff --git a/test/vinyl/upgrade/upsert/00000000000000000010.snap b/test/vinyl/upgrade/upsert/00000000000000000010.snap deleted file mode 100644 index 8b89c925fc080880c9a9176ed5cd68ac04c0dc6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6188 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