xref: /llvm-project/lldb/test/API/lua_api/TestFileHandle.lua (revision 67f94e5a9745665dd62550c75cb16569fbb0059d)
1_T = require('lua_lldb_test').create_test('TestFileHandle')
2
3function _T:TestLegacyFileOutScript()
4    local f = io.open(self.output, 'w')
5    self.debugger:SetOutputFile(f)
6    self:handle_command('script print(1+1)')
7    self.debugger:GetOutputFileHandle():write('FOO\n')
8    self.debugger:GetOutputFileHandle():flush()
9    f:close()
10
11    f = io.open(self.output, 'r')
12    assertEquals(read_file_non_empty_lines(f), {'2', 'FOO'})
13    f:close()
14end
15
16function _T:TestLegacyFileOut()
17    local f = io.open(self.output, 'w')
18    self.debugger:SetOutputFile(f)
19    self:handle_command('p/x 3735928559', false)
20    f:close()
21
22    f = io.open(self.output, 'r')
23    assertStrContains(f:read('*l'), 'deadbeef')
24    f:close()
25end
26
27function _T:TestLegacyFileErr()
28    local f = io.open(self.output, 'w')
29    self.debugger:SetErrorFile(f)
30    self:handle_command('lol', false)
31
32    f = io.open(self.output, 'r')
33    assertStrContains(f:read('*l'), 'is not a valid command')
34    f:close()
35end
36
37os.exit(_T:run())
38