From 46a9a05cb5cab83abbcddfb496b5cda2a87bbc9a Mon Sep 17 00:00:00 2001 From: wangge Date: Wed, 31 Jul 2024 14:56:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0lmdb=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/databases/lmdb/tc_lmdb_lmdb_fun_001.yaml | 46 ++++++++++++ tests/databases/lmdb/students.zip | Bin 0 -> 885 bytes tests/databases/lmdb/tc_lmdb_lmdb_fun_001.py | 71 ++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 docs/databases/lmdb/tc_lmdb_lmdb_fun_001.yaml create mode 100644 tests/databases/lmdb/students.zip create mode 100644 tests/databases/lmdb/tc_lmdb_lmdb_fun_001.py diff --git a/docs/databases/lmdb/tc_lmdb_lmdb_fun_001.yaml b/docs/databases/lmdb/tc_lmdb_lmdb_fun_001.yaml new file mode 100644 index 000000000..b843ce347 --- /dev/null +++ b/docs/databases/lmdb/tc_lmdb_lmdb_fun_001.yaml @@ -0,0 +1,46 @@ +作者: wangge +优先级: P0 +支持架构: noarch +执行方式: 自动 +测试类型: 功能测试 +通用标签: local,lmdb +用例描述: 测试lmdb基本功能 +修改人: wangge + +前置条件: +- 安装lmdb +- 创建lmdb目录 +- 准备测试所需文件students.zip + +测试步骤: +- ls -l students | grep -E 'data.mdb|lock.mdb' # 列出 students 目录中的文件并检查是否包含 data.mdb 和 lock.mdb 文件,这有助于用户对目录中的文件进行确认和检查。 +- mdb_stat students/ # 查看 students 目录中的 LMDB 数据库统计信息 +- os.makedirs("students_copy",exist_ok=True) # 创建名为 students_copy 的目录 +- mdb_copy -c students students_copy # 复制 students 目录中的 LMDB 数据库到 students_copy 目录 +- mdb_stat students_copy # 查看 students_copy 目录中的 LMDB 数据库统计信息 +- ent_copy=int([line.split(":")[1].strip() for line in result.stdout.splitlines() if "Entries" in line][0]) # 获取 students_copy 目录中的 Entries 数量 +- rm -fr test # 删除现有的 test 的文件 +- mdb_dump students -f test # 将 students 目录中的 LMDB 数据库导出到 test 文件中 +- with open("test", 'r') as f : lines = f.readlines() # 统计 test 文件中的行数,将结果存储在变量 len(lines) 中 +- mdb_load -f test -N -T students # 将 test 文件中的数据加载到名为 students 的 LMDB 数据库中 +- ent = int([line.split(":")[1].strip() for line in result.stdout.splitlines() if "Entries" in line][0]) # 获取 students 目录中的 Entries 数量 +- entries = ent - ent_copy # 计算加载后的 Entries 数量与复制前的 Entries 数量之差 +- self.assertGreater(entries, 0, "Failed to add new entries to LMDB") # 检查 Entries 数量的变化是否大于 0" + +期望结果: +- 包含 data.mdb 和 lock.mdb 文件 +- 可以成功查看数据统计信息 +- 创建students_copy目录成功 +- 复制成功 +- 可以成功查看数据统计信息 +- 成功获取 students_copy 目录中的 Entries 数量 +- 删除成功 +- 数据可以导出到test文件内 +- 统计成功,test内容不为0说明数据成功导入到test文件内 +- 加载成功 +- 成功获取 students 目录中的 Entries 数量 +- 计算命令执行成功 +- Entries 数量的变化大于 0 + + + diff --git a/tests/databases/lmdb/students.zip b/tests/databases/lmdb/students.zip new file mode 100644 index 0000000000000000000000000000000000000000..9fd9ae2036d2e392d072a7e9449f2089a3fcd364 GIT binary patch literal 885 zcmWIWW@Zs#W&i@u*oaUN4FjA&MsZ1LN@`w7v3>wl83$O|6|*p>Tt)&Kanm$$F_->>)O_rwK!VDUB4DqC)e3jfrLf9k>o z7Wtrm^zZxUzg8rFT~}rPR$)@Ha;~<>#XBC`AG<7C_^;mo%%n_9?{~kqGaUcq8Fz|3 z4;(TK((3Pet(Af`q*R@aquef5P6=Ew<@~9%tzm)}mv%K7TZu}>#-B5td-L?uXFFRg z)=bmBy6g9X!H^*UGnFFzXM_wpMk zXY-(Y0;cxM@yhVl_c zV@q=|qZJyKG^!&T4NHMot$xyvhuOia