From c4fe9182cded7d3128295156d0c917cc96194b35 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 27 Nov 2025 14:43:51 +0800 Subject: [PATCH] add python3-lesscpy test case --- .../tc_python3-lesscpy_fun001.yaml | 38 +++++++++++ .../tc_python3-lesscpy_fun001.py | 66 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 docs/system_base/python3-lesscpy/tc_python3-lesscpy_fun001.yaml create mode 100644 tests/system_base/python3-lesscpy/tc_python3-lesscpy_fun001.py diff --git a/docs/system_base/python3-lesscpy/tc_python3-lesscpy_fun001.yaml b/docs/system_base/python3-lesscpy/tc_python3-lesscpy_fun001.yaml new file mode 100644 index 00000000..faef891c --- /dev/null +++ b/docs/system_base/python3-lesscpy/tc_python3-lesscpy_fun001.yaml @@ -0,0 +1,38 @@ +作者: douzhichong +优先级: P1 +支持架构: noarch +执行方式: 自动 +测试类型: 功能测试 +通用标签: local,python3-lesscpy +用例描述: Python3 lesscpy库LESS编译功能测试 +修改人: douzhichong + +前置条件: +- 系统已安装python3-lesscpy包 +- Python3环境可用 +- lesscpy命令可在终端中执行 + +测试步骤: +- 创建测试目录less_zl和测试LESS文件zl.less +- 验证lesscpy帮助信息是否正确显示 +- 验证lesscpy版本信息是否正确显示 +- 使用详细模式编译LESS文件并验证输出 +- 使用文件输出模式编译LESS文件并验证文件生成 +- 使用压缩模式编译LESS文件并验证输出格式 +- 使用压缩模式(含块换行)编译LESS文件并验证输出格式 +- 使用制表符模式编译LESS文件并验证格式 +- 使用指定空格数模式编译LESS文件并验证格式 +- 清理测试过程中创建的临时文件和目录 + +期望结果: +- 测试目录less_zl和测试文件zl.less能够成功创建 +- lesscpy帮助信息包含"LessCss Compiler"字样 +- lesscpy版本信息包含"compiler"字样 +- 详细模式编译时显示"Compiling target: less_zl/zl.less"信息 +- 文件输出模式能够成功生成输出文件less_zl/less_C +- 压缩模式输出正确CSS内容"#header{color:#4d926f;}" +- 压缩模式(含块换行)输出正确CSS内容"#header{color:#4d926f;}h2{color:#4d926f;}" +- 制表符模式正确使用制表符进行缩进 +- 指定空格数模式正确使用8个空格进行缩进 +- 所有测试步骤均通过验证 +- 测试完成后能够正确清理临时文件和目录(删除less_zl目录) diff --git a/tests/system_base/python3-lesscpy/tc_python3-lesscpy_fun001.py b/tests/system_base/python3-lesscpy/tc_python3-lesscpy_fun001.py new file mode 100644 index 00000000..ae16e014 --- /dev/null +++ b/tests/system_base/python3-lesscpy/tc_python3-lesscpy_fun001.py @@ -0,0 +1,66 @@ +""" +@File: tc_python3-lesscpy_fun001.py +@Time: 2025/11/25 15:30:20 +@Author: douzhichong +@Version: 1.0 +@Contact: douzhichong@inspur.com +@License: Mulan PSL v2 +@Modify: douzhichong +""" +import subprocess + +from common.basetest import LocalTest + + +class Test(LocalTest): + """ + See tc_python3-lesscpy_fun001.yaml for details + + :avocado: tags=P1,noarch,local,python3-lesscpy + """ + PARAM_DIC = {"pkg_name": "python3-lesscpy"} + + def setUp(self): + super().setUp(self.PARAM_DIC) + self.cmd('mkdir less_zl') + command = """ echo "@color: #4D926F; + +#header { + color: @color; +} +h2 { + color:@color; +}" >>less_zl/zl.less + """ + self.cmd(command) + + def test(self): + + code, result = self.cmd('lesscpy -h 2>&1 | grep "LessCss Compiler"') + self.assertFalse(code, "Help message is misprinted") + + code, result = self.cmd('lesscpy -v 2>&1 | grep "compiler"') + self.assertFalse(code, "version message is misprinted") + + code, result = self.cmd('lesscpy -V less_zl/zl.less 2>&1 | grep "Compiling target: less_zl/zl.less"') + self.assertFalse(code, "Description Failed to print the detailed mode") + + command='lesscpy -C less_zl/zl.less >less_zl/less_C 2>&1 && grep "Compiling target" less_zl/less_C' + result = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + self.assertTrue(result.returncode, "Failed to output file") + + code, result = self.cmd('lesscpy -x less_zl/zl.less 2>&1 | grep "#header{color:#4d926f;}"') + self.assertFalse(code, "Minimize output failure") + + code, result = self.cmd('lesscpy -X less_zl/zl.less 2>&1 | grep "#header{color:#4d926f;}h2{color:#4d926f;}"') + self.assertFalse(code, "Minimize output or Block a newline failure") + + code, result = self.cmd('lesscpy -t less_zl/zl.less 2>&1 | grep $\'\\t\'"color"') + self.assertFalse(code, "Failed to use tabs") + + code, result = self.cmd('lesscpy -s 8 less_zl/zl.less 2>&1 | grep -E "^ {8}"') + self.assertFalse(code, "Failed to specify 8 Spaces at the beginning") + + def tearDown(self): + self.cmd('rm -rf less_zl') + super().tearDown(self.PARAM_DIC) -- Gitee