bugfix for test

This commit is contained in:
JanLJL
2019-07-08 16:25:07 +02:00
parent 75393f106c
commit 311535476a
3 changed files with 27 additions and 8 deletions

View File

@@ -1,6 +1,6 @@
"""Open Source Architecture Code Analyzer"""
name = 'osaca'
__version__ = '0.3.0'
__version__ = '0.3.0dev'
# To trigger travis deployment to pypi, do the following:
# 1. Increment __version___

View File

@@ -7,10 +7,14 @@ from .hw_model import MachineModel
class SemanticsAppender(object):
def __init__(self, machine_model: MachineModel):
def __init__(self, machine_model: MachineModel, path_to_yaml=None):
self.machine_model = machine_model
self._isa = machine_model.get_ISA()
self._isa_model = MachineModel(path_to_yaml=self._find_file(self._isa))
if path_to_yaml:
path = path_to_yaml
else:
path = self._find_file(self._isa)
self._isa_model = MachineModel(path_to_yaml=path)
def _find_file(self, isa):
data_dir = os.path.expanduser('~/.osaca/data/isa')

View File

@@ -7,13 +7,18 @@ import os
import unittest
from osaca.parser import AttrDict, ParserAArch64v81, ParserX86ATT
from osaca.semantics.kernel_dg import KernelDG
from osaca.semantics.hw_model import MachineModel
from osaca.semantics.kernel_dg import KernelDG
from osaca.semantics.semanticsAppender import SemanticsAppender
class TestSemanticTools(unittest.TestCase):
MODULE_DATA_DIR = os.path.join(
os.path.dirname(os.path.split(os.path.abspath(__file__))[0]), 'osaca/data/'
)
def setUp(self):
# set up parser and kernels
self.parser_x86 = ParserX86ATT()
self.parser_AArch64 = ParserAArch64v81()
with open(self._find_file('kernel-x86.s')) as f:
@@ -23,10 +28,20 @@ class TestSemanticTools(unittest.TestCase):
self.kernel_x86 = self.parser_x86.parse_file(code_x86)
self.kernel_AArch64 = self.parser_AArch64.parse_file(code_AArch64)
self.machine_model_csl = MachineModel('csl')
self.machine_model_tx2 = MachineModel('vulcan')
self.semantics_csl = SemanticsAppender(self.machine_model_csl)
self.semantics_tx2 = SemanticsAppender(self.machine_model_tx2)
# set up machine models
self.machine_model_csl = MachineModel(
path_to_yaml=os.path.join(self.MODULE_DATA_DIR, 'csl.yml')
)
self.machine_model_tx2 = MachineModel(
path_to_yaml=os.path.join(self.MODULE_DATA_DIR, 'vulcan.yml')
)
self.semantics_csl = SemanticsAppender(
self.machine_model_csl, path_to_yaml=os.path.join(self.MODULE_DATA_DIR, 'isa/x86.yml')
)
self.semantics_tx2 = SemanticsAppender(
self.machine_model_tx2,
path_to_yaml=os.path.join(self.MODULE_DATA_DIR, 'isa/AArch64.yml'),
)
for i in range(len(self.kernel_x86)):
self.semantics_csl.assign_src_dst(self.kernel_x86[i])
for i in range(len(self.kernel_AArch64)):