{
 "language": "Lua",
 "brand": "lua",
 "kind": "official",
 "corpus": {
  "label": "vendor/lua-5.4.8-tests — Lua ekibinin resmi test süiti, assert düzeyinde",
  "unit": "assert",
  "authority": "languages/Lua/vendor/lua-5.4.8-tests",
  "oracle": "Lua 5.4.8 (vendor kaynağından derlenmiş referans yorumlayıcı — sistemdeki 5.5.0 DEĞİL, süitle sürüm eşleşmesi için)",
  "total": 3277,
  "note": "Buradaki her sayı, Lua ekibinin kendi test süitini luakc'den <strong>hiç değiştirmeden</strong> geçirmekten geliyor. Ölçüm birimi dosya değil <strong>tek tek <code>assert</code> çağrısı</strong>: süitin 33 dosyası 3.277 assert taşıyor ve bir dosya ilk hatada duruyor, o yüzden \"33 dosyanın 2'si geçti\" bilgi vermez. Kaynak mekanik olarak yeniden yazılıyor (<code>assert(x)</code> → <code>_A.f(satır, x)</code>), ama assert'in <em>davranışı korunuyor</em> — hâlâ hata fırlatıyor, yoksa <code>pcall(function() assert(false) end)</code> gibi testlerin anlamı değişirdi. Kapsamı hakem belirliyor: referansın kendisinin geçemediği ya da ulaşmadığı assert bize yazılmıyor."
 },
 "buckets": {
  "pass": 1422,
  "not_yet": 1082,
  "wrong": 1,
  "oos": 772
 },
 "in_scope": 2505,
 "statuses": [
  {
   "name": "pass",
   "n": 1422,
   "bucket": "pass",
   "meaning": "referansta geçiyor, bizde de aynı sayıda çalışıp geçiyor"
  },
  {
   "name": "unreached",
   "n": 1082,
   "bucket": "not_yet",
   "meaning": "referans bu assert'e ulaşıyor ama biz ulaşamıyoruz: dosya daha önce ölüyor ya da hiç derlenmiyor — engelleyen sebep dosyanın satırında yazılı"
  },
  {
   "name": "failed",
   "n": 1,
   "bucket": "wrong",
   "meaning": "assert'e ULAŞTIK ve BAŞARISIZ oldu, referansta geçiyor: tam o satırda gerçek bir uyumluluk hatası"
  },
  {
   "name": "oracle_fails",
   "n": 14,
   "bucket": "oos",
   "meaning": "referans 5.4.8 bu assert'i geçemiyor (ltests/all.lua bağlamına bağlı) — bize yazılamaz"
  },
  {
   "name": "oracle_unreached",
   "n": 754,
   "bucket": "oos",
   "meaning": "referans da bu assert'e ulaşmıyor (koşulun sağlanmadığı dal, platforma bağlı bölüm) — ölçülemez"
  },
  {
   "name": "oracle_unstable",
   "n": 4,
   "bucket": "oos",
   "meaning": "assert GEÇİYOR ama kaç kez çalıştığı ölçülemez: referansın kendi koşumları farklı sayılar veriyor. Lua 5.4 string hash tohumunu her çalıştırmada rastgele seçer ve §6.1 `next` sıralamasını zaten belirtmez; bir tablo taramasının kaçıncı adımda durduğuna bağlı sayı yeniden üretilebilir bir büyüklük değil. Hakem kendiyle çeliştiği için bize yazılamaz"
  }
 ],
 "funnel": [
  {
   "label": "kapsam içi assert (referans geçiyor)",
   "n": 2505,
   "of": 2505
  },
  {
   "label": "ulaştığımız assert",
   "of": 2505,
   "n": 1423
  },
  {
   "label": "geçen assert",
   "n": 1422,
   "of": 2505
  },
  {
   "label": "dosya düzeyi: derlenen süit dosyası",
   "of": 33,
   "n": 27
  },
  {
   "label": "dosya düzeyi: sonuna kadar hatasız koşan",
   "of": 33,
   "n": 11
  }
 ],
 "groups": [
  {
   "axis": "süit dosyası",
   "note": "Süitin kendi dosya düzeni; parantez içindeki sayı o dosyanın taşıdığı assert sayısı. Bir dosya ilk başarısız assert'te durduğu için, \"ulaşılamayan\" assert'ler o dosyanın tek bir engeline yazılır — sebep tablosunda hangi engelin kaç assert kestiği yazılı.",
   "rows": [
    {
     "name": "math.lua (426 assert)",
     "n": 426,
     "pass": 390,
     "not_yet": 0,
     "wrong": 0,
     "oos": 36
    },
    {
     "name": "strings.lua (229 assert)",
     "n": 229,
     "pass": 180,
     "not_yet": 39,
     "wrong": 0,
     "oos": 10
    },
    {
     "name": "pm.lua (167 assert)",
     "n": 167,
     "pass": 167,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "nextvar.lua (161 assert)",
     "n": 161,
     "pass": 138,
     "not_yet": 0,
     "wrong": 0,
     "oos": 23
    },
    {
     "name": "events.lua (144 assert)",
     "n": 144,
     "pass": 138,
     "not_yet": 0,
     "wrong": 0,
     "oos": 6
    },
    {
     "name": "tpack.lua (94 assert)",
     "n": 94,
     "pass": 93,
     "not_yet": 0,
     "wrong": 0,
     "oos": 1
    },
    {
     "name": "constructs.lua (68 assert)",
     "n": 68,
     "pass": 63,
     "not_yet": 5,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "closure.lua (55 assert)",
     "n": 55,
     "pass": 55,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "utf8.lua (51 assert)",
     "n": 51,
     "pass": 51,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "vararg.lua (33 assert)",
     "n": 33,
     "pass": 33,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "goto.lua (25 assert)",
     "n": 25,
     "pass": 25,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "gc.lua (89 assert)",
     "n": 89,
     "pass": 20,
     "not_yet": 38,
     "wrong": 0,
     "oos": 31
    },
    {
     "name": "calls.lua (84 assert)",
     "n": 84,
     "pass": 18,
     "not_yet": 65,
     "wrong": 0,
     "oos": 1
    },
    {
     "name": "gengc.lua (26 assert)",
     "n": 26,
     "pass": 18,
     "not_yet": 1,
     "wrong": 0,
     "oos": 7
    },
    {
     "name": "errors.lua (62 assert)",
     "n": 62,
     "pass": 16,
     "not_yet": 38,
     "wrong": 1,
     "oos": 7
    },
    {
     "name": "attrib.lua (126 assert)",
     "n": 126,
     "pass": 11,
     "not_yet": 44,
     "wrong": 0,
     "oos": 71
    },
    {
     "name": "verybig.lua (6 assert)",
     "n": 6,
     "pass": 5,
     "not_yet": 1,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "files.lua (280 assert)",
     "n": 280,
     "pass": 1,
     "not_yet": 19,
     "wrong": 0,
     "oos": 260
    },
    {
     "name": "api.lua (267 assert)",
     "n": 267,
     "pass": 0,
     "not_yet": 0,
     "wrong": 0,
     "oos": 267
    },
    {
     "name": "coroutine.lua (216 assert)",
     "n": 216,
     "pass": 0,
     "not_yet": 216,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "db.lua (192 assert)",
     "n": 192,
     "pass": 0,
     "not_yet": 192,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "locals.lua (155 assert)",
     "n": 155,
     "pass": 0,
     "not_yet": 155,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "bitwise.lua (149 assert)",
     "n": 149,
     "pass": 0,
     "not_yet": 147,
     "wrong": 0,
     "oos": 2
    },
    {
     "name": "literals.lua (61 assert)",
     "n": 61,
     "pass": 0,
     "not_yet": 61,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "sort.lua (34 assert)",
     "n": 34,
     "pass": 0,
     "not_yet": 34,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "main.lua (33 assert)",
     "n": 33,
     "pass": 0,
     "not_yet": 10,
     "wrong": 0,
     "oos": 23
    },
    {
     "name": "code.lua (15 assert)",
     "n": 15,
     "pass": 0,
     "not_yet": 0,
     "wrong": 0,
     "oos": 15
    },
    {
     "name": "big.lua (12 assert)",
     "n": 12,
     "pass": 0,
     "not_yet": 12,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "cstack.lua (12 assert)",
     "n": 12,
     "pass": 0,
     "not_yet": 5,
     "wrong": 0,
     "oos": 7
    },
    {
     "name": "heavy.lua (5 assert)",
     "n": 5,
     "pass": 0,
     "not_yet": 0,
     "wrong": 0,
     "oos": 5
    },
    {
     "name": "all.lua (0 assert)",
     "n": 0,
     "pass": 0,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "bwcoercion.lua (0 assert)",
     "n": 0,
     "pass": 0,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    },
    {
     "name": "tracegc.lua (0 assert)",
     "n": 0,
     "pass": 0,
     "not_yet": 0,
     "wrong": 0,
     "oos": 0
    }
   ]
  }
 ],
 "reasons": [
  {
   "stage": "compile",
   "count": 216,
   "reason": "derleyici: luakc: captured binding '…' was not boxed — capture analysis disagreed → bu dosyada 216 assert'e hiç ulaşılmıyor",
   "blamed": [
    "coroutine.lua"
   ]
  },
  {
   "stage": "compile",
   "count": 192,
   "reason": "derleyici: luakc: yield through a recursive helper frame is not implemented → bu dosyada 192 assert'e hiç ulaşılmıyor",
   "blamed": [
    "db.lua"
   ]
  },
  {
   "stage": "compile",
   "count": 155,
   "reason": "derleyici: luakc: too many functions in this module → bu dosyada 155 assert'e hiç ulaşılmıyor",
   "blamed": [
    "locals.lua"
   ]
  },
  {
   "stage": "run",
   "count": 147,
   "reason": "bitwise.lua:6: module 'bwcoercion' not found: — no field package.preload['bwcoercion'] → bu dosyada 147 assert'e hiç ulaşılmıyor",
   "blamed": [
    "bitwise.lua"
   ]
  },
  {
   "stage": "run",
   "count": 65,
   "reason": "calls.lua:119: stack overflow → bu dosyada 65 assert'e hiç ulaşılmıyor",
   "blamed": [
    "calls.lua"
   ]
  },
  {
   "stage": "compile",
   "count": 61,
   "reason": "derleyici: luakc: yield through a recursive helper frame is not implemented → bu dosyada 61 assert'e hiç ulaşılmıyor",
   "blamed": [
    "literals.lua"
   ]
  },
  {
   "stage": "run",
   "count": 44,
   "reason": "attrib.lua:30: attempt to call a nil value → bu dosyada 44 assert'e hiç ulaşılmıyor",
   "blamed": [
    "attrib.lua"
   ]
  },
  {
   "stage": "run",
   "count": 39,
   "reason": "strings.lua:345: invalid conversion in 'string.format' → bu dosyada 39 assert'e hiç ulaşılmıyor",
   "blamed": [
    "strings.lua"
   ]
  },
  {
   "stage": "run",
   "count": 38,
   "reason": "assertion failed! → bu dosyada 38 assert'e hiç ulaşılmıyor",
   "blamed": [
    "errors.lua"
   ]
  },
  {
   "stage": "run",
   "count": 38,
   "reason": "gc.lua:261: attempt to concatenate a table value (local 'k') → bu dosyada 38 assert'e hiç ulaşılmıyor",
   "blamed": [
    "gc.lua"
   ]
  },
  {
   "stage": "run",
   "count": 34,
   "reason": "sort.lua:25: too many results to unpack → bu dosyada 34 assert'e hiç ulaşılmıyor",
   "blamed": [
    "sort.lua"
   ]
  },
  {
   "stage": "run",
   "count": 19,
   "reason": "files.lua:10: attempt to call a nil value → bu dosyada 19 assert'e hiç ulaşılmıyor",
   "blamed": [
    "files.lua"
   ]
  },
  {
   "stage": "compile",
   "count": 12,
   "reason": "derleyici: luakc: coroutine.yield outside a coroutine body (a yield inside a function CALLED by one is not implemented) → bu dosyada 12 assert'e hiç ulaşılmıyor",
   "blamed": [
    "big.lua"
   ]
  },
  {
   "stage": "run",
   "count": 10,
   "reason": "main.lua:14: attempt to call a nil value → bu dosyada 10 assert'e hiç ulaşılmıyor",
   "blamed": [
    "main.lua"
   ]
  },
  {
   "stage": "run",
   "count": 5,
   "reason": "constructs.lua:306: attempt to call a nil value → bu dosyada 5 assert'e hiç ulaşılmıyor",
   "blamed": [
    "constructs.lua"
   ]
  },
  {
   "stage": "run",
   "count": 5,
   "reason": "cstack.lua:5: module 'tracegc' not found: — no field package.preload['tracegc'] → bu dosyada 5 assert'e hiç ulaşılmıyor",
   "blamed": [
    "cstack.lua"
   ]
  },
  {
   "stage": "run",
   "count": 1,
   "reason": "verybig.lua:141: attempt to call a nil value → bu dosyada 1 assert'e hiç ulaşılmıyor",
   "blamed": [
    "verybig.lua"
   ]
  },
  {
   "stage": "assert",
   "reason": "assert başarısız",
   "count": 1,
   "blamed": [
    "errors.lua:30"
   ]
  }
 ],
 "reasons_note": "İki tür sebep var: (1) bir dosyayı durduran engel — yanında o dosyada kaç assert'e hiç ulaşılamadığı yazılı, yani engelin GERÇEK maliyeti; (2) ulaştığımız ama başarısız olan tek tek assert satırları — bunlar tam yerini bildiğimiz uyumluluk hataları.",
 "features": [
  {
   "name": "and",
   "kw": true,
   "n": 3277,
   "pass": 1422
  },
  {
   "name": "do",
   "kw": true,
   "n": 3277,
   "pass": 1422
  },
  {
   "name": "end",
   "kw": true,
   "n": 3277,
   "pass": 1422
  },
  {
   "name": "function",
   "kw": true,
   "n": 3277,
   "pass": 1422
  },
  {
   "name": "local",
   "kw": true,
   "n": 3277,
   "pass": 1422
  },
  {
   "name": "not",
   "kw": true,
   "n": 3277,
   "pass": 1422
  },
  {
   "name": "for",
   "kw": true,
   "n": 3251,
   "pass": 1404
  },
  {
   "name": "if",
   "kw": true,
   "n": 3226,
   "pass": 1371
  },
  {
   "name": "then",
   "kw": true,
   "n": 3226,
   "pass": 1371
  },
  {
   "name": "return",
   "kw": true,
   "n": 3183,
   "pass": 1329
  },
  {
   "name": "or",
   "kw": true,
   "n": 3144,
   "pass": 1313
  },
  {
   "name": "bit işlemleri",
   "kw": false,
   "n": 3104,
   "pass": 1348
  },
  {
   "name": "pcall / error",
   "kw": false,
   "n": 3101,
   "pass": 1336
  },
  {
   "name": "string deseni (pattern)",
   "kw": false,
   "n": 3074,
   "pass": 1233
  },
  {
   "name": "in",
   "kw": true,
   "n": 3037,
   "pass": 1273
  },
  {
   "name": "else",
   "kw": true,
   "n": 2988,
   "pass": 1186
  },
  {
   "name": "değişken argüman (...)",
   "kw": false,
   "n": 2985,
   "pass": 1291
  },
  {
   "name": "math kütüphanesi",
   "kw": false,
   "n": 2947,
   "pass": 1207
  },
  {
   "name": "true",
   "kw": true,
   "n": 2866,
   "pass": 1106
  },
  {
   "name": "string.format",
   "kw": false,
   "n": 2698,
   "pass": 1155
  },
  {
   "name": "nil",
   "kw": true,
   "n": 2558,
   "pass": 939
  },
  {
   "name": "load / dinamik derleme",
   "kw": false,
   "n": 2556,
   "pass": 1074
  },
  {
   "name": "false",
   "kw": true,
   "n": 2418,
   "pass": 828
  },
  {
   "name": "table kütüphanesi",
   "kw": false,
   "n": 2370,
   "pass": 836
  },
  {
   "name": "while",
   "kw": true,
   "n": 2282,
   "pass": 932
  },
  {
   "name": "metatable (setmetatable)",
   "kw": false,
   "n": 2243,
   "pass": 776
  },
  {
   "name": "require / modül",
   "kw": false,
   "n": 2235,
   "pass": 554
  },
  {
   "name": "metametod (__index …)",
   "kw": false,
   "n": 1908,
   "pass": 720
  },
  {
   "name": "coroutine",
   "kw": false,
   "n": 1846,
   "pass": 391
  },
  {
   "name": "debug kütüphanesi",
   "kw": false,
   "n": 1836,
   "pass": 492
  },
  {
   "name": "gc kontrolü (collectgarbage)",
   "kw": false,
   "n": 1795,
   "pass": 429
  },
  {
   "name": "tamsayı bölme (//)",
   "kw": false,
   "n": 1722,
   "pass": 1033
  },
  {
   "name": "io / dosya",
   "kw": false,
   "n": 1443,
   "pass": 473
  },
  {
   "name": "break",
   "kw": true,
   "n": 1442,
   "pass": 257
  },
  {
   "name": "C API kancası (T.)",
   "kw": false,
   "n": 1376,
   "pass": 510
  },
  {
   "name": "os kütüphanesi",
   "kw": false,
   "n": 1280,
   "pass": 217
  },
  {
   "name": "sabit (<const>)",
   "kw": false,
   "n": 1080,
   "pass": 644
  },
  {
   "name": "to-be-closed (<close>)",
   "kw": false,
   "n": 955,
   "pass": 26
  },
  {
   "name": "repeat",
   "kw": true,
   "n": 790,
   "pass": 138
  },
  {
   "name": "until",
   "kw": true,
   "n": 790,
   "pass": 138
  },
  {
   "name": "goto",
   "kw": true,
   "n": 661,
   "pass": 470
  },
  {
   "name": "goto / etiket",
   "kw": false,
   "n": 661,
   "pass": 470
  },
  {
   "name": "elseif",
   "kw": true,
   "n": 429,
   "pass": 163
  },
  {
   "name": "utf8 kütüphanesi",
   "kw": false,
   "n": 218,
   "pass": 218
  }
 ],
 "features_note": "Eksen Lua'nın kendisi: referansın saydığı 22 anahtar sözcük + anahtar sözcüğü olmayan yapılar için gramer sondaları. Bir özelliğin sayısı, o özelliği KULLANAN dosyaların assert toplamıdır — yani \"bu yapıya dokunan testlerin ne kadarı geçiyor\". <strong>Alt sınır olarak oku</strong>: bir dosya birçok özelliği birden kullanıyor.",
 "commands": [
  "make suite-conformance",
  "node tests/official_suite.mjs --filter math",
  "python3 ../../tools/coverage/coverage.py --lang Lua"
 ],
 "meta": {
  "elapsed": "213s",
  "oracle_retries": 1,
  "commit": "",
  "generated": "2026-08-02 02:33"
 },
 "verify": {
  "cmd": "node tests/official_suite.mjs",
  "ok": true,
  "summary": "",
  "failures": {},
  "at": "2026-08-01 22:25",
  "cached_at": "2026-08-01 22:25"
 },
 "secondary": {
  "label": "Kürasyonlu defter (günlük geçit)",
  "note": "Her satırın beklentisi yerel gerçek `lua` ile karşılaştırılıyor: yani doğruluk kaynağını biz yazmıyoruz. Defteri `make test` zorluyor — `xfail` bir satır geçmeye başlarsa koşu kırılır.",
  "authority": "languages/Lua/tests/corpus/manifest.tsv",
  "oracle": "yerel `lua` yorumlayıcısı (satır satır, `oracle` kolonunda yazılı)",
  "buckets": {
   "pass": 216,
   "not_yet": 0,
   "wrong": 3,
   "oos": 0
  },
  "in_scope": 219,
  "total": 219,
  "self_selected": true,
  "statuses": [
   {
    "name": "pass",
    "n": 216,
    "bucket": "pass",
    "meaning": "derleniyor, koşuyor ve çıktısı kayıtlı `.out` ile bayt bayt aynı"
   },
   {
    "name": "drift",
    "n": 3,
    "bucket": "wrong",
    "meaning": "defter `pass` diyor ama canlı koşu bu satırda KIRILDI — ölçüm defterin kendisinden değil, gerçek koşumdan alındı"
   }
  ],
  "reasons": [
   {
    "stage": "drift",
    "reason": "output mismatch (failed resume defers root-frame close handlers and traced error values to coroutine.close while wrap closes before re-raising)",
    "count": 1,
    "blamed": [
     "coro/failed_close"
    ]
   },
   {
    "stage": "drift",
    "reason": "output mismatch (deep recursion raises a catchable close-aware Lua stack-overflow error)",
    "count": 1,
    "blamed": [
     "err/deep_recursion"
    ]
   },
   {
    "stage": "drift",
    "reason": "missing scratch_close_test.lua (scratch_close_test.lua)",
    "count": 1,
    "blamed": [
     "scratch_close_test"
    ]
   }
  ],
  "verify": {
   "cmd": "node tests/run_corpus.mjs",
   "ok": false,
   "summary": "216 passed · 3 FAILED  (219 run)",
   "failures": {
    "coro/failed_close": "output mismatch",
    "err/deep_recursion": "output mismatch",
    "scratch_close_test": "missing scratch_close_test.lua"
   },
   "at": "2026-08-01 22:26",
   "cached_at": "2026-08-01 22:26"
  }
 }
}