rizin/test/db/cmd/cmd_tc
Giovanni 2f97762b09
librz/core: Remove rizin command output (#5540)
* Remove RIZIN command output for the old projects

* Fix cmeta.c

* Fix ik command

* Revert back pc*

* fix formatting cmd_descs_generate.py

* Fix rz_cons_pal_list_as_css

* Fill all info about colors for ec commands.

* Fix all tests
2025-11-28 23:41:47 +08:00

461 lines
10 KiB
Text

NAME=tc
FILE=bins/mach0/objc-employee
BROKEN=1
ARGS=-b 64
CMDS=<<EOF
ic
ts Employee
ts NSString
EOF
EXPECT=<<EOF
pf "pppp*?w*?*?q firstName shortWord username wideWord (objc_class)isa _shortWord (NSString)_username (NSString)_firstName _wideWord"
pf "pqzd p0 p1 str len"
EOF
RUN
NAME=tc2
FILE=bins/mach0/objc-employee
BROKEN=1
CMDS=icc
EXPECT=<<EOF
@interface Employee : NSObject
{
s Employee::(ivar)_shortWord
@"NSString" Employee::(ivar)_username
@"NSString" Employee::(ivar)_firstName
Q Employee::(ivar)_wideWord
}
- (void) helloWorld
- (id) sayHello
- (unknown) p0
- (unknown) p1
- (unknown) p2
- (unknown) p3
- (unknown) base
- (id) username
- (void) setUsername:
- (id) firstName
- (void) setFirstName:
- (short) shortWord
- (unsigned long long) wideWord
+ (id) sayHello
@end
EOF
RUN
NAME=tc3
FILE=bins/mach0/objc-employee
CMDS=ic;icf;icm
EXPECT=<<EOF
address min max name super
------------------------------------------------------
0x100003348 0x100001ae0 0x100001d10 Employee NSObject
address index class flags name type
-----------------------------------------------------------------------------------
---------- 0 Employee Employee::(property)firstName
---------- 1 Employee Employee::(property)shortWord
---------- 2 Employee Employee::(property)username
---------- 3 Employee Employee::(property)wideWord
---------- 4 Employee isa struct objc_class *
0x100003328 5 Employee Employee::(ivar)_shortWord s
0x100003330 6 Employee Employee::(ivar)_username @"NSString"
0x100003338 7 Employee Employee::(ivar)_firstName @"NSString"
0x100003340 8 Employee Employee::(ivar)_wideWord Q
address index class flags name
-----------------------------------------------
0x100001ae0 0 Employee helloWorld
0x100001b10 1 Employee sayHello
0x100001b40 2 Employee p0
0x100001b60 3 Employee p1
0x100001b80 4 Employee p2
0x100001ba0 5 Employee p3
0x100001bc0 6 Employee base
0x100001be0 7 Employee c sayHello
0x100001c10 8 Employee username
0x100001c40 9 Employee setUsername:
0x100001c80 10 Employee firstName
0x100001cb0 11 Employee setFirstName:
0x100001cf0 12 Employee shortWord
0x100001d10 13 Employee wideWord
EOF
RUN
NAME=tc4
FILE=bins/mach0/objc-employee
BROKEN=1
CMDS=<<EOF
.ic*
tc Employee
tc NSString
EOF
EXPECT=<<EOF
struct Employee {
void *firstName;
void *shortWord;
void *username;
void *wideWord;
struct objc_class *isa;
short _shortWord;
struct NSString *_username;
struct NSString *_firstName;
uint64_t _wideWord;
};
struct NSString {
void *p0;
size_t p1;
char *str;
int len;
};
EOF
RUN
NAME=tc iOS14 arm64
FILE=bins/mach0/objc-employee-ios14-arm64
BROKEN=1
CMDS=<<EOF
.ic*
tsc Employee
tsc NSString
EOF
EXPECT=<<EOF
struct Employee {
void *firstName;
void *shortWord;
void *username;
void *wideWord;
struct objc_class *isa;
short _shortWord;
struct NSString *_username;
struct NSString *_firstName;
uint64_t _wideWord;
};
struct NSString {
void *p0;
size_t p1;
char *str;
int len;
};
EOF
RUN
NAME=tc2 iOS14 arm64
FILE=bins/mach0/objc-employee-ios14-arm64
CMDS=icc
BROKEN=1
EXPECT=<<EOF
@interface Employee : NSObject
{
s Employee::(ivar)_shortWord
@"NSString" Employee::(ivar)_username
@"NSString" Employee::(ivar)_firstName
Q Employee::(ivar)_wideWord
}
- (void) sayHello
- (void) helloWorld
- (unknown) p0
- (unknown) p1
- (unknown) p2
- (unknown) p3
- (unknown) base
- (id) username
- (void) setUsername:
- (id) firstName
- (void) setFirstName:
- (short) shortWord
- (unsigned long long) wideWord
- (void) .cxx_destruct
+ (void) sayHello
@end
EOF
RUN
NAME=tc3 iOS14 arm64
FILE=bins/mach0/objc-employee-ios14-arm64
CMDS=ic;icf;icm
EXPECT=<<EOF
address min max name super
------------------------------------------------------
0x10000c238 0x100007958 0x100007b60 Employee NSObject
address index class flags name type
-----------------------------------------------------------------------------------
---------- 0 Employee Employee::(property)firstName
---------- 1 Employee Employee::(property)shortWord
---------- 2 Employee Employee::(property)username
---------- 3 Employee Employee::(property)wideWord
---------- 4 Employee isa struct objc_class *
0x10000c228 5 Employee Employee::(ivar)_shortWord s
0x10000c22c 6 Employee Employee::(ivar)_username @"NSString"
0x10000c230 7 Employee Employee::(ivar)_firstName @"NSString"
0x10000c234 8 Employee Employee::(ivar)_wideWord Q
address index class flags name
-----------------------------------------------
0x100007958 0 Employee c sayHello
0x100007984 1 Employee sayHello
0x1000079b0 2 Employee helloWorld
0x1000079dc 3 Employee p0
0x1000079f8 4 Employee p1
0x100007a14 5 Employee p2
0x100007a30 6 Employee p3
0x100007a4c 7 Employee base
0x100007a64 8 Employee username
0x100007a8c 9 Employee setUsername:
0x100007ac4 10 Employee firstName
0x100007aec 11 Employee setFirstName:
0x100007b24 12 Employee shortWord
0x100007b44 13 Employee wideWord
0x100007b60 14 Employee .cxx_destruct
EOF
RUN
NAME=tc4 iOS14 arm64
FILE=bins/mach0/objc-employee-ios14-arm64
BROKEN=1
CMDS=<<EOF
.ic*
tc Employee
tc NSString
EOF
EXPECT=<<EOF
struct Employee {
void *firstName;
void *shortWord;
void *username;
void *wideWord;
struct objc_class *isa;
short _shortWord;
struct NSString *_username;
struct NSString *_firstName;
uint64_t _wideWord;
};
struct NSString {
void *p0;
size_t p1;
char *str;
int len;
};
EOF
RUN
NAME=tc iOS14 arm64e
FILE=bins/mach0/objc-employee-ios14-arm64e
BROKEN=1
CMDS=<<EOF
.ic*
tsc Employee
tsc NSString
EOF
EXPECT=<<EOF
struct Employee {
void *firstName;
void *shortWord;
void *username;
void *wideWord;
struct objc_class *isa;
short _shortWord;
struct NSString *_username;
struct NSString *_firstName;
uint64_t _wideWord;
};
struct NSString {
void *p0;
size_t p1;
char *str;
int len;
};
EOF
RUN
NAME=tc2 iOS14 arm64e
FILE=bins/mach0/objc-employee-ios14-arm64e
CMDS=icc
BROKEN=1
EXPECT=<<EOF
@interface Employee
{
s Employee::(ivar)_shortWord
@"NSString" Employee::(ivar)_username
@"NSString" Employee::(ivar)_firstName
Q Employee::(ivar)_wideWord
}
- (void) sayHello
- (void) helloWorld
- (unknown) p0
- (unknown) p1
- (unknown) p2
- (unknown) p3
- (unknown) base
- (id) username
- (void) setUsername:
- (id) firstName
- (void) setFirstName:
- (short) shortWord
- (unsigned long long) wideWord
- (void) .cxx_destruct
+ (void) sayHello
@end
EOF
RUN
NAME=tc3 iOS14 arm64e
FILE=bins/mach0/objc-employee-ios14-arm64e
CMDS=ic;icf;icm
EXPECT=<<EOF
address min max name super
------------------------------------------------------
0x10000c1e8 0x1000079a8 0x100007bc4 Employee NSObject
address index class flags name type
-----------------------------------------------------------------------------------
---------- 0 Employee Employee::(property)firstName
---------- 1 Employee Employee::(property)shortWord
---------- 2 Employee Employee::(property)username
---------- 3 Employee Employee::(property)wideWord
---------- 4 Employee isa struct objc_class *
0x10000c1d8 5 Employee Employee::(ivar)_shortWord s
0x10000c1dc 6 Employee Employee::(ivar)_username @"NSString"
0x10000c1e0 7 Employee Employee::(ivar)_firstName @"NSString"
0x10000c1e4 8 Employee Employee::(ivar)_wideWord Q
address index class flags name
-----------------------------------------------
0x1000079a8 0 Employee c sayHello
0x1000079d8 1 Employee sayHello
0x100007a08 2 Employee helloWorld
0x100007a38 3 Employee p0
0x100007a54 4 Employee p1
0x100007a70 5 Employee p2
0x100007a8c 6 Employee p3
0x100007aa8 7 Employee base
0x100007ac0 8 Employee username
0x100007ae8 9 Employee setUsername:
0x100007b24 10 Employee firstName
0x100007b4c 11 Employee setFirstName:
0x100007b88 12 Employee shortWord
0x100007ba8 13 Employee wideWord
0x100007bc4 14 Employee .cxx_destruct
EOF
RUN
NAME=tc4 iOS14 arm64e
FILE=bins/mach0/objc-employee-ios14-arm64e
BROKEN=1
CMDS=<<EOF
.ic*
tc Employee
tc NSString
EOF
EXPECT=<<EOF
struct Employee {
void *firstName;
void *shortWord;
void *username;
void *wideWord;
struct objc_class *isa;
short _shortWord;
struct NSString *_username;
struct NSString *_firstName;
uint64_t _wideWord;
};
struct NSString {
void *p0;
size_t p1;
char *str;
int len;
};
EOF
RUN
NAME=ttc typedef
FILE==
CMDS=<<EOF
td "typedef char *string;"
ttc string
EOF
EXPECT=<<EOF
typedef char * string;
EOF
RUN
NAME=ttj typedef
FILE==
CMDS=<<EOF
td "typedef char *string;"
ttj string
EOF
EXPECT=<<EOF
{"name":"string","type":"char *"}
EOF
RUN
NAME=test cmd tsc
FILE=bins/mach0/objc-employee
BROKEN=1
CMDS=<<EOF
.ic*
tsc Employee
EOF
EXPECT=<<EOF
struct Employee {
void *firstName;
void *shortWord;
void *username;
void *wideWord;
struct objc_class *isa;
short _shortWord;
struct NSString *_username;
struct NSString *_firstName;
uint64_t _wideWord;
};
EOF
RUN
NAME=test cmd tf
FILE=bins/mach0/objc-employee
CMDS=<<EOF
tf main
tf entry0
EOF
EXPECT=<<EOF
int main(int argc, char **argv, char **envp);
EOF
RUN
NAME=test cmd tec
FILE==
CMDS=<<EOF
td "enum foo {bar = 1, cow = 3};"
tec foo
EOF
EXPECT=<<EOF
enum foo {
bar = 0x1,
cow = 0x3
};
EOF
RUN
NAME=test cmd tuc
FILE==
CMDS=<<EOF
td "union Data {int i; int j;};"
tuc Data
EOF
EXPECT=<<EOF
union Data {
int i;
int j;
};
EOF
RUN
NAME=test cmd tsj
FILE==
CMDS=<<EOF
td "struct foo {};"
tsj foo
td "struct foo2 {int a; int b;};"
tsj foo2
EOF
EXPECT=<<EOF
{"name":"foo","members":{}}
{"name":"foo2","members":{"a":"int","b":"int"}}
EOF
RUN