Implemented dictionnary based file system to speed up the tests

This commit is contained in:
2019-11-21 21:54:39 +01:00
parent 714f4f5dd0
commit 5d37addc7d
17 changed files with 817 additions and 494 deletions
+3 -27
View File
@@ -1,36 +1,12 @@
import os
import shutil
import pytest
from os import path
import ast
from core.builtin_concepts import ParserResultConcept, BuiltinConcepts, ReturnValueConcept
from core.sheerka import Sheerka, ExecutionContext
from parsers.BaseParser import BaseParser
from parsers.PythonParser import PythonParser, PythonNode, PythonErrorNode
from parsers.PythonParser import PythonParser, PythonNode
from core.tokenizer import Keywords, Tokenizer
from parsers.DefaultParser import DefaultParser, NameNode, SyntaxErrorNode
# from parsers.DefaultParser import NumberNode, StringNode, VariableNode, TrueNode, FalseNode, NullNode, BinaryNode
from parsers.DefaultParser import UnexpectedTokenErrorNode, DefConceptNode, NopNode
tests_root = path.abspath("../build/tests")
root_folder = "init_folder"
@pytest.fixture(autouse=True)
def init_test():
if path.exists(tests_root):
shutil.rmtree(tests_root)
if not path.exists(tests_root):
os.makedirs(tests_root)
current_pwd = os.getcwd()
os.chdir(tests_root)
yield None
os.chdir(current_pwd)
from parsers.DefaultParser import UnexpectedTokenErrorNode, DefConceptNode
# def nop():
# return NopNode()
@@ -92,7 +68,7 @@ def get_concept(name, where=None, pre=None, post=None, body=None):
def get_context():
sheerka = Sheerka()
sheerka.initialize(root_folder)
sheerka.initialize("mem://")
return ExecutionContext("test", "xxx", sheerka)