mirror of
https://github.com/radareorg/radare2.git
synced 2024-11-24 13:49:50 +00:00
313 lines
4.9 KiB
Plaintext
313 lines
4.9 KiB
Plaintext
NAME=t/manyundo
|
|
FILE=malloc://1024
|
|
EXPECT=<<EOF
|
|
f undo_62 @ 0x25
|
|
f undo_61 @ 0x26
|
|
f undo_60 @ 0x27
|
|
f undo_59 @ 0x28
|
|
f undo_58 @ 0x29
|
|
f undo_57 @ 0x2a
|
|
f undo_56 @ 0x2b
|
|
f undo_55 @ 0x2c
|
|
f undo_54 @ 0x2d
|
|
f undo_53 @ 0x2e
|
|
f undo_52 @ 0x2f
|
|
f undo_51 @ 0x30
|
|
f undo_50 @ 0x31
|
|
f undo_49 @ 0x32
|
|
f undo_48 @ 0x33
|
|
f undo_47 @ 0x34
|
|
f undo_46 @ 0x35
|
|
f undo_45 @ 0x36
|
|
f undo_44 @ 0x37
|
|
f undo_43 @ 0x38
|
|
f undo_42 @ 0x39
|
|
f undo_41 @ 0x3a
|
|
f undo_40 @ 0x3b
|
|
f undo_39 @ 0x3c
|
|
f undo_38 @ 0x3d
|
|
f undo_37 @ 0x3e
|
|
f undo_36 @ 0x3f
|
|
f undo_35 @ 0x40
|
|
f undo_34 @ 0x41
|
|
f undo_33 @ 0x42
|
|
f undo_32 @ 0x43
|
|
f undo_31 @ 0x44
|
|
f undo_30 @ 0x45
|
|
f undo_29 @ 0x46
|
|
f undo_28 @ 0x47
|
|
f undo_27 @ 0x48
|
|
f undo_26 @ 0x49
|
|
f undo_25 @ 0x4a
|
|
f undo_24 @ 0x4b
|
|
f undo_23 @ 0x4c
|
|
f undo_22 @ 0x4d
|
|
f undo_21 @ 0x4e
|
|
f undo_20 @ 0x4f
|
|
f undo_19 @ 0x50
|
|
f undo_18 @ 0x51
|
|
f undo_17 @ 0x52
|
|
f undo_16 @ 0x53
|
|
f undo_15 @ 0x54
|
|
f undo_14 @ 0x55
|
|
f undo_13 @ 0x56
|
|
f undo_12 @ 0x57
|
|
f undo_11 @ 0x58
|
|
f undo_10 @ 0x59
|
|
f undo_9 @ 0x5a
|
|
f undo_8 @ 0x5b
|
|
f undo_7 @ 0x5c
|
|
f undo_6 @ 0x5d
|
|
f undo_5 @ 0x5e
|
|
f undo_4 @ 0x5f
|
|
f undo_3 @ 0x60
|
|
f undo_2 @ 0x61
|
|
f undo_1 @ 0x62
|
|
f undo_0 @ 0x63
|
|
0x64
|
|
|
|
{"offset":99}
|
|
{"offset":100,"current":true}
|
|
f redo_0 @ 0x26
|
|
f redo_1 @ 0x27
|
|
f redo_2 @ 0x28
|
|
f redo_3 @ 0x29
|
|
f redo_4 @ 0x2a
|
|
f redo_5 @ 0x2b
|
|
f redo_6 @ 0x2c
|
|
f redo_7 @ 0x2d
|
|
f redo_8 @ 0x2e
|
|
f redo_9 @ 0x2f
|
|
f redo_10 @ 0x30
|
|
f redo_11 @ 0x31
|
|
f redo_12 @ 0x32
|
|
f redo_13 @ 0x33
|
|
f redo_14 @ 0x34
|
|
f redo_15 @ 0x35
|
|
f redo_16 @ 0x36
|
|
f redo_17 @ 0x37
|
|
f redo_18 @ 0x38
|
|
f redo_19 @ 0x39
|
|
f redo_20 @ 0x3a
|
|
f redo_21 @ 0x3b
|
|
f redo_22 @ 0x3c
|
|
f redo_23 @ 0x3d
|
|
f redo_24 @ 0x3e
|
|
f redo_25 @ 0x3f
|
|
f redo_26 @ 0x40
|
|
f redo_27 @ 0x41
|
|
f redo_28 @ 0x42
|
|
f redo_29 @ 0x43
|
|
f redo_30 @ 0x44
|
|
f redo_31 @ 0x45
|
|
f redo_32 @ 0x46
|
|
f redo_33 @ 0x47
|
|
f redo_34 @ 0x48
|
|
f redo_35 @ 0x49
|
|
f redo_36 @ 0x4a
|
|
f redo_37 @ 0x4b
|
|
f redo_38 @ 0x4c
|
|
f redo_39 @ 0x4d
|
|
f redo_40 @ 0x4e
|
|
f redo_41 @ 0x4f
|
|
f redo_42 @ 0x50
|
|
f redo_43 @ 0x51
|
|
f redo_44 @ 0x52
|
|
f redo_45 @ 0x53
|
|
f redo_46 @ 0x54
|
|
f redo_47 @ 0x55
|
|
f redo_48 @ 0x56
|
|
f redo_49 @ 0x57
|
|
f redo_50 @ 0x58
|
|
f redo_51 @ 0x59
|
|
f redo_52 @ 0x5a
|
|
f redo_53 @ 0x5b
|
|
f redo_54 @ 0x5c
|
|
f redo_55 @ 0x5d
|
|
f redo_56 @ 0x5e
|
|
f redo_57 @ 0x5f
|
|
f redo_58 @ 0x60
|
|
f redo_59 @ 0x61
|
|
f redo_60 @ 0x62
|
|
f redo_61 @ 0x63
|
|
f redo_62 @ 0x64
|
|
0x25
|
|
|
|
f undo_62 @ 0x25
|
|
f undo_61 @ 0x26
|
|
f undo_60 @ 0x27
|
|
f undo_59 @ 0x28
|
|
f undo_58 @ 0x29
|
|
f undo_57 @ 0x2a
|
|
f undo_56 @ 0x2b
|
|
f undo_55 @ 0x2c
|
|
f undo_54 @ 0x2d
|
|
f undo_53 @ 0x2e
|
|
f undo_52 @ 0x2f
|
|
f undo_51 @ 0x30
|
|
f undo_50 @ 0x31
|
|
f undo_49 @ 0x32
|
|
f undo_48 @ 0x33
|
|
f undo_47 @ 0x34
|
|
f undo_46 @ 0x35
|
|
f undo_45 @ 0x36
|
|
f undo_44 @ 0x37
|
|
f undo_43 @ 0x38
|
|
f undo_42 @ 0x39
|
|
f undo_41 @ 0x3a
|
|
f undo_40 @ 0x3b
|
|
f undo_39 @ 0x3c
|
|
f undo_38 @ 0x3d
|
|
f undo_37 @ 0x3e
|
|
f undo_36 @ 0x3f
|
|
f undo_35 @ 0x40
|
|
f undo_34 @ 0x41
|
|
f undo_33 @ 0x42
|
|
f undo_32 @ 0x43
|
|
f undo_31 @ 0x44
|
|
f undo_30 @ 0x45
|
|
f undo_29 @ 0x46
|
|
f undo_28 @ 0x47
|
|
f undo_27 @ 0x48
|
|
f undo_26 @ 0x49
|
|
f undo_25 @ 0x4a
|
|
f undo_24 @ 0x4b
|
|
f undo_23 @ 0x4c
|
|
f undo_22 @ 0x4d
|
|
f undo_21 @ 0x4e
|
|
f undo_20 @ 0x4f
|
|
f undo_19 @ 0x50
|
|
f undo_18 @ 0x51
|
|
f undo_17 @ 0x52
|
|
f undo_16 @ 0x53
|
|
f undo_15 @ 0x54
|
|
f undo_14 @ 0x55
|
|
f undo_13 @ 0x56
|
|
f undo_12 @ 0x57
|
|
f undo_11 @ 0x58
|
|
f undo_10 @ 0x59
|
|
f undo_9 @ 0x5a
|
|
f undo_8 @ 0x5b
|
|
f undo_7 @ 0x5c
|
|
f undo_6 @ 0x5d
|
|
f undo_5 @ 0x5e
|
|
f undo_4 @ 0x5f
|
|
f undo_3 @ 0x60
|
|
f undo_2 @ 0x61
|
|
f undo_1 @ 0x62
|
|
f undo_0 @ 0x63
|
|
0x64
|
|
|
|
f undo_12 @ 0x25
|
|
f undo_11 @ 0x26
|
|
f undo_10 @ 0x27
|
|
f undo_9 @ 0x28
|
|
f undo_8 @ 0x29
|
|
f undo_7 @ 0x2a
|
|
f undo_6 @ 0x2b
|
|
f undo_5 @ 0x2c
|
|
f undo_4 @ 0x2d
|
|
f undo_3 @ 0x2e
|
|
f undo_2 @ 0x2f
|
|
f undo_1 @ 0x30
|
|
f undo_0 @ 0x31
|
|
# Current undo/redo position.
|
|
f redo_0 @ 0x33
|
|
f redo_1 @ 0x34
|
|
f redo_2 @ 0x35
|
|
f redo_3 @ 0x36
|
|
f redo_4 @ 0x37
|
|
f redo_5 @ 0x38
|
|
f redo_6 @ 0x39
|
|
f redo_7 @ 0x3a
|
|
f redo_8 @ 0x3b
|
|
f redo_9 @ 0x3c
|
|
f redo_10 @ 0x3d
|
|
f redo_11 @ 0x3e
|
|
f redo_12 @ 0x3f
|
|
f redo_13 @ 0x40
|
|
f redo_14 @ 0x41
|
|
f redo_15 @ 0x42
|
|
f redo_16 @ 0x43
|
|
f redo_17 @ 0x44
|
|
f redo_18 @ 0x45
|
|
f redo_19 @ 0x46
|
|
f redo_20 @ 0x47
|
|
f redo_21 @ 0x48
|
|
f redo_22 @ 0x49
|
|
f redo_23 @ 0x4a
|
|
f redo_24 @ 0x4b
|
|
f redo_25 @ 0x4c
|
|
f redo_26 @ 0x4d
|
|
f redo_27 @ 0x4e
|
|
f redo_28 @ 0x4f
|
|
f redo_29 @ 0x50
|
|
f redo_30 @ 0x51
|
|
f redo_31 @ 0x52
|
|
f redo_32 @ 0x53
|
|
f redo_33 @ 0x54
|
|
f redo_34 @ 0x55
|
|
f redo_35 @ 0x56
|
|
f redo_36 @ 0x57
|
|
f redo_37 @ 0x58
|
|
f redo_38 @ 0x59
|
|
f redo_39 @ 0x5a
|
|
f redo_40 @ 0x5b
|
|
f redo_41 @ 0x5c
|
|
f redo_42 @ 0x5d
|
|
f redo_43 @ 0x5e
|
|
f redo_44 @ 0x5f
|
|
f redo_45 @ 0x60
|
|
f redo_46 @ 0x61
|
|
f redo_47 @ 0x62
|
|
f redo_48 @ 0x63
|
|
f redo_49 @ 0x64
|
|
0x32
|
|
|
|
{"offset":49}
|
|
{"offset":50,"current":true}
|
|
{"offset":51}
|
|
f undo_13 @ 0x25
|
|
f undo_12 @ 0x26
|
|
f undo_11 @ 0x27
|
|
f undo_10 @ 0x28
|
|
f undo_9 @ 0x29
|
|
f undo_8 @ 0x2a
|
|
f undo_7 @ 0x2b
|
|
f undo_6 @ 0x2c
|
|
f undo_5 @ 0x2d
|
|
f undo_4 @ 0x2e
|
|
f undo_3 @ 0x2f
|
|
f undo_2 @ 0x30
|
|
f undo_1 @ 0x31
|
|
f undo_0 @ 0x32
|
|
0x100
|
|
|
|
EOF
|
|
CMDS=<<EOF
|
|
s*
|
|
# Force a wraparound in the undo/redo buffer.
|
|
100s+ 1
|
|
s* ; ?v $$ ; ?e
|
|
sj~{62}
|
|
sj~{63}
|
|
|
|
# Make sure get back to the last available undo.
|
|
100s-
|
|
s* ; ?v $$ ; ?e
|
|
|
|
# And redo must work of course.
|
|
100s+
|
|
s* ; ?v $$ ; ?e
|
|
|
|
# Seeking inside the undo list must destroy the redo list.
|
|
50s-
|
|
s* ; ?v $$ ; ?e
|
|
sj~{12}
|
|
sj~{13}
|
|
sj~{14}
|
|
s 0x100
|
|
s* ; ?v $$ ; ?e
|
|
EOF
|
|
RUN
|