From ac6570f762e6520a4458d53963beb5bd4578a2f0 Mon Sep 17 00:00:00 2001 From: Cristian Cadar Date: Sat, 23 May 2009 01:13:11 +0000 Subject: Renamed klee-bout-tool to ktest-tool. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72306 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/Makefile | 2 +- tools/klee-bout-tool/Makefile | 46 ---------------- tools/klee-bout-tool/klee-bout-tool | 106 ------------------------------------ tools/ktest-tool/Makefile | 46 ++++++++++++++++ tools/ktest-tool/ktest-tool | 106 ++++++++++++++++++++++++++++++++++++ 5 files changed, 153 insertions(+), 153 deletions(-) delete mode 100644 tools/klee-bout-tool/Makefile delete mode 100755 tools/klee-bout-tool/klee-bout-tool create mode 100644 tools/ktest-tool/Makefile create mode 100755 tools/ktest-tool/ktest-tool diff --git a/tools/Makefile b/tools/Makefile index 8c3501da..40cdbc28 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -15,7 +15,7 @@ LEVEL=.. # # List all of the subdirectories that we will compile. # -PARALLEL_DIRS=klee kleaver klee-bout-tool gen-random-bout +PARALLEL_DIRS=klee kleaver ktest-tool gen-random-bout # FIXME: Move qplayer functionality into kleaver include $(LEVEL)/Makefile.common diff --git a/tools/klee-bout-tool/Makefile b/tools/klee-bout-tool/Makefile deleted file mode 100644 index 28e80841..00000000 --- a/tools/klee-bout-tool/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -#===-- tools/klee-bout-tool/Makefile -----------------------*- Makefile -*--===# -# -# The KLEE Symbolic Virtual Machine -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -#===------------------------------------------------------------------------===# - -LEVEL = ../.. - -TOOLSCRIPTNAME := klee-bout-tool - -include $(LEVEL)/Makefile.common - -# FIXME: Move this stuff (to "build" a script) into Makefile.rules. - -ToolBuildPath := $(ToolDir)/$(TOOLSCRIPTNAME) - -all-local:: $(ToolBuildPath) - -$(ToolBuildPath): $(ToolDir)/.dir - -$(ToolBuildPath): $(TOOLSCRIPTNAME) - $(Echo) Copying $(BuildMode) script $(TOOLSCRIPTNAME) - $(Verb) $(CP) -f $(TOOLSCRIPTNAME) "$@" - $(Verb) chmod 0755 "$@" - -ifdef NO_INSTALL -install-local:: - $(Echo) Install circumvented with NO_INSTALL -uninstall-local:: - $(Echo) Uninstall circumvented with NO_INSTALL -else -DestTool = $(PROJ_bindir)/$(TOOLSCRIPTNAME) - -install-local:: $(DestTool) - -$(DestTool): $(ToolBuildPath) $(PROJ_bindir) - $(Echo) Installing $(BuildMode) $(DestTool) - $(Verb) $(ProgInstall) $(ToolBuildPath) $(DestTool) - -uninstall-local:: - $(Echo) Uninstalling $(BuildMode) $(DestTool) - -$(Verb) $(RM) -f $(DestTool) -endif diff --git a/tools/klee-bout-tool/klee-bout-tool b/tools/klee-bout-tool/klee-bout-tool deleted file mode 100755 index 19c9e893..00000000 --- a/tools/klee-bout-tool/klee-bout-tool +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/python - -import os -import struct -import sys - -version_no=2 - -class BOutError(Exception): - pass - -class BOut: - @staticmethod - def fromfile(path): - if not os.path.exists(path): - print "ERROR: file %s not found" % (path) - sys.exit(1) - - f = open(path,'rb') - hdr = f.read(5) - if len(hdr)!=5 or hdr!='BOUT\n': - raise BOutError,'unrecognized file' - version, = struct.unpack('>i', f.read(4)) - if version > version_no: - raise BOutError,'unrecognized version' - numArgs, = struct.unpack('>i', f.read(4)) - args = [] - for i in range(numArgs): - size, = struct.unpack('>i', f.read(4)) - args.append(f.read(size)) - - if version >= 2: - symArgvs, = struct.unpack('>i', f.read(4)) - symArgvLen, = struct.unpack('>i', f.read(4)) - else: - symArgvs = 0 - symArgvLen = 0 - - numObjects, = struct.unpack('>i', f.read(4)) - objects = [] - for i in range(numObjects): - size, = struct.unpack('>i', f.read(4)) - name = f.read(size) - size, = struct.unpack('>i', f.read(4)) - bytes = f.read(size) - objects.append( (name,bytes) ) - - # Create an instance - b = BOut(version, args, symArgvs, symArgvLen, objects) - # Augment with extra filename field - b.filename = path - return b - - def __init__(self, version, args, symArgvs, symArgvLen, objects): - self.version = version - self.symArgvs = symArgvs - self.symArgvLen = symArgvLen - self.args = args - self.objects = objects - - # add a field that represents the name of the program used to - # generate this .bout file: - program_full_path = self.args[0] - program_name = os.path.basename(program_full_path) - # sometimes program names end in .bc, so strip them - if program_name.endswith('.bc'): - program_name = program_name[:-3] - self.programName = program_name - -def trimZeros(str): - for i in range(len(str))[::-1]: - if str[i] != '\x00': - return str[:i+1] - return '' - -def main(args): - from optparse import OptionParser - op = OptionParser("usage: %prog [options] files") - op.add_option('','--trim-zeros', dest='trimZeros', action='store_true', - default=False, - help='trim trailing zeros') - - opts,args = op.parse_args() - if not args: - op.error("incorrect number of arguments") - - for file in args: - b = BOut.fromfile(file) - pos = 0 - print 'bout file : %r' % file - print 'args : %r' % b.args - print 'num objects: %r' % len(b.objects) - for i,(name,data) in enumerate(b.objects): - if opts.trimZeros: - str = trimZeros(data) - else: - str = data - - print 'object %4d: name: %r' % (i, name) - print 'object %4d: size: %r' % (i, len(data)) - print 'object %4d: data: %r' % (i, str) - if file != args[-1]: - print - -if __name__=='__main__': - main(sys.argv) diff --git a/tools/ktest-tool/Makefile b/tools/ktest-tool/Makefile new file mode 100644 index 00000000..7f80f0b1 --- /dev/null +++ b/tools/ktest-tool/Makefile @@ -0,0 +1,46 @@ +#===-- tools/ktest-tool/Makefile -----------------------*- Makefile -*--===# +# +# The KLEE Symbolic Virtual Machine +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +#===------------------------------------------------------------------------===# + +LEVEL = ../.. + +TOOLSCRIPTNAME := ktest-tool + +include $(LEVEL)/Makefile.common + +# FIXME: Move this stuff (to "build" a script) into Makefile.rules. + +ToolBuildPath := $(ToolDir)/$(TOOLSCRIPTNAME) + +all-local:: $(ToolBuildPath) + +$(ToolBuildPath): $(ToolDir)/.dir + +$(ToolBuildPath): $(TOOLSCRIPTNAME) + $(Echo) Copying $(BuildMode) script $(TOOLSCRIPTNAME) + $(Verb) $(CP) -f $(TOOLSCRIPTNAME) "$@" + $(Verb) chmod 0755 "$@" + +ifdef NO_INSTALL +install-local:: + $(Echo) Install circumvented with NO_INSTALL +uninstall-local:: + $(Echo) Uninstall circumvented with NO_INSTALL +else +DestTool = $(PROJ_bindir)/$(TOOLSCRIPTNAME) + +install-local:: $(DestTool) + +$(DestTool): $(ToolBuildPath) $(PROJ_bindir) + $(Echo) Installing $(BuildMode) $(DestTool) + $(Verb) $(ProgInstall) $(ToolBuildPath) $(DestTool) + +uninstall-local:: + $(Echo) Uninstalling $(BuildMode) $(DestTool) + -$(Verb) $(RM) -f $(DestTool) +endif diff --git a/tools/ktest-tool/ktest-tool b/tools/ktest-tool/ktest-tool new file mode 100755 index 00000000..19c9e893 --- /dev/null +++ b/tools/ktest-tool/ktest-tool @@ -0,0 +1,106 @@ +#!/usr/bin/python + +import os +import struct +import sys + +version_no=2 + +class BOutError(Exception): + pass + +class BOut: + @staticmethod + def fromfile(path): + if not os.path.exists(path): + print "ERROR: file %s not found" % (path) + sys.exit(1) + + f = open(path,'rb') + hdr = f.read(5) + if len(hdr)!=5 or hdr!='BOUT\n': + raise BOutError,'unrecognized file' + version, = struct.unpack('>i', f.read(4)) + if version > version_no: + raise BOutError,'unrecognized version' + numArgs, = struct.unpack('>i', f.read(4)) + args = [] + for i in range(numArgs): + size, = struct.unpack('>i', f.read(4)) + args.append(f.read(size)) + + if version >= 2: + symArgvs, = struct.unpack('>i', f.read(4)) + symArgvLen, = struct.unpack('>i', f.read(4)) + else: + symArgvs = 0 + symArgvLen = 0 + + numObjects, = struct.unpack('>i', f.read(4)) + objects = [] + for i in range(numObjects): + size, = struct.unpack('>i', f.read(4)) + name = f.read(size) + size, = struct.unpack('>i', f.read(4)) + bytes = f.read(size) + objects.append( (name,bytes) ) + + # Create an instance + b = BOut(version, args, symArgvs, symArgvLen, objects) + # Augment with extra filename field + b.filename = path + return b + + def __init__(self, version, args, symArgvs, symArgvLen, objects): + self.version = version + self.symArgvs = symArgvs + self.symArgvLen = symArgvLen + self.args = args + self.objects = objects + + # add a field that represents the name of the program used to + # generate this .bout file: + program_full_path = self.args[0] + program_name = os.path.basename(program_full_path) + # sometimes program names end in .bc, so strip them + if program_name.endswith('.bc'): + program_name = program_name[:-3] + self.programName = program_name + +def trimZeros(str): + for i in range(len(str))[::-1]: + if str[i] != '\x00': + return str[:i+1] + return '' + +def main(args): + from optparse import OptionParser + op = OptionParser("usage: %prog [options] files") + op.add_option('','--trim-zeros', dest='trimZeros', action='store_true', + default=False, + help='trim trailing zeros') + + opts,args = op.parse_args() + if not args: + op.error("incorrect number of arguments") + + for file in args: + b = BOut.fromfile(file) + pos = 0 + print 'bout file : %r' % file + print 'args : %r' % b.args + print 'num objects: %r' % len(b.objects) + for i,(name,data) in enumerate(b.objects): + if opts.trimZeros: + str = trimZeros(data) + else: + str = data + + print 'object %4d: name: %r' % (i, name) + print 'object %4d: size: %r' % (i, len(data)) + print 'object %4d: data: %r' % (i, str) + if file != args[-1]: + print + +if __name__=='__main__': + main(sys.argv) -- cgit 1.4.1