필수 SQLite DB 파일을 읽지 못할 경우 (I / O 오류 발생) 소프트웨어가 예상대로 반응하는지 자동으로 테스트하고 싶습니다. 정확히 며칠 전에 클라이언트에서 일어났습니다. 수동으로 수정했지만 이제 자동 코드를 생성하여 수정하고 테스트를 위해 손상된 파일에 액세스해야합니다.
유닉스의 모든 것이 파일이기 때문에 나는 그것을 읽으려고 할 때 항상 I / O 오류를 일으키는 특수 파일이있을 수 있다고 생각했다 (예 : / dev).
유사한 파일 (imo)은 다음과 같습니다.
/dev/full
쓰려고하면 항상 "장치에 남은 공간 없음"이라고 표시됩니다./dev/null
과 /dev/zero
그래서 나는 거기에 그런 파일이 있어야한다고 생각했습니다 (아직 찾지 못했습니다).
누구든지 원하는 결과 (의도적으로 결함이있는 파티션 이미지, LD_PRELOAD를 사용하는 open () 주위의 래퍼 등)를 얻기 위해 그러한 파일이나 다른 방법을 알고 있습니까?
여기에가는 가장 좋은 방법은 무엇입니까?
를 사용 dmsetup
하여 error
또는 flakey
대상을 사용하여 장치 매퍼 장치를 생성하여 실패를 시뮬레이션 할 수 있습니다.
dmsetup create test --table '0 123 flakey 1 0 /dev/loop0'
여기서 123은 장치의 길이이고 섹터 단위는 / dev / loop0은 오류를 시뮬레이션 할 원래 장치입니다. 오류의 경우 항상 오류를 반환하므로 후속 인수가 필요하지 않습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다