Rm unused Slinux ctor params (#250)

* Rm unused Slinux ctor params

Fixes #109

* Add back constraitns

* Make argv and envp default params

* Use ternary

* nit

* Clean test_unicorn

* Correct envp and docstring
This commit is contained in:
Mark Mossberg 2017-05-12 11:35:59 -04:00 committed by GitHub
parent 1e76998eb7
commit 7700112d9e
3 changed files with 14 additions and 11 deletions

View File

@ -41,7 +41,7 @@ def makeLinux(program, argv, env, concrete_start = ''):
logger.info('Loading program %s', program) logger.info('Loading program %s', program)
constraints = ConstraintSet() constraints = ConstraintSet()
platform = linux.SLinux(constraints, program, argv=argv, envp=env, platform = linux.SLinux(program, argv=argv, envp=env,
symbolic_files=('symbolic.txt')) symbolic_files=('symbolic.txt'))
initial_state = State(constraints, platform) initial_state = State(constraints, platform)

View File

@ -1727,15 +1727,18 @@ class Linux(Platform):
# Symbolic versions follows # Symbolic versions follows
class SLinux(Linux): class SLinux(Linux):
''' """
A symbolic extension of a Decree Operating System Platform. Builds a symbolic extension of a Linux OS
'''
def __init__(self, constraints, programs, argv, envp, symbolic_random=None, symbolic_files=()): :param str programs: path to ELF binary
''' :param list argv: argv not including binary
Builds a symbolic extension of a Decree OS :param list envp: environment variables
:param constraints: a constraints. :param tuple[str] symbolic_files: files to consider symbolic
:param mem: memory for this platform. """
''' def __init__(self, programs, argv=None, envp=None, symbolic_files=()):
argv = [] if argv is None else argv
envp = [] if envp is None else envp
self._constraints = ConstraintSet() self._constraints = ConstraintSet()
self.random = 0 self.random = 0
self.symbolic_files=symbolic_files self.symbolic_files=symbolic_files

View File

@ -1317,7 +1317,7 @@ class UnicornConcretization(unittest.TestCase):
def get_state(cls): def get_state(cls):
if cls.cpu is None: if cls.cpu is None:
constraints = ConstraintSet() constraints = ConstraintSet()
platform = linux.SLinux(constraints, '/bin/ls', argv=[], envp=[]) platform = linux.SLinux('/bin/ls')
cls.state = State(constraints, platform) cls.state = State(constraints, platform)
cls.cpu = platform._mk_proc('armv7') cls.cpu = platform._mk_proc('armv7')
return (cls.cpu, cls.state) return (cls.cpu, cls.state)