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)
constraints = ConstraintSet()
platform = linux.SLinux(constraints, program, argv=argv, envp=env,
platform = linux.SLinux(program, argv=argv, envp=env,
symbolic_files=('symbolic.txt'))
initial_state = State(constraints, platform)

View File

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

View File

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