Skip to content

exec 외 서브커맨드가 남는 positional 인수를 조용히 무시한다 #13

Description

@leehyowon14

요약

execfs.Args()를 Minecraft 명령으로 사용하지만 다른 flag 기반 서브커맨드는 fs.Parse(args) 이후 남은 positional 인수를 확인하지 않습니다. 대표적으로 dpt check <path><path>를 무시하고 현재 디렉터리 또는 --pack만 검사합니다.

  • 검토 기준: main@4e87765f95c106edb3c956cfad2abc1db64c0c39
  • 판정: check CONFIRMED, 다른 명령은 코드상 동일 정책
  • 우선순위: P2

영향

사용자가 검사 대상을 positional 인수로 잘못 전달해도 현재 디렉터리가 유효한 팩이면 의도한 대상을 전혀 검사하지 않고 성공할 수 있습니다.

재현 및 검증 방법

cd /path/to/valid-pack-a
dpt check /definitely/not/the/pack
echo $?

현재 pack A를 검사해 exit 0을 반환하며 positional 인수가 무시됐다는 오류가 없습니다. 다음처럼 positional 뒤 flag가 무시되는 경우도 검사해야 합니다.

dpt check ignored --pack /path/to/pack-b

기대 동작

positional 인수를 지원하지 않는 명령은 남은 인수가 있으면 ExitUsage(2)로 실패해야 합니다. exec의 positional Minecraft 명령 동작은 유지해야 합니다.

완료 조건

  • positional을 지원하지 않는 명령에 공통 NArg 검증을 추가한다.
  • 잘못된 positional 인수는 exit 2와 명확한 usage를 반환한다.
  • init, uninit, check, test, shell, doctor, clean을 테스트한다.
  • positional 뒤 flag가 조용히 무시되는 경우를 테스트한다.
  • exec의 기존 동작은 유지한다.

관련 코드

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions