mirror of
https://github.com/infeeeee/dyn2py
synced 2025-12-16 22:16:18 +01:00
32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
import unittest
|
|
import subprocess
|
|
|
|
|
|
class TestCommandLine(unittest.TestCase):
|
|
def test_help(self):
|
|
args = ["-h", "--help"]
|
|
readme_help_lines = []
|
|
|
|
# Read help from readme:
|
|
with open("README.md", mode="r", encoding="utf-8") as readme:
|
|
is_help_line = False
|
|
|
|
for line in readme.readlines():
|
|
if line == "> dyn2py --help":
|
|
is_help_line = True
|
|
elif is_help_line and line == "```":
|
|
# It's the end of the help
|
|
break
|
|
elif is_help_line:
|
|
readme_help_lines.append(line)
|
|
|
|
for arg in args:
|
|
p = subprocess.run(
|
|
["dyn2py", arg], capture_output=True, shell=True)
|
|
output_help = p.stdout.decode()
|
|
output_help_lines = output_help.split("\n")
|
|
|
|
self.assertEqual(output_help.count("\n"), len(readme_help_lines))
|
|
for i, l in enumerate(readme_help_lines):
|
|
self.assertEqual(l, output_help_lines[i])
|