Testing Files Generator
한국어

자주 묻는 질문

라이선스, 개인정보, 재현성, 그리고 사람들이 생성기를 빌드 파이프라인에 넣기 전에 확인하는 것들. 질문이 여기에 없다면 이슈 트래커가 열려 있습니다.

dd, fsutil, truncate와는 무엇이 다른가요?

그 명령들은 크기만 맞고 내용이 텅 빈 파일을 줍니다. 그렇게 만든 2MB짜리 photo.png는 PNG가 아니므로, 실제로 파싱하는 것은 모두 엉뚱한 이유로 거부하고, 여러분의 테스트도 엉뚱한 이유로 통과합니다. 이 도구는 정확히 2MB인 실제 PNG를 만듭니다. 이미지 뷰어에서 열리며, 시스템이 이를 어떻게 다루어야 하는지에 대한 선언도 함께 제공됩니다.

tfg generate --format png --size 2mb --out ./fixtures

무료인가요? 업무에서 써도 되나요?

둘 다 가능합니다. GPL-3.0으로 배포되며 비용이 들지 않습니다. 계정도, 라이선스 키도, 유료 요금제도 없습니다.

생성한 파일을 클로즈드 소스 제품에 써도 되나요?

네. 라이선스는 도구의 코드에 적용되며 도구가 만든 것에는 적용되지 않습니다. 생성된 파일, 레시피, 매니페스트는 파생 저작물이 아니라 출력물이므로, 어떤 의무도 없이 커밋하고 배포할 수 있습니다.

생성된 파일에 실제 개인 정보가 들어 있나요?

아니요. 내부의 모든 내용은 시드에서 합성됩니다. 어떤 데이터 세트도 읽지 않고, 어떤 서비스에도 접속하지 않으며, 제3자 콘텐츠도 포함하지 않습니다. 생성된 이메일 주소는 아직 쓰이지 않은 주소가 아니라 쓸 수 없는 주소로 여기세요. 임의의 문자열이 우연히 실제 주소와 같을 수 있기 때문입니다.

다른 컴퓨터에서도 완전히 같은 파일이 나오나요?

네. 같은 레시피와 같은 시드라면 바이트 단위로 같습니다. 프로젝트는 변경할 때마다 이를 테스트하며, 이를 깨려면 메이저 버전을 올려야 합니다. 그래서 큰 바이너리 픽스처 대신 작은 레시피를 커밋할 수 있습니다.

인터넷 연결이 필요한가요?

전혀 필요 없습니다. 텔레메트리도, 업데이트 확인도, 클라우드 클라이언트도 없으며, 명령줄 바이너리에는 네트워크 스택이 아예 컴파일되어 있지 않습니다. 네트워크가 없는 컴퓨터와 폐쇄된 기업 환경에서도 동작합니다.

형식이 도달할 수 없는 크기를 요청하면 어떻게 되나요?

형식, 가능한 가장 작은 크기, 그 하한의 이유, 대신 해야 할 일을 알려 주는 오류가 나오고 파일은 쓰이지 않습니다. 도구는 크기를 조용히 반올림하지 않습니다. 모든 하한은 형식 페이지에 나와 있습니다.

tfg formats png

일부러 망가진 파일도 만들 수 있나요?

네. --damage zero-head를 추가하면 파일은 요청한 크기 그대로, 첫 바이트가 0으로 덮어쓰인 채 나오므로 리더가 그것을 거부하고, 매니페스트에는 시스템이 그것을 거부해야 한다고 적힙니다. 자세한 내용은 손상된 테스트 파일 페이지에 있습니다.

tfg generate --format png --size 2mb --damage zero-head --out ./out

다음에는 어떤 형식이 추가되나요?

7z, mp3, mp4입니다. 현재 26가지 형식이 처음부터 끝까지 동작합니다.

어떤 시스템에서 실행할 수 있나요?

명령줄은 Windows와 Linux의 Intel과 ARM, 그리고 Apple Silicon Mac에서 실행됩니다. 데스크톱 창은 Intel의 Windows, Intel의 Linux, Apple Silicon Mac용으로 제공됩니다. Intel Mac은 지원하지 않으며 빌드도 하지 않습니다.

설치해야 하는 것이 있나요?

없습니다. 시스템에 맞는 압축 파일을 내려받아 풀고 바이너리를 실행하면 됩니다. 설치 프로그램도, 추가할 런타임도, 해결할 의존성도 없습니다. Go가 있다면 go install 명령 하나로도 됩니다.

go install github.com/donislawdev/TestingFilesGenerator/cmd/tfg@latest

수천 개의 파일을 처리하는 실행이 Windows에서 더 느린 이유는 무엇인가요?

Windows는 살펴보는 경로 하나하나에 더 많은 비용을 치르게 하고, 수천 개의 파일을 훑는 명령은 수천 개의 경로를 살펴보기 때문입니다. 1kB 파일 3000개가 있는 한 컴퓨터에서 측정하니 verify는 Windows에서 약 0.9초, 컨테이너 안의 Linux에서 약 0.2초가 걸렸습니다. 출력 경로를 짧게 하면 Windows 수치가 줄어듭니다. 파일 위의 모든 폴더도 살펴보는 대상에 포함되기 때문입니다.

아직 고민 중이신가요?

활용 사례 페이지는 이 도구가 대상으로 하는 작업을, 형식 페이지는 각 형식과 만들 수 있는 가장 작은 파일을 보여 줍니다. 저장소의 README가 전체 레퍼런스입니다.

무료 오픈 소스, GPL-3.0. 가입이 필요 없습니다. Windows와 macOS 다운로드는 서명되어 있어 경고 없이 실행됩니다.