WIP 시험: 켤 때 지우는 것은 앱이 업데이트 때 만든 이름만 - 다른 jj 이름 (앱 임시 폴더 · 도구 받기 · Chrome 엔진 · 비슷한 이름) 은 남김 (관리자 지시 10/20, 검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>review_d2dc267
parent
f6de74010c
commit
b2c400a0fb
|
|
@ -143,7 +143,7 @@ void main() {
|
|||
expect(Cleaner.sizeText(5 * 1024 * 1024), '5.0 MB');
|
||||
expect(Cleaner.sizeText(3 * 1024 * 1024 * 1024), '3.0 GB');
|
||||
});
|
||||
test('관리자 지시 (10/20): 앱이 켜질 때 지난 업데이트가 남긴 것 (풀어 둔 새 판 · .ps1 · .log) 을 지운다 - 막 생긴 것 · 다른 것은 남김', () {
|
||||
test('관리자 지시 (10/20): 앱이 켜질 때 지난 업데이트가 남긴 것 (풀어 둔 새 판 · .ps1 · .log) 만 지운다 - 막 생긴 것 · 다른 jj 이름은 남김', () {
|
||||
final tmp = Directory.systemTemp.createTempSync('jj_upd_left_');
|
||||
addTearDown(() => tmp.deleteSync(recursive: true));
|
||||
final old = DateTime.now().subtract(const Duration(hours: 1));
|
||||
|
|
@ -155,16 +155,21 @@ void main() {
|
|||
make(p.join('jj_mkvmaker_update_2026.10.18_979', 'extract', 'jj_mkvmaker.exe'));
|
||||
make('jj_mkvmaker_update.ps1');
|
||||
make('jj_mkvmaker_update.log', fresh: true); // 교체 스크립트가 막 쓴 것
|
||||
make('jj_mkvmaker_updater.txt');
|
||||
make(p.join('jj_mkvmaker', 'a.wav'));
|
||||
// 앱 자신이 업데이트 때 만든 이름만 지운다 - 다른 jj 이름 (앱 임시 폴더 · 도구 받기 · Chrome 엔진 · 비슷한 이름) 은 건드리지 않음
|
||||
final others = ['jj_mkvmaker_updater.txt', p.join('jj_mkvmaker', 'a.wav'), 'jj_ffmpeg.download', p.join('jj_cef_1', 'x'), p.join('jj_tool_1', 'x'),
|
||||
p.join('jj_mkvmaker_update', 'x'), 'jj_mkvmaker_update.txt', p.join('jj_other_update_1', 'x')];
|
||||
for (final o in others) {
|
||||
make(o);
|
||||
}
|
||||
// 폴더는 안에 파일을 만들어 바뀐 때가 지금이다 - 5분 뒤로 보고 지우는지 본다
|
||||
final dir = Directory(p.join(tmp.path, 'jj_mkvmaker_update_2026.10.18_979'));
|
||||
final gone = removeUpdateLeftovers(tmp.path, now: DateTime.now().add(const Duration(minutes: 5)));
|
||||
expect(gone..sort(), ['jj_mkvmaker_update.log', 'jj_mkvmaker_update.ps1', 'jj_mkvmaker_update_2026.10.18_979'],
|
||||
reason: '5분 뒤로 보면 막 생긴 기록도 2분이 지남');
|
||||
expect(dir.existsSync(), isFalse);
|
||||
expect(File(p.join(tmp.path, 'jj_mkvmaker_updater.txt')).existsSync(), isTrue);
|
||||
expect(Directory(p.join(tmp.path, 'jj_mkvmaker')).existsSync(), isTrue);
|
||||
for (final o in others) {
|
||||
expect(File(p.join(tmp.path, o)).existsSync(), isTrue, reason: '$o 는 남김');
|
||||
}
|
||||
|
||||
make('jj_mkvmaker_update.log', fresh: true);
|
||||
expect(removeUpdateLeftovers(tmp.path), isEmpty, reason: '2분이 안 된 것은 남김 (스크립트가 끝나는 중일 수 있음)');
|
||||
|
|
|
|||
Loading…
Reference in New Issue