# -*- coding: utf-8 -*- def expect_fail_if_windows(name, opts): f = when(opsys('mingw32'), expect_fail); return f(normal, opts); test('IOError001', [omit_ways(['ghci']), set_stdin('IOError001.hs')], compile_and_run, ['']) test('IOError002', normal, compile_and_run, ['']) test('finalization001', normal, compile_and_run, ['']) test('hClose001', [], compile_and_run, ['']) test('hClose002', [normalise_win32_io_errors], compile_and_run, ['']) test('hClose003', reqlib('unix'), compile_and_run, ['-package unix']) test('hFileSize001', normal, compile_and_run, ['']) test('hFileSize002', [omit_ways(['ghci'])], compile_and_run, ['']) test('hFlush001', [], compile_and_run, ['']) test('hGetBuffering001', [omit_ways(['ghci']), set_stdin('hGetBuffering001.hs')], compile_and_run, ['']) test('hGetContentsS001', normal, compile_and_run, ['']) test('hGetChar001', normal, compile_and_run, ['']) test('hGetLine001', set_stdin('hGetLine001.hs'), compile_and_run, ['-cpp']) test('hGetLine002', normal, compile_and_run, ['']) test('hGetLine003', normal, compile_and_run, ['']) test('hGetPosn001', [], compile_and_run, ['-cpp']) test('hIsEOF001', normal, compile_and_run, ['']) test('hIsEOF002', [], compile_and_run, ['-cpp']) test('hReady001', normal, compile_and_run, ['-cpp']) # hReady002 tests that hReady returns False for a pipe that has no # data to read. It relies on piping input from 'sleep 1', which doesn't # work for the 'ghci' way because in that case we already pipe input from # a script, so hence omit_ways(['ghci']) test('hReady002', [cmd_prefix('sleep 1 |'), omit_ways(['ghci']), multi_cpu_race], compile_and_run, ['']) test('hSeek001', normal, compile_and_run, ['']) test('hSeek002', normal, compile_and_run, ['-cpp']) test('hSeek003', normal, compile_and_run, ['-cpp']) test('hSeek004', [], compile_and_run, ['-cpp']) test('hSetBuffering002', set_stdin('hSetBuffering002.hs'), compile_and_run, ['']) test('hSetBuffering003', [omit_ways(['ghci']), set_stdin('hSetBuffering003.hs')], compile_and_run, ['']) test('hSetBuffering004', set_stdin('hSetBuffering004.hs'), compile_and_run, ['']) test('ioeGetErrorString001', normal, compile_and_run, ['-cpp']) test('ioeGetFileName001', normal, compile_and_run, ['-cpp']) test('ioeGetHandle001', normal, compile_and_run, ['-cpp']) test('isEOF001', extra_run_opts('32-bit IO operations test('T17414', [when(wordsize(32), skip), when(opsys('mingw32'), fragile(17453)), # It is common for tmpfs to be mounted to a small tmpfs on modern Linux # distributions. This test needs to create a large file which will exceed the # size of this filesystem consequently we must skip it (see #17459). when(opsys('linux'), skip), high_memory_usage], compile_and_run, ['']) test('T17510', expect_broken(17510), compile_and_run, ['']) test('bytestringread001', extra_run_opts('test.data'), compile_and_run, [''])