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