====== io.close ======
--- checkallpass
-		io.close(<userdata>)	true
--- checkallerrors
-		io.close('abc')	...bad argument...
-		io.close(1.25)	...bad argument...
-		io.close(true)	...bad argument...
-		io.close(<table>)	...bad argument...
-		io.close(<function>)	...bad argument...
-		io.close(<thread>)	...bad argument...
====== io.input ======
--- checkallpass
-		io.input(nil)	<userdata>
-		io.input(<userdata>)	<userdata>
-		io.input('abc.txt')	<userdata>
--- checkallerrors
-		io.input(true)	...bad argument...
-		io.input(<table>)	...bad argument...
-		io.input(<function>)	...bad argument...
-		io.input(<thread>)	...bad argument...
====== io.lines ======
--- checkallpass
-		io.lines('abc.txt')	<function>
--- checkallerrors
-		io.lines(<userdata>)	...bad argument...
--- checkallerrors
-		io.lines(true)	...bad argument...
-		io.lines(<table>)	...bad argument...
-		io.lines(<function>)	...bad argument...
-		io.lines(<thread>)	...bad argument...
====== io.open ======
--- checkallpass
-		io.open('abc.txt',nil)	<userdata>
-		io.open('abc.txt','r')	<userdata>
-		io.open('abc.txt','w')	<userdata>
-		io.open('abc.txt','a')	<userdata>
-		io.open('abc.txt','r+')	<userdata>
-		io.open('abc.txt','w+')	<userdata>
-		io.open('abc.txt','a+')	<userdata>
--- checkallerrors
-		io.open(nil)	...bad argument...
-		io.open(true)	...bad argument...
-		io.open(<table>)	...bad argument...
-		io.open(<function>)	...bad argument...
-		io.open(<thread>)	...bad argument...
--- checkallerrors
-		io.open('abc.txt',<table>)	...bad argument...
====== io.output ======
--- checkallpass
-		io.output(nil)	<userdata>
-		io.output(<userdata>)	<userdata>
-		io.output('abc.txt')	<userdata>
--- checkallerrors
-		io.output(true)	...bad argument...
-		io.output(<table>)	...bad argument...
-		io.output(<function>)	...bad argument...
-		io.output(<thread>)	...bad argument...
====== io.popen ======
--- checkallerrors
-		io.popen(nil)	...bad argument...
-		io.popen(true)	...bad argument...
-		io.popen(<table>)	...bad argument...
-		io.popen(<function>)	...bad argument...
-		io.popen(<thread>)	...bad argument...
--- checkallerrors
-		io.popen('hostname',<table>)	...bad argument...
====== io.read ======
--- checkallpass
-		io.read()	
--- checkallpass
-		io.read(2)	
-		io.read('*n')	
-		io.read('*a')	''
-		io.read('*l')	
--- checkallpass
-		io.read(2,2)	
-		io.read('*n',2)	
-		io.read('*a',2)	''
-		io.read('*l',2)	
-		io.read(2,'*a')	
-		io.read('*n','*a')	
-		io.read('*a','*a')	'',''
-		io.read('*l','*a')	
-		io.read(2,'*l')	
-		io.read('*n','*l')	
-		io.read('*a','*l')	''
-		io.read('*l','*l')	
--- checkallerrors
-		io.read(true)	...bad argument...
-		io.read(<function>)	...bad argument...
-		io.read(<table>)	...bad argument...
-		io.read('3')	...bad argument...
====== io.write ======
--- checkallpass
-		io.write()	<userdata>
--- checkallpass
-		io.write('abc')	<userdata>
-		io.write(1.25)	<userdata>
--- checkallpass
-		io.write('abc','abc')	<userdata>
-		io.write(1.25,'abc')	<userdata>
-		io.write('abc',1.25)	<userdata>
-		io.write(1.25,1.25)	<userdata>
--- checkallerrors
-		io.write(true)	...bad argument...
-		io.write(<table>)	...bad argument...
-		io.write(<function>)	...bad argument...
-		io.write(<thread>)	...bad argument...
--- checkallerrors
-		io.write('abc',true)	...bad argument...
-		io.write(1.25,true)	...bad argument...
-		io.write('abc',<table>)	...bad argument...
-		io.write(1.25,<table>)	...bad argument...
-		io.write('abc',<function>)	...bad argument...
-		io.write(1.25,<function>)	...bad argument...
-		io.write('abc',<thread>)	...bad argument...
-		io.write(1.25,<thread>)	...bad argument...
====== file:write ======
--- checkallpass
-		file.write(<userdata>,'abc')	<userdata>
-		file.write(<userdata>,1.25)	<userdata>
--- checkallpass
-		file.write(<userdata>,'abc','abc')	<userdata>
-		file.write(<userdata>,1.25,'abc')	<userdata>
-		file.write(<userdata>,'abc',1.25)	<userdata>
-		file.write(<userdata>,1.25,1.25)	<userdata>
--- checkallerrors
-		file.write()	...bad argument...
--- checkallerrors
-		file.write(<userdata>,true)	...bad argument...
-		file.write(<userdata>,<table>)	...bad argument...
-		file.write(<userdata>,<function>)	...bad argument...
-		file.write(<userdata>,<thread>)	...bad argument...
--- checkallerrors
-		file.write(<userdata>,'abc',true)	...bad argument...
-		file.write(<userdata>,1.25,true)	...bad argument...
-		file.write(<userdata>,'abc',<table>)	...bad argument...
-		file.write(<userdata>,1.25,<table>)	...bad argument...
-		file.write(<userdata>,'abc',<function>)	...bad argument...
-		file.write(<userdata>,1.25,<function>)	...bad argument...
-		file.write(<userdata>,'abc',<thread>)	...bad argument...
-		file.write(<userdata>,1.25,<thread>)	...bad argument...
====== file:seek ======
--- checkallpass
-		file.seek(<userdata>)	0
--- checkallpass
-		file.seek(<userdata>,'set')	0
-		file.seek(<userdata>,'cur')	0
-		file.seek(<userdata>,'end')	63
--- checkallpass
-		file.seek(<userdata>,'set',2)	2
-		file.seek(<userdata>,'cur',2)	4
-		file.seek(<userdata>,'end',2)	65
-		file.seek(<userdata>,'set','3')	3
-		file.seek(<userdata>,'cur','3')	6
-		file.seek(<userdata>,'end','3')	66
--- checkallerrors
-		file.seek()	...bad argument...
--- checkallerrors
-		file.seek(<userdata>,true)	...bad argument...
-		file.seek(<userdata>,<table>)	...bad argument...
-		file.seek(<userdata>,<function>)	...bad argument...
-		file.seek(<userdata>,<thread>)	...bad argument...
--- checkallerrors
-		file.seek(<userdata>,'set','abc')	...bad argument...
-		file.seek(<userdata>,'cur','abc')	...bad argument...
-		file.seek(<userdata>,'end','abc')	...bad argument...
-		file.seek(<userdata>,'set',true)	...bad argument...
-		file.seek(<userdata>,'cur',true)	...bad argument...
-		file.seek(<userdata>,'end',true)	...bad argument...
-		file.seek(<userdata>,'set',<table>)	...bad argument...
-		file.seek(<userdata>,'cur',<table>)	...bad argument...
-		file.seek(<userdata>,'end',<table>)	...bad argument...
-		file.seek(<userdata>,'set',<function>)	...bad argument...
-		file.seek(<userdata>,'cur',<function>)	...bad argument...
-		file.seek(<userdata>,'end',<function>)	...bad argument...
-		file.seek(<userdata>,'set',<thread>)	...bad argument...
-		file.seek(<userdata>,'cur',<thread>)	...bad argument...
-		file.seek(<userdata>,'end',<thread>)	...bad argument...
====== file:setvbuf ======
--- checkallpass
-		file.setvbuf(<userdata>,'no')	true
-		file.setvbuf(<userdata>,'full')	true
-		file.setvbuf(<userdata>,'line')	true
--- checkallpass
-		file.setvbuf(<userdata>,'full',1024)	true
-		file.setvbuf(<userdata>,'full','512')	true
--- checkallerrors
-		file.setvbuf()	...bad argument...
--- checkallerrors
-		file.setvbuf(<userdata>,nil)	...bad argument...
-		file.setvbuf(<userdata>,true)	...bad argument...
-		file.setvbuf(<userdata>,<table>)	...bad argument...
-		file.setvbuf(<userdata>,<function>)	...bad argument...
-		file.setvbuf(<userdata>,<thread>)	...bad argument...
--- checkallerrors
-		file.setvbuf(<userdata>,'full','abc')	...bad argument...
-		file.setvbuf(<userdata>,'full',true)	...bad argument...
-		file.setvbuf(<userdata>,'full',<table>)	...bad argument...
-		file.setvbuf(<userdata>,'full',<function>)	...bad argument...
-		file.setvbuf(<userdata>,'full',<thread>)	...bad argument...
