-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfolder_pe_test.py
More file actions
63 lines (46 loc) · 2.19 KB
/
folder_pe_test.py
File metadata and controls
63 lines (46 loc) · 2.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import os
import ldiff_test_common as tcommon
tcommon.init()
work_folder = tcommon.create_random_folder()
source_folder = tcommon.create_random_folder(work_folder)
target_folder = tcommon.create_random_folder(work_folder, False)
print(f'source folder : {source_folder}')
print(f'target folder : {target_folder}')
source = tcommon.generate_random_folder(source_folder)
target = tcommon.clone_folder(source, target_folder)
print('\t source folder structure :')
print("-------------------------------------------------")
tcommon.print_folder_record_info(source_folder, source['record'])
print("-------------------------------------------------")
print('\t target folder structure :')
print("-------------------------------------------------")
tcommon.print_folder_record_info(target_folder, target['record'])
print("-------------------------------------------------")
tcommon.random_modify_folder(target)
print('\t modified target folder structure :')
print("-------------------------------------------------")
tcommon.print_folder_record_info(target_folder, target['record'])
print("-------------------------------------------------")
patch_info = tcommon.generate_pe_folder_patch(source_folder, target_folder, parent_folder=work_folder)
print('diff result : ', patch_info)
if patch_info['code'] != 0:
tcommon.failed(patch_info['code'])
apply_info = tcommon.apply_pe_folder_patch(source_folder, patch_info)
print('apply result : ', apply_info)
if apply_info['code'] != 0:
tcommon.failed(apply_info['code'])
if apply_info['backupsize'] == 0:
tcommon.failed(tcommon.ExitCode.BackupFailed)
print('\t applyed source folder structure :')
print("-------------------------------------------------")
tcommon.print_folder_record_info(source_folder, apply_info['applyed']['record'])
print("-------------------------------------------------")
# verify
if not tcommon.cmp_record(target['record'], apply_info['applyed']['record']):
tcommon.failed(tcommon.ExitCode.ApplyFailed)
# diff again
patch_info = tcommon.generate_folder_patch(source_folder, target_folder, parent_folder=work_folder)
if patch_info['code'] != 2: # 2 -> needless
tcommon.failed(patch_info['code'])
tcommon.remove_dirs([work_folder])
tcommon.success()