diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2025-03-24 15:23:55 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2025-03-24 15:23:55 -0300 |
| commit | cad5a4fdbb0f0843ec67596d1e472187decf1c88 (patch) | |
| tree | ced2965005e866ccbebd90cbd6948c90267194f7 | |
| parent | fdbb4c23414cef141602a45ae8464f0553085e02 (diff) | |
| download | lua-cad5a4fdbb0f0843ec67596d1e472187decf1c88.tar.gz lua-cad5a4fdbb0f0843ec67596d1e472187decf1c88.tar.bz2 lua-cad5a4fdbb0f0843ec67596d1e472187decf1c88.zip | |
Details
Small changes in test library:
- execute mode added to 'all.lua';
- more information about subtypes (tags) when printing a stack.
| -rw-r--r-- | ltests.c | 53 | ||||
| -rwxr-xr-x[-rw-r--r--] | testes/all.lua | 0 |
2 files changed, 28 insertions, 25 deletions
| @@ -327,37 +327,40 @@ void lua_printobj (lua_State *L, struct GCObject *o) { | |||
| 327 | 327 | ||
| 328 | 328 | ||
| 329 | void lua_printvalue (TValue *v) { | 329 | void lua_printvalue (TValue *v) { |
| 330 | switch (ttype(v)) { | 330 | switch (ttypetag(v)) { |
| 331 | case LUA_TNUMBER: { | 331 | case LUA_VNUMINT: case LUA_VNUMFLT: { |
| 332 | char buff[LUA_N2SBUFFSZ]; | 332 | char buff[LUA_N2SBUFFSZ]; |
| 333 | unsigned len = luaO_tostringbuff(v, buff); | 333 | unsigned len = luaO_tostringbuff(v, buff); |
| 334 | buff[len] = '\0'; | 334 | buff[len] = '\0'; |
| 335 | printf("%s", buff); | 335 | printf("%s", buff); |
| 336 | break; | 336 | break; |
| 337 | } | 337 | } |
| 338 | case LUA_TSTRING: { | 338 | case LUA_VSHRSTR: |
| 339 | printf("'%s'", getstr(tsvalue(v))); | 339 | printf("'%s'", getstr(tsvalue(v))); break; |
| 340 | break; | 340 | case LUA_VLNGSTR: |
| 341 | } | 341 | printf("'%.30s...'", getstr(tsvalue(v))); break; |
| 342 | case LUA_TBOOLEAN: { | 342 | case LUA_VFALSE: |
| 343 | printf("%s", (!l_isfalse(v) ? "true" : "false")); | 343 | printf("%s", "false"); break; |
| 344 | break; | 344 | case LUA_VTRUE: |
| 345 | } | 345 | printf("%s", "true"); break; |
| 346 | case LUA_TLIGHTUSERDATA: { | 346 | case LUA_VLIGHTUSERDATA: |
| 347 | printf("light udata: %p", pvalue(v)); | 347 | printf("light udata: %p", pvalue(v)); break; |
| 348 | break; | 348 | case LUA_VUSERDATA: |
| 349 | } | 349 | printf("full udata: %p", uvalue(v)); break; |
| 350 | case LUA_TNIL: { | 350 | case LUA_VNIL: |
| 351 | printf("nil"); | 351 | printf("nil"); break; |
| 352 | break; | 352 | case LUA_VLCF: |
| 353 | } | 353 | printf("light C function: %p", fvalue(v)); break; |
| 354 | default: { | 354 | case LUA_VCCL: |
| 355 | if (ttislcf(v)) | 355 | printf("C closure: %p", clCvalue(v)); break; |
| 356 | printf("light C function: %p", fvalue(v)); | 356 | case LUA_VLCL: |
| 357 | else /* must be collectable */ | 357 | printf("Lua function: %p", clLvalue(v)); break; |
| 358 | printf("%s: %p", ttypename(ttype(v)), gcvalue(v)); | 358 | case LUA_VTHREAD: |
| 359 | break; | 359 | printf("thread: %p", thvalue(v)); break; |
| 360 | } | 360 | case LUA_VTABLE: |
| 361 | printf("table: %p", hvalue(v)); break; | ||
| 362 | default: | ||
| 363 | lua_assert(0); | ||
| 361 | } | 364 | } |
| 362 | } | 365 | } |
| 363 | 366 | ||
diff --git a/testes/all.lua b/testes/all.lua index 5c7ebfa5..5c7ebfa5 100644..100755 --- a/testes/all.lua +++ b/testes/all.lua | |||
