From d3dcd4bdf363ba6eddb541f62a4282c1e200a21f Mon Sep 17 00:00:00 2001 From: James Roseborough Date: Wed, 12 May 2010 05:00:09 +0000 Subject: [PATCH] Improve error tests --- src/core/org/luaj/vm2/LuaString.java | 2 +- test/lua/errors/baselibargs.lua | 70 ++++++++++++++-------------- test/lua/errors/coroutinelibargs.lua | 6 +-- test/lua/errors/iolibargs.lua | 50 ++++++++++---------- 4 files changed, 64 insertions(+), 64 deletions(-) diff --git a/src/core/org/luaj/vm2/LuaString.java b/src/core/org/luaj/vm2/LuaString.java index e28d8202..d0d1eca6 100644 --- a/src/core/org/luaj/vm2/LuaString.java +++ b/src/core/org/luaj/vm2/LuaString.java @@ -180,7 +180,7 @@ public class LuaString extends LuaValue { public LuaNumber checknumber() { LuaValue n = tonumber(10); if ( ! n.isnumber() ) - typerror("number"); + argerror("number"); return (LuaNumber) n; } public LuaValue tonumber() { diff --git a/test/lua/errors/baselibargs.lua b/test/lua/errors/baselibargs.lua index 77ac43e6..02885a90 100644 --- a/test/lua/errors/baselibargs.lua +++ b/test/lua/errors/baselibargs.lua @@ -12,7 +12,7 @@ checkallerrors('assert',{{nil,false,n=2},{'message'}},'message') -- collectgarbage banner('collectgarbage') checkallpass('collectgarbage',{{'collect','count'}},true) -checkallerrors('collectgarbage',{{astring, anumber}},'bad argument #1') +checkallerrors('collectgarbage',{{astring, anumber}},'bad argument') checkallerrors('collectgarbage',{{aboolean, atable, afunction, athread}},'string expected') -- dofile @@ -20,7 +20,7 @@ banner('dofile') checkallpass('dofile', {}) checkallpass('dofile', {{'test/lua/errors/args.lua'}}) checkallerrors('dofile', {{'args.lua'}}, 'cannot open args.lua') -checkallerrors('dofile', {nonstring}, 'bad argument #1') +checkallerrors('dofile', {nonstring}, 'bad argument') -- error banner('error') @@ -30,23 +30,23 @@ checkallerrors('error', {{123},{nil,1,2}}, 123) -- getfenv banner('getfenv') checkallpass('getfenv', {{nil,print,function()end,0,1,2}}) -checkallerrors('getfenv', {{true,{},'abc'}}, 'bad argument #1') +checkallerrors('getfenv', {{true,{},'abc'}}, 'bad argument') -- getmetatable banner('getmetatable') checkallpass('getmetatable', {notanil}) -checkallerrors('getmetatable',{},'bad argument #1') +checkallerrors('getmetatable',{},'bad argument') -- ipairs banner('ipairs') checkallpass('ipairs', {sometable}) -checkallerrors('ipairs', {notatable}, 'bad argument #1') +checkallerrors('ipairs', {notatable}, 'bad argument') -- load banner('load') checkallpass('load', {somefunction,{nil,astring}}) -checkallerrors('load', {notafunction,{nil,astring,anumber}}, 'bad argument #1') -checkallerrors('load', {somefunction,{afunction,atable}}, 'bad argument #2') +checkallerrors('load', {notafunction,{nil,astring,anumber}}, 'bad argument') +checkallerrors('load', {somefunction,{afunction,atable}}, 'bad argument') -- loadfile banner('loadfile') @@ -54,7 +54,7 @@ checkallpass('loadfile', {}) checkallpass('loadfile', {{'bogus'}}) checkallpass('loadfile', {{'test/lua/errors/args.lua'}}) checkallpass('loadfile', {{'args.lua'}}) -checkallerrors('loadfile', {nonstring}, 'bad argument #1') +checkallerrors('loadfile', {nonstring}, 'bad argument') -- loadstring banner('loadstring') @@ -62,24 +62,24 @@ checkallpass('loadstring', {{'return'}}) checkallpass('loadstring', {{'return'},{'mychunk'}}) checkallpass('loadstring', {{'return a ... b'},{'mychunk'}},true) checkallerrors('loadstring', {{'return a ... b'},{'mychunk'}},'hello') -checkallerrors('loadstring', {notastring,{nil,astring,anumber}}, 'bad argument #1') -checkallerrors('loadstring', {{'return'},{afunction,atable}}, 'bad argument #2') +checkallerrors('loadstring', {notastring,{nil,astring,anumber}}, 'bad argument') +checkallerrors('loadstring', {{'return'},{afunction,atable}}, 'bad argument') -- next banner('next') checkallpass('next', {sometable,somekey}) -checkallerrors('next', {notatable,{nil,1}}, 'bad argument #1') +checkallerrors('next', {notatable,{nil,1}}, 'bad argument') checkallerrors('next', {sometable,nonkey}, 'invalid key') -- pairs banner('pairs') checkallpass('pairs', {sometable}) -checkallerrors('pairs', {notatable}, 'bad argument #1') +checkallerrors('pairs', {notatable}, 'bad argument') -- pcall banner('pcall') checkallpass('pcall', {notanil,anylua}, true) -checkallerrors('pcall',{},'bad argument #1') +checkallerrors('pcall',{},'bad argument') -- print banner('print') @@ -89,30 +89,30 @@ checkallpass('print', {{nil,astring,anumber,aboolean}}) -- rawequal banner('rawequal') checkallpass('rawequal', {notanil,notanil}) -checkallerrors('rawequal', {}, 'bad argument #1') -checkallerrors('rawequal', {notanil}, 'bad argument #2') +checkallerrors('rawequal', {}, 'bad argument') +checkallerrors('rawequal', {notanil}, 'bad argument') -- rawget banner('rawget') checkallpass('rawget', {sometable,somekey}) checkallpass('rawget', {sometable,nonkey}) -checkallerrors('rawget', {sometable,somenil},'bad argument #2') -checkallerrors('rawget', {notatable,notakey}, 'bad argument #1') -checkallerrors('rawget', {}, 'bad argument #1') +checkallerrors('rawget', {sometable,somenil},'bad argument') +checkallerrors('rawget', {notatable,notakey}, 'bad argument') +checkallerrors('rawget', {}, 'bad argument') -- rawset banner('rawset') checkallpass('rawset', {sometable,somekey,notanil}) checkallpass('rawset', {sometable,nonkey,notanil}) checkallerrors('rawset', {sometable,somenil},'table index is nil') -checkallerrors('rawset', {}, 'bad argument #1') -checkallerrors('rawset', {notatable,somestring,somestring}, 'bad argument #1') -checkallerrors('rawset', {sometable,somekey}, 'bad argument #3') +checkallerrors('rawset', {}, 'bad argument') +checkallerrors('rawset', {notatable,somestring,somestring}, 'bad argument') +checkallerrors('rawset', {sometable,somekey}, 'bad argument') -- select banner('select') checkallpass('select', {{anumber,'#'},anylua}) -checkallerrors('select', {notanumber}, 'bad argument #1') +checkallerrors('select', {notanumber}, 'bad argument') -- setfenv banner('setfenv') @@ -121,24 +121,24 @@ checkallpass('setfenv', {{function()end},sometable}) checkallerrors('setfenv', {{-1, '-2'},{g}}, 'level must be non-negative') checkallerrors('setfenv', {{10, '11'},{g}}, 'invalid level') checkallerrors('setfenv', {{rawset},{g}}, 'cannot change environment of given object') -checkallerrors('setfenv', {{atable,athread,aboolean,astring},{g}}, 'bad argument #1') -checkallerrors('setfenv', {notafunction}, 'bad argument #2') -checkallerrors('setfenv', {anylua}, 'bad argument #2') -checkallerrors('setfenv', {{function()end},notatable}, 'bad argument #2') +checkallerrors('setfenv', {{atable,athread,aboolean,astring},{g}}, 'bad argument') +checkallerrors('setfenv', {notafunction}, 'bad argument') +checkallerrors('setfenv', {anylua}, 'bad argument') +checkallerrors('setfenv', {{function()end},notatable}, 'bad argument') -- setmetatable banner('setmetatable') checkallpass('setmetatable', {sometable,sometable}) checkallpass('setmetatable', {sometable,{}}) -checkallerrors('setmetatable',{notatable,sometable},'bad argument #1') -checkallerrors('setmetatable',{sometable,notatable},'bad argument #2') +checkallerrors('setmetatable',{notatable,sometable},'bad argument') +checkallerrors('setmetatable',{sometable,notatable},'bad argument') -- tonumber banner('tonumber') checkallpass('tonumber',{somenumber,{nil,2,10,36}}) checkallpass('tonumber',{notanil,{nil,10}}) -checkallerrors('tonumber',{{nil,afunction,atable},{2,9,11,36}},'bad argument #1') -checkallerrors('tonumber',{somenumber,{1,37,atable,afunction,aboolean}},'bad argument #2') +checkallerrors('tonumber',{{nil,afunction,atable},{2,9,11,36}},'bad argument') +checkallerrors('tonumber',{somenumber,{1,37,atable,afunction,aboolean}},'bad argument') -- tostring banner('tostring') @@ -146,7 +146,7 @@ checkallpass('tostring',{{astring,anumber,aboolean}}) checkallpass('tostring',{{atable,afunction,athread}},true) checkallpass('tostring',{{astring,anumber,aboolean},{'anchor'}}) checkallpass('tostring',{{atable,afunction,athread},{'anchor'}},true) -checkallerrors('tostring',{},'bad argument #1') +checkallerrors('tostring',{},'bad argument') -- type banner('type') @@ -159,14 +159,14 @@ banner('unpack') checkallpass('unpack',{sometable}) checkallpass('unpack',{sometable,somenumber}) checkallpass('unpack',{sometable,somenumber,somenumber}) -checkallerrors('unpack',{notatable,somenumber,somenumber},'bad argument #1') -checkallerrors('unpack',{sometable,nonnumber,somenumber},'bad argument #2') -checkallerrors('unpack',{sometable,somenumber,nonnumber},'bad argument #3') +checkallerrors('unpack',{notatable,somenumber,somenumber},'bad argument') +checkallerrors('unpack',{sometable,nonnumber,somenumber},'bad argument') +checkallerrors('unpack',{sometable,somenumber,nonnumber},'bad argument') -- xpcall banner('xpcall') checkallpass('xpcall', {notanil,nonfunction}) checkallpass('xpcall', {notanil,{function(...)return 'aaa', 'bbb', #{...} end}}) -checkallerrors('xpcall',{anylua},'bad argument #2') +checkallerrors('xpcall',{anylua},'bad argument') diff --git a/test/lua/errors/coroutinelibargs.lua b/test/lua/errors/coroutinelibargs.lua index 1ff7d861..caad6200 100644 --- a/test/lua/errors/coroutinelibargs.lua +++ b/test/lua/errors/coroutinelibargs.lua @@ -12,7 +12,7 @@ checkallerrors('coroutine.create',{notafunction},'bad argument') banner('coroutine.resume') local co = coroutine.create(function() while true do coroutine.yield() end end) checkallpass('coroutine.resume',{{co},anylua}) -checkallerrors('coroutine.resume',{notathread},'bad argument #1') +checkallerrors('coroutine.resume',{notathread},'bad argument') -- coroutine.running banner('coroutine.running') @@ -21,12 +21,12 @@ checkallpass('coroutine.running',{anylua}) -- coroutine.status banner('coroutine.status') checkallpass('coroutine.status',{{co}}) -checkallerrors('coroutine.status',{notathread},'bad argument #1') +checkallerrors('coroutine.status',{notathread},'bad argument') -- coroutine.wrap banner('coroutine.wrap') checkallpass('coroutine.wrap',{somefunction}) -checkallerrors('coroutine.wrap',{notafunction},'bad argument #1') +checkallerrors('coroutine.wrap',{notafunction},'bad argument') -- coroutine.yield banner('coroutine.yield') diff --git a/test/lua/errors/iolibargs.lua b/test/lua/errors/iolibargs.lua index e574067c..9bf86fc6 100644 --- a/test/lua/errors/iolibargs.lua +++ b/test/lua/errors/iolibargs.lua @@ -8,54 +8,54 @@ local f banner('io.close') f = io.open("abc.txt","w") checkallpass('io.close',{{f}}) -checkallerrors('io.close',{notanil},'bad argument #1') +checkallerrors('io.close',{notanil},'bad argument') -- io.input ([file]) f = io.open("abc.txt","r") -checkallpass('io.input',{{nil,f,"abc.txt"}}) -checkallerrors('io.input',{nonstring},'bad argument #1') +checkallpass('io.input',{{nil,f,"abc.txt",n=3}}) +checkallerrors('io.input',{nonstring},'bad argument') -- io.lines ([filename]) io.input("abc.txt") -checkallpass('io.lines',{{nil,"abc.txt"}}) -checkallerrors('io.lines',{{f}},'bad argument #1') -checkallerrors('io.lines',{nonstring},'bad argument #1') +checkallpass('io.lines',{{nil,"abc.txt",n=2}}) +checkallerrors('io.lines',{{f}},'bad argument') +checkallerrors('io.lines',{nonstring},'bad argument') -- io.open (filename [, mode]) checkallpass('io.open',{{"abc.txt"},{nil,"r","w","a","r+","w+","a+"}}) -checkallerrors('io.open',{notastring},'bad argument #1') -checkallerrors('io.open',{{"abc.txt"},{nonstring}},'bad argument #2') +checkallerrors('io.open',{notastring},'bad argument') +checkallerrors('io.open',{{"abc.txt"},{nonstring}},'bad argument') -- io.output ([file]) -checkallpass('io.output',{{nil,f,"abc.txt"}}) -checkallerrors('io.output',{nonstring},'bad argument #1') +checkallpass('io.output',{{nil,f,"abc.txt",n=3}}) +checkallerrors('io.output',{nonstring},'bad argument') -- io.popen (prog [, mode]) -checkallpass('io.popen',{{"hostname"},{nil,"r","w","a","r+","w+","a+"}}) -checkallerrors('io.popen',{notastring},'bad argument #1') -checkallerrors('io.popen',{{"hostname"},{nonstring}},'bad argument #2') +checkallpass('io.popen',{{"hostname"},{nil,"w",n=2}}) +checkallerrors('io.popen',{notastring},'bad argument') +checkallerrors('io.popen',{{"hostname"},{nonstring}},'bad argument') -- io.read (···) local areadfmt = {2,"*n","*a","*l","3"} checkallpass('io.read',{}) checkallpass('io.read',{areadfmt}) checkallpass('io.read',{areadfmt,areadfmt}) -checkallerrors('io.read',{{aboolean,afunction,atable}},'bad argument #1') +checkallerrors('io.read',{{aboolean,afunction,atable}},'bad argument') -- io.read (···) checkallpass('io.write',{}) checkallpass('io.write',{somestring}) checkallpass('io.write',{somestring,somestring}) -checkallerrors('io.write',{nonstring},'bad argument #1') -checkallerrors('io.write',{somestring,nonstring},'bad argument #2') +checkallerrors('io.write',{nonstring},'bad argument') +checkallerrors('io.write',{somestring,nonstring},'bad argument') -- file:write () file = io.open("seektest.txt","w") checkallpass('file.write',{{file},somestring}) checkallpass('file.write',{{file},somestring,somestring}) -checkallerrors('file.write',{},'bad argument #1') -checkallerrors('file.write',{{file},nonstring},'bad argument #1') -checkallerrors('file.write',{{file},somestring,nonstring},'bad argument #2') +checkallerrors('file.write',{},'bad argument') +checkallerrors('file.write',{{file},nonstring},'bad argument') +checkallerrors('file.write',{{file},somestring,nonstring},'bad argument') pcall( file.close, file ) -- file:seek ([whence] [, offset]) @@ -63,14 +63,14 @@ file = io.open("seektest.txt","r") checkallpass('file.seek',{{file}}) checkallpass('file.seek',{{file},{"set","cur","end"}}) checkallpass('file.seek',{{file},{"set","cur","end"},{2,"3"}}) -checkallerrors('file.seek',{},'bad argument #1') -checkallerrors('file.seek',{{file},nonstring},'bad argument #1') -checkallerrors('file.seek',{{file},{"set","cur","end"},nonnumber},'bad argument #2') +checkallerrors('file.seek',{},'bad argument') +checkallerrors('file.seek',{{file},nonstring},'bad argument') +checkallerrors('file.seek',{{file},{"set","cur","end"},nonnumber},'bad argument') -- file:setvbuf (mode [, size]) checkallpass('file.setvbuf',{{file},{"no","full","line"}}) checkallpass('file.setvbuf',{{file},{"full"},{1024,"512"}}) -checkallerrors('file.setvbuf',{},'bad argument #1') -checkallerrors('file.setvbuf',{{file},notastring},'bad argument #1') -checkallerrors('file.setvbuf',{{file},{"full"},nonnumber},'bad argument #2') +checkallerrors('file.setvbuf',{},'bad argument') +checkallerrors('file.setvbuf',{{file},notastring},'bad argument') +checkallerrors('file.setvbuf',{{file},{"full"},nonnumber},'bad argument')