Ver Fonte

添加更多监视和测试

myuan há 2 anos atrás
pai
commit
7c608695e2
2 ficheiros alterados com 12 adições e 5 exclusões
  1. 10 5
      run_sql_parser_test.py
  2. 2 0
      tests_config.py

+ 10 - 5
run_sql_parser_test.py

@@ -7,7 +7,11 @@ from datetime import datetime
 import orjson
 import os
 import tempfile
-from tests_config import sql_parser_tests, sql_checker_tests
+import tests_config
+import importlib
+importlib.reload(tests_config)
+
+sql_parser_tests, sql_checker_tests = tests_config.sql_parser_tests, tests_config.sql_checker_tests
 
 
 async def run_and_output(
@@ -75,32 +79,33 @@ async def on_parser_modified():
         print(datetime.now(), colored("all parser tests right!", "green"))
 
 
-async def assert_check():
+async def assert_checks():
     for sql, res in sql_checker_tests:
         stdout, stderr = await run_and_output(
             'xmake', 'run', "sql-checker", 
             "-s", sql
         )
+        print(sql, res)
         if res is True:
             assert b'error' not in stdout, stdout.decode("utf-8")
             assert b'error' not in stderr, stderr.decode('utf-8')
         elif isinstance(res, str):
             res = res.encode('utf-8') 
-            assert res in stdout or res in stderr, stdout.decode("utf-8")
+            assert res in stderr, stderr.decode("utf-8")
         else:
             assert False, f"{res} 不是合适的结果"
 
 async def on_checker_modified():
     print(datetime.now(), colored("run checker tests...", "yellow"))
     try:
-        await assert_check()
+        await assert_checks()
     except Exception as e:
         print(e)
     print(datetime.now(), colored("all checker tests right!", "green"))
 
 
 async def restart():
-    async for _ in awatch(__file__):
+    async for _ in awatch(__file__, "./tests_config.py"):
         print("restart")
         os.execl("/bin/python", Path(__file__).as_posix(), Path(__file__).as_posix())
 

+ 2 - 0
tests_config.py

@@ -493,4 +493,6 @@ sql_checker_tests = [
     ('create table person(name string, age int);', True),
     ('select age from person;', True),
     ('select * from person;', True),
+    ('select gender from person;', 'column `"gender"` not exists in `person`'),
+    ('select 123 from person;', True),
 ]