OSSCA Chromium

기여 목록 / 8486882

FileSystem: Test reading files with Unix epoch timestamps

StoragetestMerged

Unix epoch 수정 시각을 가진 파일을 정상적으로 읽고, epoch 시각의 스냅샷 이후 바뀐 파일은 거절하는 테스트를 추가했습니다.

문제 설명

파일 읽기는 스냅샷의 수정 시각을 이용해 파일이 바뀌었는지 검사합니다. epoch 시각이 null 시간으로 변환되면 이 경계값의 읽기와 변경 감지를 제대로 검증하지 못합니다.

해결 내용

  1. 실제 테스트 파일의 접근·수정 시각을 Unix epoch로 설정하고 LocalFileStreamReader를 생성합니다.
  2. 파일이 바뀌지 않은 경우 길이 조회와 내용 읽기가 모두 성공하는지 확인합니다.
  3. epoch 시각의 메타데이터를 스냅샷으로 잡은 뒤 수정 시각을 2초 늦춰, GetLength()와 Read()가 모두 ERR_UPLOAD_FILE_CHANGED를 반환하는지 확인합니다. 이 CL은 테스트만 변경합니다.

테스트 방법

  • ReadFileWithUnixEpochTimestamp는 파일 길이와 읽은 데이터가 원본과 일치하는지 검사합니다.
  • ReadAfterModifyingFileWithUnixEpochTimestamp는 스냅샷 이후 수정된 파일을 길이 조회와 읽기에서 모두 거절하는지 검사합니다.
  • 패치 설명은 POSIX File::Info가 epoch 값을 보존하는 변경에 의존한다고 명시합니다.

Gerrit 기록상 Patch Set 3는 2026-10-03 UTC에 CQ 실행을 통과했습니다. 보고서 작성 과정에서 Chromium 테스트를 별도로 실행하지는 않았습니다.

관련 이슈와 외부 PR

POSIX 메타데이터 변환 수정은 CL 8496093에 기록돼 있습니다.

배운 점

  • 메타데이터 변환 수정과 그 값을 소비하는 파일 읽기 경로를 각각 검증해야 합니다.
  • 변경 감지는 읽기뿐 아니라 길이 조회에서도 같은 오류를 반환하는지 확인해야 합니다.

참고 자료