Create stderr file, also watch sys_writev (#129)
This commit is contained in:
@@ -492,10 +492,14 @@ class Executor(object):
|
||||
file(self._getFilename('test_%08x.syscalls'%test_number),'a').write(repr(state.model.syscall_trace))
|
||||
|
||||
stdout = ''
|
||||
stderr = ''
|
||||
for sysname, fd, data in state.model.syscall_trace:
|
||||
if sysname in ('_transmit', '_write') and fd == 1:
|
||||
stdout += ''.join(map(str, data))
|
||||
if sysname in ('_transmit', '_write') and fd == 2:
|
||||
stderr += ''.join(map(str, data))
|
||||
file(self._getFilename('test_%08x.stdout'%test_number),'a').write(stdout)
|
||||
file(self._getFilename('test_%08x.stderr'%test_number),'a').write(stderr)
|
||||
|
||||
# Save STDIN solution
|
||||
stdin_file = 'test_{:08x}.stdin'.format(test_number)
|
||||
|
||||
@@ -1311,6 +1311,7 @@ class Linux(object):
|
||||
data += Operators.CHR(cpu.read_int(buf + j, 8))
|
||||
logger.debug("WRITEV(%r, %r, %r) -> <%r> (size:%r)"%(fd, buf, size, data, len(data)))
|
||||
self.files[fd].write(data)
|
||||
self.syscall_trace.append(("_write", fd, data))
|
||||
total+=size
|
||||
return total
|
||||
|
||||
|
||||
Reference in New Issue
Block a user