You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2026/09/18 23:17:00 UTC

[jira] [Created] (THRIFT-6307) Strengthen the wire-length size-limit tests (assert the error and the requested byte count)

Jens Geyer created THRIFT-6307:
----------------------------------

             Summary: Strengthen the wire-length size-limit tests (assert the error and the requested byte count)
                 Key: THRIFT-6307
                 URL: https://issues.apache.org/jira/browse/THRIFT-6307
             Project: Thrift
          Issue Type: Test
          Components: D - Library, JavaME - Library, Lua - Library, Smalltalk - Library
            Reporter: Jens Geyer
             Fix For: 0.26.0


h2. Background

The checks on wire-declared lengths in several bindings are covered by tests that assert only that _something_ was raised. That also passes on code that never enforced a bound, so the tests do not actually pin the behaviour they cover.

h2. Items

* Assert the specific error type/code, not merely that an error occurred (Lua, Java ME, D).
* Assert the number of bytes requested from the transport: a bounded reader requests at most the cap, an unbounded one requests the full declared size. This is the assertion that actually distinguishes the two. The Smalltalk suite already does this and is a good model.
* Add boundary cases: {{size == limit}} is accepted and {{limit + 1}} is rejected.
* Lua: the size-limit test uses Lua 5.3+ bitwise operators ({{|}}, {{&}}, {{~}}, {{<<}}, {{>>}}), which fail to _parse_ on Lua 5.1/5.2 and can break the whole suite on those runtimes. Use a 5.1-compatible construction.
* Lua: {{time_read_all}} is timing-based and can be flaky under load.

_Drafted with AI assistance (Claude Opus 4.8); reviewed and filed by Jens Geyer._



--
This message was sent by Atlassian Jira
(v8.20.10#820010)