Author: jdevlieghere Date: Thu Apr 11 08:03:07 2019 New Revision: 358180 URL: http://llvm.org/viewvc/llvm-project?rev=358180&view=rev Log: [test] Convert CommandScriptImmediateOutput from pexpect to lit
This converts the CommandScriptImmediateOutput test from a python test using pexpect to a lit test. Differential revision: https://reviews.llvm.org/D60566 Added: lldb/trunk/lit/Commands/CommandScriptImmediateOutput/ lldb/trunk/lit/Commands/CommandScriptImmediateOutput/CommandScriptImmediateOutputConsole.test lldb/trunk/lit/Commands/CommandScriptImmediateOutput/CommandScriptImmediateOutputFile.test lldb/trunk/lit/Commands/CommandScriptImmediateOutput/Inputs/ lldb/trunk/lit/Commands/CommandScriptImmediateOutput/Inputs/custom_command.py Removed: lldb/trunk/packages/Python/lldbsuite/test/functionalities/command_script_immediate_output/ Added: lldb/trunk/lit/Commands/CommandScriptImmediateOutput/CommandScriptImmediateOutputConsole.test URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Commands/CommandScriptImmediateOutput/CommandScriptImmediateOutputConsole.test?rev=358180&view=auto ============================================================================== --- lldb/trunk/lit/Commands/CommandScriptImmediateOutput/CommandScriptImmediateOutputConsole.test (added) +++ lldb/trunk/lit/Commands/CommandScriptImmediateOutput/CommandScriptImmediateOutputConsole.test Thu Apr 11 08:03:07 2019 @@ -0,0 +1,11 @@ +# Test that LLDB correctly allows scripted commands to set immediate output to +# the console. + +# RUN: %lldb -s %s \ +# RUN: -o 'command script import %S/Inputs/custom_command.py' \ +# RUN: -o 'command script add -f custom_command.command_function mycommand' \ +# RUN: -o 'mycommand' \ +# RUN: -o 'command script delete mycommand' \ +# RUN: 2>&1 | FileCheck %s + +# CHECK: this is a test string, just a test string Added: lldb/trunk/lit/Commands/CommandScriptImmediateOutput/CommandScriptImmediateOutputFile.test URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Commands/CommandScriptImmediateOutput/CommandScriptImmediateOutputFile.test?rev=358180&view=auto ============================================================================== --- lldb/trunk/lit/Commands/CommandScriptImmediateOutput/CommandScriptImmediateOutputFile.test (added) +++ lldb/trunk/lit/Commands/CommandScriptImmediateOutput/CommandScriptImmediateOutputFile.test Thu Apr 11 08:03:07 2019 @@ -0,0 +1,51 @@ +# Test that LLDB correctly allows scripted commands to set immediate output to +# a file. + +# RUN: echo "READ" > %t.read.txt +# RUN: echo "WRITE" > %t.write.txt +# RUN: echo "APPEND" > %t.append.txt +# RUN: echo "READ PLUS" > %t.read_plus.txt +# RUN: echo "WRITE PLUS" > %t.write_plus.txt +# RUN: echo "APPEND PLUS" > %t.append_plus.txt + +# RUN: %lldb -s %s \ +# RUN: -o 'command script import %S/Inputs/custom_command.py' \ +# RUN: -o 'command script add -f custom_command.write_file mywrite' \ +# RUN: -o 'mywrite %t.read.txt r' \ +# RUN: -o 'mywrite %t.write.txt w' \ +# RUN: -o 'mywrite %t.append.txt a' \ +# RUN: -o 'mywrite %t.write_plus.txt w+' \ +# RUN: -o 'mywrite %t.read_plus.txt r+' \ +# RUN: -o 'mywrite %t.append_plus.txt a+' \ +# RUN: -o 'command script delete mywrite' + +# RUN: cat %t.read.txt | FileCheck %s --check-prefix READ +# READ: READ +# READ-NOT: writing to file with mode + +# RUN: cat %t.write.txt | FileCheck %s --check-prefix WRITE +# WRITE-NOT: WRITE +# WRITE: writing to file with mode: w + +# RUN: cat %t.append.txt | FileCheck %s --check-prefix APPEND +# APPEND: APPEND +# APPEND-NEXT: writing to file with mode: a + +# RUN: cat %t.write_plus.txt | FileCheck %s --check-prefix WRITEPLUS +# WRITEPLUS-NOT: WRITE PLUS +# WRITEPLUS: writing to file with mode: w+ + +# RUN: cat %t.read_plus.txt | FileCheck %s --check-prefix READPLUS +# READPLUS-NOT: READ PLUS +# READPLUS: writing to file with mode: r+ + +# RUN: cat %t.append_plus.txt | FileCheck %s --check-prefix APPENDPLUS +# APPENDPLUS: APPEND PLUS +# APPENDPLUS-NEXT: writing to file with mode: a+ + +# RUN: rm %t.read.txt +# RUN: rm %t.write.txt +# RUN: rm %t.append.txt +# RUN: rm %t.write_plus.txt +# RUN: rm %t.read_plus.txt +# RUN: rm %t.append_plus.txt Added: lldb/trunk/lit/Commands/CommandScriptImmediateOutput/Inputs/custom_command.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Commands/CommandScriptImmediateOutput/Inputs/custom_command.py?rev=358180&view=auto ============================================================================== --- lldb/trunk/lit/Commands/CommandScriptImmediateOutput/Inputs/custom_command.py (added) +++ lldb/trunk/lit/Commands/CommandScriptImmediateOutput/Inputs/custom_command.py Thu Apr 11 08:03:07 2019 @@ -0,0 +1,19 @@ +from __future__ import print_function + +import sys +import shlex + + +def command_function(debugger, command, exe_ctx, result, internal_dict): + result.SetImmediateOutputFile(sys.__stdout__) + print('this is a test string, just a test string', file=result) + + +def write_file(debugger, command, exe_ctx, result, internal_dict): + args = shlex.split(command) + path = args[0] + mode = args[1] + with open(path, mode) as f: + result.SetImmediateOutputFile(f) + if not mode in ['r']: + print('writing to file with mode: ' + mode, file=result) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits