Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Bug]: e2e script flag parsing is broken

Open Beginner friendly
#2,217 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@ericcurtin is already working on this.

Since Oct 5, 2026.

  • #2226 by @ericcurtin — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
go, shell
Domain
testing

Research direction

Start by reading hack/run-e2e.sh and reproducing the two command forms in the issue; the reported failure comes from the capabilities e2e test invocation. Compare how the script handles flags and the suite path in each order, then confirm both commands behave the same and that --no-color reaches the test.

Written by the indexing model from the issue text.

Description

area/dev-infra area/tests kind/bug
What happened?
./hack/run-e2e.sh ./internal/e2e/suites/networking -v -args --no-color

and

./hack/run-e2e.sh -v ./internal/e2e/suites/networking -args --no-color

Do not do the same thing

Expected Behavior

I would expect

./hack/run-e2e.sh ./internal/e2e/suites/networking -v -args --no-color

and

./hack/run-e2e.sh -v ./internal/e2e/suites/networking -args --no-color

To do the same thing.

Steps to Reproduce

./hack/run-e2e.sh -v ./internal/e2e/suites/networking -args --no-color

Sandbox Runtime

gVisor (runsc)

Agent Substrate Version / Commit SHA

3dfddb1fb2a26e2a4db2c56f427d0f05f1fd0991

Kubernetes Version & Environment

kind version 0.31.0

Host OS & Architecture

Linux amd64

Relevant Logs and Diagnostic Output
Usage of /tmp/go-build3858815266/b001/capabilities.test:
      --e2e                                         run e2e tests
      --kube-config string                          Location of the kubeconfig
      --kube-context string                         Kubernetes context to use
      --no-color                                    disable colors in output
      --storage-class string                        StorageClass to use for external volume tests (default "csi-nfs-sc")
      --test.artifacts                              store test artifacts in test.,outputdir
      --test.bench regexp                           run only benchmarks matching regexp
      --test.benchmem                               print memory allocations for benchmarks
      --test.benchtime d                            run each benchmark for duration d or N times if `d` is of the form Nx (default 1s)
      --test.blockprofile file                      write a goroutine blocking profile to file
      --test.blockprofilerate rate                  set blocking profile rate (see runtime.SetBlockProfileRate) (default 1)
      --test.count n                                run tests and benchmarks n times (default 1)
      --test.coverprofile file                      write a coverage profile to file
      --test.cpu list                               comma-separated list of cpu counts to run each test with
      --test.cpuprofile file                        write a cpu profile to file
      --test.failfast                               do not start new tests after the first test failure
      --test.fullpath                               show full file names in error messages
      --test.fuzz regexp                            run the fuzz test matching regexp
      --test.fuzzcachedir string                    directory where interesting fuzzing inputs are stored (for use only by cmd/go)
      --test.fuzzminimizetime durationOrCountFlag   time to spend minimizing a value after finding a failing input (default 1m0s)
      --test.fuzztime durationOrCountFlag           time to spend fuzzing; default is to run indefinitely (default 0s)
      --test.fuzzworker                             coordinate with the parent process to fuzz random values (for use only by cmd/go)
      --test.gocoverdir string                      write coverage intermediate files to this directory
      --test.list regexp                            list tests, examples, and benchmarks matching regexp then exit
      --test.memprofile file                        write an allocation profile to file
      --test.memprofilerate rate                    set memory allocation profiling rate (see runtime.MemProfileRate)
      --test.mutexprofile string                    write a mutex contention profile to the named file after execution
      --test.mutexprofilefraction int               if >= 0, calls runtime.SetMutexProfileFraction() (default 1)
      --test.outputdir dir                          write profiles to dir
      --test.paniconexit0                           panic on call to os.Exit(0)
      --test.parallel n                             run at most n tests in parallel (default 12)
      --test.run regexp                             run only tests and examples matching regexp
      --test.short                                  run smaller test suite to save time
      --test.shuffle string                         randomize the execution order of tests and benchmarks (default "off")
      --test.skip regexp                            do not list or run tests matching regexp
      --test.testlogfile file                       write test action log to file (for use only by cmd/go)
      --test.timeout d                              panic test binary after duration d (default 0, timeout disabled) (default 0s)
      --test.trace file                             write an execution trace to file
      --test.v chattyFlag[=true]                    verbose: print additional output
unknown shorthand flag: 'a' in -args
FAIL	github.com/agent-substrate/substrate/internal/e2e/suites/capabilities	0.037s
Additional Context

No response

Confirmation
  • I have searched existing issues and verified that this is not a duplicate.
  • I have verified that this issue occurs on the latest commit on main.
Dominant language
Go
Stars
4k
Forks
473
Avg merge
2d 13h
Merged PRs (30d)
232

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from agent-substrate/substrate

All issues in agent-substrate/substrate

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.