tests: anchor the gguf ordering assertion on the branch that owns the marker (#7443)
_load_model_impl contains more than one `if config.is_gguf:`, so source.index() returned the earlier one, which belongs to a different check than the branch the assertion is reasoning about. The inheritance call sits at line 4543, the earlier branch at 4508 and the branch holding the load marker at 4567, so the comparison read 186995 < 185014 and failed on main. The branch is now located from the load marker itself, which is the landmark the rest of the test already relies on, so the assertion compares the inheritance call against the branch that actually guards it. The slice used by the following assertions is anchored the same way, which also tightens them: they previously searched from the earlier branch to end of file. The invariant is unchanged and still has teeth: moving the inheritance call after the branch makes the assertion fail. Co-authored-by: danielhanchen <unslothai@gmail.com>
This commit is contained in:
parent
c4b777263d
commit
85f6231a2f
1 changed files with 7 additions and 2 deletions
|
|
@ -785,7 +785,12 @@ class TestLoadHubDownloadExclusion:
|
|||
|
||||
def test_load_marker_precedes_hub_guard_and_unload(self):
|
||||
source = (Path(__file__).resolve().parent.parent / "routes" / "inference.py").read_text()
|
||||
gguf_branch = source[source.index("if config.is_gguf:") :]
|
||||
# _load_model_impl has more than one `if config.is_gguf:`, so anchor on
|
||||
# the branch that actually owns the load marker rather than the first
|
||||
# one in the file, which belongs to an earlier check.
|
||||
marker = source.index("enter_context(gguf_load_in_flight")
|
||||
gguf_branch_start = source.rindex("if config.is_gguf:", 0, marker)
|
||||
gguf_branch = source[gguf_branch_start:]
|
||||
|
||||
# The gguf_load_in_flight marker must be entered before the hub-download
|
||||
# guard and the unload so a concurrent load can't race the download
|
||||
|
|
@ -794,7 +799,7 @@ class TestLoadHubDownloadExclusion:
|
|||
# inherited value (e.g. a carried --no-mmproj) shapes the guard's
|
||||
# require_mmproj. Anchor on the call form so the assertion pins the
|
||||
# endpoint's call site, not the function definition.
|
||||
assert source.index("= _resolve_inherited_extra_args(") < source.index("if config.is_gguf:")
|
||||
assert source.index("= _resolve_inherited_extra_args(") < gguf_branch_start
|
||||
assert (
|
||||
gguf_branch.index("enter_context(gguf_load_in_flight")
|
||||
< gguf_branch.index("_hub_download_blocks_gguf_load")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue