# -*- 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, js_broken(22261)], compile_and_run, ['']) test('hFileSize001', normal, compile_and_run, ['']) test('hFileSize002', [omit_ways(['ghci']), js_broken(22261)], 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', js_broken(22374), 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, js_broken(22374), when(arch('wasm32'), fragile(23275))], 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') , js_broken(22261) ], 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, ['']) test('T17912', [only_ways(['threaded1']), when(opsys('mingw32'),expect_broken(1))], compile_and_run, ['']) test('T18832', only_ways(['threaded1']), compile_and_run, ['']) test('mkdirExists', [exit_code(1), when(opsys('mingw32'), ignore_stderr)], compile_and_run, [''])