ci: run proxy-cache plugin subdirectory tests#13613
Open
nic-6443 wants to merge 2 commits into
Open
Conversation
The `t/plugin/[a-k]*.t` / `t/plugin/[l-z]*.t` matrix globs only match
top-level `.t` files, so plugin tests that live in subdirectories were never
executed by CI. This silently dropped coverage for:
t/plugin/proxy-cache/{disk,memory}.t
t/plugin/dubbo-proxy/{route,upstream}.t
The dubbo backend is already started in build.yml, so the dubbo-proxy tests
were prepared to run but the glob never reached them. Add the two directories
to the matrix so `prove -r` recurses them.
The ext-plugin subdirectory tests are intentionally left out for now: several
of them require a real external plugin runner that CI does not currently set
up, so enabling them needs separate work.
There was a problem hiding this comment.
Pull request overview
This PR fixes CI test sharding for plugin tests by ensuring Perl .t tests located under plugin subdirectories are included in the GitHub Actions prove invocation, so they actually run in CI.
Changes:
- Extend the plugin test matrix entries to include
t/plugin/dubbo-proxyandt/plugin/proxy-cachesoprove -rwill recurse into those directories. - Keep the existing top-level plugin
.tglob sharding intact while augmenting it with the missing subdirectory-based suites.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Enabling dubbo-proxy surfaced a stale test: dubbo-proxy/route.t TEST 1 fails because current apisix logs `config_yaml.lua:339: unknown plugin [dubbo-proxy]` when dubbo is disabled globally, and the test's implicit no_error_log check rejects it. The route still works (returns "hello world"); only the test's error_log expectation is out of date from never being run. That's a separate test fix, so scope this PR to the proxy-cache directory, which passes as-is.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The plugin test shards use globs that only match top-level
.tfiles:A glob like
t/plugin/[l-z]*.tdoesn't match a directory (t/plugin/proxy-cache), and*doesn't cross/, so plugin tests living in subdirectories are never handed toproveand never run in CI. This addst/plugin/proxy-cacheto the[l-z]shard soprove -rrecurses it, restoring coverage for:Both pass locally.
The other subdirectories are left out on purpose:
t/plugin/dubbo-proxy/:upstream.tpasses, butroute.tTEST 1 is a stale test — current apisix logsconfig_yaml.lua:339: unknown plugin [dubbo-proxy]when dubbo is disabled globally, which itsno_error_logcheck rejects (the route itself still works). Needs a separate test fix.t/plugin/ext-plugin/: several tests need a real external plugin runner that CI doesn't set up.Checklist