Change -, --, = argument and = command meaning (#930)

* Swap = & - R (#615)&(#616)
* Fix R replace =
This commit is contained in:
seanachao 2021-04-21 16:20:24 +08:00 committed by GitHub
parent a7ce1cb3a0
commit a2f8631b6c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
216 changed files with 1630 additions and 1596 deletions

View file

@ -157,7 +157,7 @@ RZ_API RzSubprocessOutput *rz_test_run_cmd_test(RzTestRunConfig *config, RzCmdTe
} else {
files->free = NULL;
}
rz_list_push(files, "-");
rz_list_push(files, "=");
}
ut64 timeout_ms = test->timeout.set ? test->timeout.value * 1000 : config->timeout_ms;
RzSubprocessOutput *out = run_rz_test(config, timeout_ms, test->cmds.value, files, extra_args, test->load_plugins, runner, user);

View file

@ -581,5 +581,5 @@ RZ_IPI void rz_core_debug_attach(RzCore *core, int pid) {
}
rz_debug_select(core->dbg, core->dbg->pid, core->dbg->tid);
rz_config_set_i(core->config, "dbg.swstep", (core->dbg->h && !core->dbg->h->canstep));
rz_core_cmdf(core, "=! \"pid %d\"", core->dbg->pid);
rz_core_cmdf(core, "R! \"pid %d\"", core->dbg->pid);
}

View file

@ -1103,7 +1103,7 @@ RZ_API RzCoreFile *rz_core_file_open(RzCore *r, const char *file, int flags, ut6
const bool openmany = rz_config_get_i(r->config, "file.openmany");
RzCoreFile *fh = NULL;
if (!strcmp(file, "-")) {
if (!strcmp(file, "=")) {
file = "malloc://512";
}
//if not flags was passed open it with -r--
@ -1186,7 +1186,7 @@ RZ_API RzCoreFile *rz_core_file_open(RzCore *r, const char *file, int flags, ut6
if (loadaddr != UT64_MAX) {
rz_config_set_i(r->config, "bin.laddr", loadaddr);
}
rz_core_cmd0(r, "=!");
rz_core_cmd0(r, "R!");
beach:
r->times->file_open_time = rz_time_now_mono() - prev;
return fh;

View file

@ -6625,7 +6625,7 @@ RZ_API void rz_core_cmd_init(RzCore *core) {
{ "-", "open cfg.editor and run script", rz_cmd_stdin },
{ ".", "interpret", rz_cmd_interpret },
{ "/", "search kw, pattern aes", rz_cmd_search },
{ "=", "io pipe", rz_cmd_remote },
{ "R", "io pipe", rz_cmd_remote },
{ "?", "help message", rz_cmd_help },
{ "<", "pipe into RzCons.readChar", rz_cmd_pipein },
{ "0", "alias for s 0x", rz_cmd_ox },

View file

@ -473,7 +473,7 @@ RZ_API int rz_cmd_call(RzCmd *cmd, const char *input) {
rz_cons_strcat(ji + 1);
return true;
} else {
nstr = rz_str_newf("=! %s", input);
nstr = rz_str_newf("R! %s", input);
input = nstr;
}
}

View file

@ -509,7 +509,7 @@ static const RzCmdDescHelp cmd_search_help = {
.summary = "Search for bytes, regexps, patterns, ..",
};
static const RzCmdDescHelp equal__help = {
static const RzCmdDescHelp R_help = {
.summary = "Connect with other instances of rizin",
};
static const RzCmdDescArg remote_args[] = {
@ -683,7 +683,7 @@ static const RzCmdDescArg remote_rap_bg_args[] = {
{ 0 },
};
static const RzCmdDescHelp remote_rap_bg_help = {
.summary = "Start rap server in background (same as '&_=h')",
.summary = "Start rap server in background (same as '& Rr')",
.args = remote_rap_bg_args,
};
@ -3971,45 +3971,45 @@ RZ_IPI void newshell_cmddescs_init(RzCore *core) {
RzCmdDesc *cmd_search_cd = rz_cmd_desc_oldinput_new(core->rcmd, root_cd, "/", rz_cmd_search, &cmd_search_help);
rz_warn_if_fail(cmd_search_cd);
RzCmdDesc *equal__cd = rz_cmd_desc_group_new(core->rcmd, root_cd, "=", rz_remote_handler, &remote_help, &equal__help);
rz_warn_if_fail(equal__cd);
RzCmdDesc *remote_send_cd = rz_cmd_desc_argv_new(core->rcmd, equal__cd, "=<", rz_remote_send_handler, &remote_send_help);
RzCmdDesc *R_cd = rz_cmd_desc_group_new(core->rcmd, root_cd, "R", rz_remote_handler, &remote_help, &R_help);
rz_warn_if_fail(R_cd);
RzCmdDesc *remote_send_cd = rz_cmd_desc_argv_new(core->rcmd, R_cd, "R<", rz_remote_send_handler, &remote_send_help);
rz_warn_if_fail(remote_send_cd);
RzCmdDesc *io_system_run_oldhandler_cd = rz_cmd_desc_oldinput_new(core->rcmd, equal__cd, "=!", rz_io_system_run_oldhandler, &io_system_run_oldhandler_help);
RzCmdDesc *io_system_run_oldhandler_cd = rz_cmd_desc_oldinput_new(core->rcmd, R_cd, "R!", rz_io_system_run_oldhandler, &io_system_run_oldhandler_help);
rz_warn_if_fail(io_system_run_oldhandler_cd);
RzCmdDesc *remote_add_cd = rz_cmd_desc_argv_new(core->rcmd, equal__cd, "=+", rz_remote_add_handler, &remote_add_help);
RzCmdDesc *remote_add_cd = rz_cmd_desc_argv_new(core->rcmd, R_cd, "R+", rz_remote_add_handler, &remote_add_help);
rz_warn_if_fail(remote_add_cd);
RzCmdDesc *remote_del_cd = rz_cmd_desc_argv_new(core->rcmd, equal__cd, "=-", rz_remote_del_handler, &remote_del_help);
RzCmdDesc *remote_del_cd = rz_cmd_desc_argv_new(core->rcmd, R_cd, "R-", rz_remote_del_handler, &remote_del_help);
rz_warn_if_fail(remote_del_cd);
RzCmdDesc *remote_open_cd = rz_cmd_desc_argv_new(core->rcmd, equal__cd, "==", rz_remote_open_handler, &remote_open_help);
RzCmdDesc *remote_open_cd = rz_cmd_desc_argv_new(core->rcmd, R_cd, "R=", rz_remote_open_handler, &remote_open_help);
rz_warn_if_fail(remote_open_cd);
RzCmdDesc *remote_mode_enable_cd = rz_cmd_desc_argv_new(core->rcmd, equal__cd, "=!=", rz_remote_mode_enable_handler, &remote_mode_enable_help);
RzCmdDesc *remote_mode_enable_cd = rz_cmd_desc_argv_new(core->rcmd, R_cd, "R!=", rz_remote_mode_enable_handler, &remote_mode_enable_help);
rz_warn_if_fail(remote_mode_enable_cd);
RzCmdDesc *remote_mode_disable_cd = rz_cmd_desc_argv_new(core->rcmd, equal__cd, "!=!", rz_remote_mode_disable_handler, &remote_mode_disable_help);
RzCmdDesc *remote_mode_disable_cd = rz_cmd_desc_argv_new(core->rcmd, R_cd, "R=!", rz_remote_mode_disable_handler, &remote_mode_disable_help);
rz_warn_if_fail(remote_mode_disable_cd);
RzCmdDesc *remote_rap_cd = rz_cmd_desc_argv_new(core->rcmd, equal__cd, "=r", rz_remote_rap_handler, &remote_rap_help);
RzCmdDesc *remote_rap_cd = rz_cmd_desc_argv_new(core->rcmd, R_cd, "Rr", rz_remote_rap_handler, &remote_rap_help);
rz_warn_if_fail(remote_rap_cd);
RzCmdDesc *equal_g_handler_old_cd = rz_cmd_desc_oldinput_new(core->rcmd, equal__cd, "=g", rz_equal_g_handler_old, &equal_g_handler_old_help);
RzCmdDesc *equal_g_handler_old_cd = rz_cmd_desc_oldinput_new(core->rcmd, R_cd, "Rg", rz_equal_g_handler_old, &equal_g_handler_old_help);
rz_warn_if_fail(equal_g_handler_old_cd);
RzCmdDesc *equal_h_handler_old_cd = rz_cmd_desc_oldinput_new(core->rcmd, equal__cd, "=h", rz_equal_h_handler_old, &equal_h_handler_old_help);
RzCmdDesc *equal_h_handler_old_cd = rz_cmd_desc_oldinput_new(core->rcmd, R_cd, "Rh", rz_equal_h_handler_old, &equal_h_handler_old_help);
rz_warn_if_fail(equal_h_handler_old_cd);
RzCmdDesc *equal_H_handler_old_cd = rz_cmd_desc_oldinput_new(core->rcmd, equal__cd, "=H", rz_equal_H_handler_old, &equal_H_handler_old_help);
RzCmdDesc *equal_H_handler_old_cd = rz_cmd_desc_oldinput_new(core->rcmd, R_cd, "RH", rz_equal_H_handler_old, &equal_H_handler_old_help);
rz_warn_if_fail(equal_H_handler_old_cd);
RzCmdDesc *remote_tcp_cd = rz_cmd_desc_argv_new(core->rcmd, equal__cd, "=t", rz_remote_tcp_handler, &remote_tcp_help);
RzCmdDesc *remote_tcp_cd = rz_cmd_desc_argv_new(core->rcmd, R_cd, "Rt", rz_remote_tcp_handler, &remote_tcp_help);
rz_warn_if_fail(remote_tcp_cd);
RzCmdDesc *remote_rap_bg_cd = rz_cmd_desc_argv_new(core->rcmd, equal__cd, "=&r", rz_remote_rap_bg_handler, &remote_rap_bg_help);
RzCmdDesc *remote_rap_bg_cd = rz_cmd_desc_argv_new(core->rcmd, R_cd, "R&r", rz_remote_rap_bg_handler, &remote_rap_bg_help);
rz_warn_if_fail(remote_rap_bg_cd);
RzCmdDesc *cmd_help_search_cd = rz_cmd_desc_argv_modes_new(core->rcmd, root_cd, "?*", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_cmd_help_search_handler, &cmd_help_search_help);

View file

@ -150,7 +150,7 @@ commands:
cname: cmd_search
summary: Search for bytes, regexps, patterns, ..
type: RZ_CMD_DESC_TYPE_OLDINPUT
- name: "="
- name: "R"
summary: Connect with other instances of rizin
subcommands: cmd_remote
- name: "?*"

View file

@ -3,7 +3,7 @@
---
name: cmd_remote
commands:
- name: "="
- name: "R"
cname: remote
summary: List all open connections / Exec <cmd> at remote <fd>
args_str: " [[<fd>] <cmd>]"
@ -13,7 +13,7 @@ commands:
optional: true
- name: cmd
type: RZ_CMD_ARG_TYPE_CMD
- name: =<
- name: R<
cname: remote_send
summary: Send output of local <cmd> to remote <fd>
args:
@ -22,43 +22,43 @@ commands:
optional: true
- name: cmd
type: RZ_CMD_ARG_TYPE_CMD
- name: =!
- name: R!
cname: io_system_run_oldhandler
summary: Run <cmd> via rz_io_system
type: RZ_CMD_DESC_TYPE_OLDINPUT
args_str: "[<cmd>]"
options: ""
- name: =+
- name: R+
cname: remote_add
summary: Connect to remote host:port
args:
- name: "[proto://]host:port"
type: RZ_CMD_ARG_TYPE_STRING
- name: =-
- name: R-
cname: remote_del
summary: remove all hosts or host 'fd'
args:
- name: fd
type: RZ_CMD_ARG_TYPE_NUM
optional: true
- name: ==
- name: R=
cname: remote_open
summary: Open remote session with host 'fd', 'q' to quit
args:
- name: fd
type: RZ_CMD_ARG_TYPE_NUM
- name: =!=
- name: R!=
cname: remote_mode_enable
summary: Enable remote cmd mode, sending commands to remote <fd> server
args:
- name: fd
type: RZ_CMD_ARG_TYPE_NUM
default_value: "0"
- name: "!=!"
- name: "R=!"
cname: remote_mode_disable
summary: Disable remote cmd mode
args: []
- name: "=r"
- name: "Rr"
cname: remote_rap
summary: Start the rap server (o rap://9999) / Execute <cmd> on rap server
args:
@ -67,19 +67,19 @@ commands:
- name: cmd
type: RZ_CMD_ARG_TYPE_CMD
optional: true
- name: =g
- name: Rg
cname: equal_g_handler_old
summary: Start the gdbserver
type: RZ_CMD_DESC_TYPE_OLDINPUT
- name: =h
- name: Rh
cname: equal_h_handler_old
summary: Start the http webserver
type: RZ_CMD_DESC_TYPE_OLDINPUT
- name: =H
- name: RH
cname: equal_H_handler_old
summary: Start the http webserver (and launch the web browser)
type: RZ_CMD_DESC_TYPE_OLDINPUT
- name: =t
- name: Rt
cname: remote_tcp
summary: Start the tcp server
args:
@ -88,9 +88,9 @@ commands:
- name: cmd
type: RZ_CMD_ARG_TYPE_CMD
optional: true
- name: "=&r"
- name: "R&r"
cname: remote_rap_bg
summary: Start rap server in background (same as '&_=h')
summary: Start rap server in background (same as '& Rr')
args:
- name: port
type: RZ_CMD_ARG_TYPE_NUM

View file

@ -67,8 +67,8 @@ static const char *help_msg_exclamation[] = {
"!", "echo $RZ_SIZE", "display file size",
"!-", "", "clear history in current session",
"!-*", "", "clear and save empty history log",
"!=!", "", "enable remotecmd mode",
"=!=", "", "disable remotecmd mode",
"R=!", "", "enable remotecmd mode",
"R!=", "", "disable remotecmd mode",
NULL
};

View file

@ -7,53 +7,52 @@
#include "rz_core.h"
static const char *help_msg_equal[] = {
"Usage:", " =[:!+-=ghH] [...]", " # connect with other instances of rizin",
"Usage:", " R[:!+-=ghH] [...]", " # connect with other instances of rizin",
"\nremote commands:", "", "",
"=", "", "list all open connections",
"=<", "[fd] cmd", "send output of local command to remote fd", // XXX may not be a special char
"=", "[fd] cmd", "exec cmd at remote 'fd' (last open is default one)",
"=!", " cmd", "run command via rz_io_system",
"=+", " [proto://]host:port", "connect to remote host:port (*rap://, raps://, tcp://, udp://, http://)",
"=-", "[fd]", "remove all hosts or host 'fd'",
"==", "[fd]", "open remote session with host 'fd', 'q' to quit",
"=!=", "", "disable remote cmd mode",
"!=!", "", "enable remote cmd mode",
"R", "", "list all open connections",
"R<", "[fd] cmd", "send output of local command to remote fd", // XXX may not be a special char
"R", "[fd] cmd", "exec cmd at remote 'fd' (last open is default one)",
"R!", " cmd", "run command via rz_io_system",
"R+", " [proto://]host:port", "connect to remote host:port (*rap://, raps://, tcp://, udp://, http://)",
"R-", "[fd]", "remove all hosts or host 'fd'",
"R=", "[fd]", "open remote session with host 'fd', 'q' to quit",
"R!=", "", "disable remote cmd mode",
"R=!", "", "enable remote cmd mode",
"\nservers:", "", "",
".:", "9000", "start the tcp server (echo x|nc ::1 9090 or curl ::1:9090/cmd/x)",
"=:", "port", "start the rap server (o rap://9999)",
"=g", "[?]", "start the gdbserver",
"=h", "[?]", "start the http webserver",
"=H", "[?]", "start the http webserver (and launch the web browser)",
"R:", "port", "start the rap server (o rap://9999)",
"Rg", "[?]", "start the gdbserver",
"Rh", "[?]", "start the http webserver",
"RH", "[?]", "start the http webserver (and launch the web browser)",
"\nother:", "", "",
"=&", ":port", "start rap server in background (same as '&_=h')",
"=", ":host:port cmd", "run 'cmd' command on remote server",
"R&", ":port", "start rap server in background (same as '& Rr')",
"R", ":host:port cmd", "run 'cmd' command on remote server",
"\nexamples:", "", "",
"=+", "tcp://localhost:9090/", "connect to: rizin -c.:9090 ./bin",
// "=+", "udp://localhost:9090/", "connect to: rizin -c.:9090 ./bin",
"=+", "rap://localhost:9090/", "connect to: rizin rap://:9090",
"=+", "http://localhost:9090/cmd/", "connect to: rizin -c'=h 9090' bin",
"R+", "tcp://localhost:9090/", "connect to: rizin -c.:9090 ./bin",
"R+", "rap://localhost:9090/", "connect to: rizin rap://:9090",
"R+", "http://localhost:9090/cmd/", "connect to: rizin -c'Rh 9090' bin",
"o ", "rap://:9090/", "start the rap server on tcp port 9090",
NULL
};
static const char *help_msg_equalh[] = {
"Usage:", " =[hH] [...]", " # http server",
"Usage:", " R[hH] [...]", " # http server",
"http server:", "", "",
"=h", " port", "listen for http connections (rizin -qc=H /bin/ls)",
"=h-", "", "stop background webserver",
"=h--", "", "stop foreground webserver",
"=h*", "", "restart current webserver",
"=h&", " port", "start http server in background",
"=H", " port", "launch browser and listen for http",
"=H&", " port", "launch browser and listen for http in background",
"Rh", " port", "listen for http connections (rizin -qcRH /bin/ls)",
"Rh-", "", "stop background webserver",
"Rh--", "", "stop foreground webserver",
"Rh*", "", "restart current webserver",
"Rh&", " port", "start http server in background",
"RH", " port", "launch browser and listen for http",
"RH&", " port", "launch browser and listen for http in background",
NULL
};
static const char *help_msg_equalg[] = {
"Usage:", " =[g] [...]", " # gdb server",
"Usage:", " R[g] [...]", " # gdb server",
"gdbserver:", "", "",
"=g", " port file [args]", "listen on 'port' debugging 'file' using gdbserver",
"=g!", " port file [args]", "same as above, but debug protocol messages (like gdbserver --remote-debug)",
"Rg", " port file [args]", "listen on 'port' debugging 'file' using gdbserver",
"Rg!", " port file [args]", "same as above, but debug protocol messages (like gdbserver --remote-debug)",
NULL
};
@ -100,16 +99,16 @@ RZ_IPI int rz_equal_H_handler_old(void *data, const char *input) {
RZ_IPI int rz_cmd_remote(void *data, const char *input) {
RzCore *core = (RzCore *)data;
switch (*input) {
case '\0': // "="
case '\0': // "R"
rz_core_rtr_list(core);
break;
case 'j': // "=j"
case 'j': // "Rj"
eprintf("TODO: list connections in json\n");
break;
case '!': // "=!"
case '!': // "R!"
if (input[1] == 'q') {
RZ_FREE(core->cmdremote);
} else if (input[1] == '=') { // =!=0 or =!= for iosystem
} else if (input[1] == '=') { // R!=0 or R!= for iosystem
RZ_FREE(core->cmdremote);
core->cmdremote = rz_str_trim_dup(input + 2);
} else {
@ -120,29 +119,29 @@ RZ_IPI int rz_cmd_remote(void *data, const char *input) {
}
}
break;
case '+': // "=+"
case '+': // "R+"
rz_core_rtr_add(core, input + 1);
break;
case '-': // "=-"
case '-': // "R-"
rz_core_rtr_remove(core, input + 1);
break;
//case ':': rz_core_rtr_cmds (core, input + 1); break;
case '<': // "=<"
case '<': // "R<"
rz_core_rtr_pushout(core, input + 1);
break;
case '=': // "=="
case '=': // "R="
rz_core_rtr_session(core, input + 1);
break;
case 'g': // "=g"
case 'g': // "Rg"
rz_equal_g_handler_old(core, input + 1);
break;
case 'h': // "=h"
case 'h': // "Rh"
rz_equal_h_handler_old(core, input + 1);
break;
case 'H': // "=H"
case 'H': // "RH"
rz_equal_H_handler_old(core, input + 1);
break;
case '?': // "=?"
case '?': // "R?"
rz_core_cmd_help(core, help_msg_equal);
break;
default:

View file

@ -838,8 +838,8 @@ static const char *rizin_argv[] = {
"*?", "*", "$",
"(", "(*", "(-", "()", ".?", ".", "..", "...", ".:", ".--", ".-", ".!", ".(", "./", ".*",
"_?", "_",
"=?", "=", "=<", "=!", "=+", "=-", "==", "=!=", "!=!", "=:", "=&:",
"=g?", "=g", "=g!", "=h?", "=h", "=h-", "=h--", "=h*", "=h&", "=H?", "=H", "=H&",
"R?", "R", "R<", "R!", "R+", "R-", "R=", "R!=", "R=!", "R:", "R&:",
"Rg?", "Rg", "Rg!", "Rh?", "Rh", "Rh-", "Rh--", "Rh*", "Rh&", "RH?", "RH", "RH&",
"<",
"/?", "/", "/j", "/j!", "/j!x", "/+", "//", "/a", "/a1", "/ab", "/ad", "/aa", "/as", "/asl", "/at", "/atl", "/af", "/afl", "/ae", "/aej", "/ai", "/aij",
"/c", "/ca", "/car", "/d", "/e", "/E", "/Ej", "/f", "/F", "/g", "/gg", "/h", "/ht", "/i", "/m", "/mb", "/mm",
@ -2733,7 +2733,7 @@ static void set_prompt(RzCore *r) {
char *s = rz_core_cmd_str(r, "s");
r->offset = rz_num_math(NULL, s);
free(s);
remote = "=!";
remote = "R!";
}
if (rz_config_get_i(r->config, "scr.color")) {

View file

@ -861,7 +861,7 @@ RZ_API void rz_core_rtr_cmd(RzCore *core, const char *input) {
return;
}
if (*input == '&') { // "=h&" "=&:9090"
if (*input == '&') { // "Rh&" "R&:9090"
if (rapthread) {
eprintf("RAP Thread is already running\n");
eprintf("This is experimental and probably buggy. Use at your own risk\n");

View file

@ -313,8 +313,8 @@ static int rz_core_rtr_http_run(RzCore *core, int launch, int browse, const char
rz_str_uri_decode(cmd);
rz_config_set(core->config, "scr.interactive", "false");
if ((!strcmp(cmd, "=h*") ||
!strcmp(cmd, "=h--"))) {
if ((!strcmp(cmd, "Rh*") ||
!strcmp(cmd, "Rh--"))) {
out = NULL;
} else if (*cmd == ':') {
/* commands in /cmd/: starting with : do not show any output */
@ -336,14 +336,14 @@ static int rz_core_rtr_http_run(RzCore *core, int launch, int browse, const char
rz_socket_http_response(rs, 200, "", 0, headers);
}
if (!strcmp(cmd, "=h*")) {
if (!strcmp(cmd, "Rh*")) {
/* do stuff */
rz_socket_http_close(rs);
free(dir);
free(refstr);
ret = -2;
goto the_end;
} else if (!strcmp(cmd, "=h--")) {
} else if (!strcmp(cmd, "Rh--")) {
rz_socket_http_close(rs);
free(dir);
free(refstr);
@ -530,7 +530,7 @@ RZ_API int rz_core_rtr_http(RzCore *core, int launch, int browse, const char *pa
while (*path == '&') {
path++;
}
return rz_core_cmdf(core, "& =h%s", path);
return rz_core_cmdf(core, "& Rh%s", path);
}
#if 0
if (httpthread) {

View file

@ -90,9 +90,9 @@ static int __close(RzIODesc *fd) {
static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
lprintf("system command (%s)\n", cmd);
if (!strcmp(cmd, "help")) {
lprintf("Usage: =!cmd args\n"
" =!:<bochscmd> - Send a bochs command.\n"
" =!dobreak - pause bochs.\n");
lprintf("Usage: R!cmd args\n"
" R!:<bochscmd> - Send a bochs command.\n"
" R!dobreak - pause bochs.\n");
lprintf("io_system: Enviando commando bochs\n");
bochs_send_cmd(desc, &cmd[1], true);
io->cb_printf("%s\n", desc->data);

View file

@ -208,19 +208,19 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
return NULL;
}
if (cmd[0] == '?' || !strcmp(cmd, "help")) {
eprintf("Usage: =!cmd args\n"
" =!pid - show targeted pid\n"
" =!pkt s - send packet 's'\n"
" =!rd - show reverse debugging availability\n"
" =!dsb - step backwards\n"
" =!dcb - continue backwards\n"
" =!monitor cmd - hex-encode monitor command and pass"
eprintf("Usage: R!cmd args\n"
" R!pid - show targeted pid\n"
" R!pkt s - send packet 's'\n"
" R!rd - show reverse debugging availability\n"
" R!dsb - step backwards\n"
" R!dcb - continue backwards\n"
" R!monitor cmd - hex-encode monitor command and pass"
" to target interpreter\n"
" =!detach [pid] - detach from remote/detach specific pid\n"
" =!inv.reg - invalidate reg cache\n"
" =!pktsz - get max packet size used\n"
" =!pktsz bytes - set max. packet size as 'bytes' bytes\n"
" =!exec_file [pid] - get file which was executed for"
" R!detach [pid] - detach from remote/detach specific pid\n"
" R!inv.reg - invalidate reg cache\n"
" R!pktsz - get max packet size used\n"
" R!pktsz bytes - set max. packet size as 'bytes' bytes\n"
" R!exec_file [pid] - get file which was executed for"
" current/specified pid\n");
return NULL;
}
@ -396,7 +396,7 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
desc->get_baddr = true;
return NULL;
}
eprintf("Try: '=!?'\n");
eprintf("Try: 'R!?'\n");
return NULL;
}

View file

@ -1165,13 +1165,13 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
gprobe = (RzIOGprobe *)fd->data;
if (!cmd[0] || cmd[0] == '?' || !strcmp(cmd, "help")) {
printf("Usage: =!cmd args\n"
" =!reset code\n"
" =!debugon\n"
" =!debugoff\n"
" =!runcode address\n"
" =!getdeviceid\n"
" =!getinformation\n");
printf("Usage: R!cmd args\n"
" R!reset code\n"
" R!debugon\n"
" R!debugoff\n"
" R!runcode address\n"
" R!getdeviceid\n"
" R!getinformation\n");
return NULL;
}
@ -1218,7 +1218,7 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
return NULL;
}
printf("Try: '=!?'\n");
printf("Try: 'R!?'\n");
return NULL;
}

View file

@ -492,7 +492,7 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
int pagesize = tsk_pagesize(fd);
tsk_setperm(io, task, io->off, pagesize, perm);
} else {
eprintf("Usage: =!perm [rwx]\n");
eprintf("Usage: R!perm [rwx]\n");
}
return NULL;
}
@ -527,7 +527,7 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
}
eprintf("io_mach_system: Invalid pid %d\n", pid);
} else {
eprintf("Try: '=!pid' or '=!perm'\n");
eprintf("Try: 'R!pid' or 'R!perm'\n");
}
return NULL;
}

View file

@ -115,7 +115,7 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
}
io->cb_printf("%d\n", iop->pid);
} else {
eprintf("Try: '=!pid'\n");
eprintf("Try: 'R!pid'\n");
}
return NULL;
}

View file

@ -297,11 +297,11 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
return NULL;
}
if (!strcmp(cmd, "help")) {
eprintf("Usage: =!cmd args\n"
" =!ptrace - use ptrace io\n"
" =!mem - use /proc/pid/mem io if possible\n"
" =!pid - show targeted pid\n"
" =!pid <#> - select new pid\n");
eprintf("Usage: R!cmd args\n"
" R!ptrace - use ptrace io\n"
" R!mem - use /proc/pid/mem io if possible\n"
" R!pid - show targeted pid\n"
" R!pid <#> - select new pid\n");
} else if (!strcmp(cmd, "ptrace")) {
close_pidmem(iop);
} else if (!strcmp(cmd, "mem")) {
@ -321,7 +321,7 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
return rz_str_newf("%d", iop->pid);
}
} else {
eprintf("Try: '=!pid'\n");
eprintf("Try: 'R!pid'\n");
}
return NULL;
}

View file

@ -147,9 +147,9 @@ static RzIODesc *__rap_open(RzIO *io, const char *pathname, int rw, int mode) {
if (i > 0) {
eprintf("rap connection was successful. open %d\n", i);
// io->corebind.cmd (io->corebind.core, "e io.va=0");
io->corebind.cmd(io->corebind.core, ".=!i*");
io->corebind.cmd(io->corebind.core, ".=!f*");
io->corebind.cmd(io->corebind.core, ".=!om*");
io->corebind.cmd(io->corebind.core, ".R!i*");
io->corebind.cmd(io->corebind.core, ".R!f*");
io->corebind.cmd(io->corebind.core, ".R!om*");
}
}
return rz_io_desc_new(io, &rz_io_plugin_rap,

View file

@ -98,7 +98,7 @@ static char *rzk__system(RzIO *io, RzIODesc *fd, const char *cmd) {
(void)run_ioctl_command(io, fd, cmd);
return NULL;
#else
eprintf("Try: '=!mod'\n '.=!mod'\n");
eprintf("Try: 'R!mod'\n '.R!mod'\n");
#endif
}
return NULL;

View file

@ -247,10 +247,10 @@ static void print_help(RzIO *io, char *cmd, int p_usage) {
"\\rl addr len Read from linear address",
"\\rp pid addr len Read from process address",
"\\rP addr len Read physical address",
"\\R[p] Print control registers. Use =!Rp for detailed description",
"\\wl[x] addr input Write at linear address. Use =!wlx for input in hex",
"\\wp[x] pid addr input Write at process address. Use =!wpx for input in hex",
"\\wP[x] addr input Write at physical address. Use =!wPx for input in hex",
"\\R[p] Print control registers. Use R!Rp for detailed description",
"\\wl[x] addr input Write at linear address. Use R!wlx for input in hex",
"\\wp[x] pid addr input Write at process address. Use R!wpx for input in hex",
"\\wP[x] addr input Write at physical address. Use R!wPx for input in hex",
"\\W 1|0 Honor arch write protect (1 enable WP, 0 disable WP)"
};
if (p_usage) {
@ -442,7 +442,7 @@ int run_old_command(RzIO *io, RzIODesc *iodesc, const char *buf) {
switch (buf[1]) {
case 'l':
//read linear address
//=! rl addr len
//R! rl addr len
if (buf[2] != ' ') {
print_help(io, "rl", 0);
goto end;
@ -459,7 +459,7 @@ int run_old_command(RzIO *io, RzIODesc *iodesc, const char *buf) {
break;
case 'p':
//read process address
//=! rp pid address len
//R! rp pid address len
if (buf[2] != ' ') {
print_help(io, "rp", 0);
goto end;
@ -477,7 +477,7 @@ int run_old_command(RzIO *io, RzIODesc *iodesc, const char *buf) {
break;
case 'P':
//read physical address
//=! rP address len
//R! rP address len
if (buf[2] != ' ') {
print_help(io, "rP", 0);
goto end;
@ -513,7 +513,7 @@ int run_old_command(RzIO *io, RzIODesc *iodesc, const char *buf) {
switch (buf[1]) {
case 'l':
//write linear address
//=! wl addr str
//R! wl addr str
if ((inphex && buf[3] != ' ') || (!inphex && buf[2] != ' ')) {
print_help(io, "wl", 0);
goto end;
@ -530,7 +530,7 @@ int run_old_command(RzIO *io, RzIODesc *iodesc, const char *buf) {
break;
case 'p':
//write process address
//=! wp pid address str
//R! wp pid address str
if ((inphex && buf[3] != ' ') || (!inphex && buf[2] != ' ')) {
print_help(io, "wp", 0);
goto end;
@ -547,7 +547,7 @@ int run_old_command(RzIO *io, RzIODesc *iodesc, const char *buf) {
break;
case 'P':
//write physical address
//=! wP address str
//R! wP address str
if ((inphex && buf[3] != ' ') || (!inphex && buf[2] != ' ')) {
print_help(io, "wP", 0);
goto end;
@ -586,7 +586,7 @@ int run_old_command(RzIO *io, RzIODesc *iodesc, const char *buf) {
break;
case 'M': {
//Print kernel memory map.
//=! M
//R! M
int i, j;
struct rzk_kernel_maps map_data;
struct rzk_kernel_map_info *info;
@ -625,7 +625,7 @@ int run_old_command(RzIO *io, RzIODesc *iodesc, const char *buf) {
} break;
case 'R': {
//Read control registers
//=! R[p]
//R! R[p]
struct rzk_control_reg reg_data;
ioctl_n = IOCTL_READ_CONTROL_REG;
ret = ioctl((int)(size_t)iodesc->data, ioctl_n, &reg_data);
@ -673,7 +673,7 @@ int run_old_command(RzIO *io, RzIODesc *iodesc, const char *buf) {
} break;
case 'p': {
//Print process info
//=! p pid
//R! p pid
ut64 i;
ut64 nextstart;
ut64 buffsize;

View file

@ -339,7 +339,7 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
char *argv = strdup(cmd + 5);
int argc = rz_str_word_set0(argv);
if (argc == 0) {
eprintf("Usage: =!call [fcnptr] [a0] [a1] ...\n");
eprintf("Usage: R!call [fcnptr] [a0] [a1] ...\n");
free(argv);
return NULL;
}
@ -465,16 +465,16 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
self_sections[i].name);
}
} else {
eprintf("|Usage: =![cmd] [args]\n");
eprintf("| =!pid show getpid()\n");
eprintf("| =!maps show map regions\n");
eprintf("| =!kill commit suicide\n");
eprintf("|Usage: R![cmd] [args]\n");
eprintf("| R!pid show getpid()\n");
eprintf("| R!maps show map regions\n");
eprintf("| R!kill commit suicide\n");
#if !defined(__WINDOWS__)
eprintf("| =!alarm [secs] setup alarm signal to raise rizin prompt\n");
eprintf("| R!alarm [secs] setup alarm signal to raise rizin prompt\n");
#endif
eprintf("| =!dlsym [sym] dlopen\n");
eprintf("| =!call [sym] [...] nativelly call a function\n");
eprintf("| =!mameio enter mame IO mode\n");
eprintf("| R!dlsym [sym] dlopen\n");
eprintf("| R!call [sym] [...] nativelly call a function\n");
eprintf("| R!mameio enter mame IO mode\n");
}
return NULL;
}

View file

@ -250,7 +250,7 @@ static char *__system(RzIO *io, RzIODesc *fd, const char *cmd) {
}
return rz_str_newf("%lu", wrap->pi.dwProcessId);
} else {
eprintf("Try: '=!pid'\n");
eprintf("Try: 'R!pid'\n");
}
return NULL;
}

View file

@ -92,9 +92,9 @@ static int main_help(int line) {
if (line != 1) {
printf(
" -- run rizin without opening any file\n"
" - same as 'rizin malloc://512'\n"
" = read file from stdin (use -i and -c to run cmds)\n"
" -= perform !=! command to run all commands remotely\n"
" = same as 'rizin malloc://512'\n"
" - read file from stdin \n"
" -= perform R=! command to run all commands remotely\n"
" -0 print \\x00 after init and every command\n"
" -2 close stderr file descriptor (silent warning messages)\n"
" -a [arch] set asm.arch\n"
@ -102,7 +102,7 @@ static int main_help(int line) {
" -b [bits] set asm.bits\n"
" -B [baddr] set base address for PIE binaries\n"
" -c 'cmd..' execute rizin command\n"
" -C file is host:port (alias for -c+=http://%%s/cmd/)\n"
" -C file is host:port (alias for -cR+http://%%s/cmd/)\n"
" -d debug the executable 'file' or running process 'pid'\n"
" -D [backend] enable debug mode (e cfg.debug=true)\n"
" -e k=v evaluate config var\n"
@ -401,10 +401,7 @@ RZ_API int rz_main_rizin(int argc, const char **argv) {
free(fmt);
free(sysdbg);
}
if (argc < 2) {
LISTS_FREE();
return main_help(1);
}
r = rz_core_new();
if (!r) {
eprintf("Cannot initialize RzCore\n");
@ -442,8 +439,15 @@ RZ_API int rz_main_rizin(int argc, const char **argv) {
RzGetopt opt;
rz_getopt_init(&opt, argc, argv, "=02AMCwxfF:H:hm:e:nk:NdqQs:p:b:B:a:Lui:I:l:R:r:c:D:vVSTzuXt");
while ((c = rz_getopt_next(&opt)) != -1) {
while (argc >= 2 && (c = rz_getopt_next(&opt)) != -1) {
switch (c) {
case '-':
eprintf("%c: invalid combinations of argument flags - %s\n", opt.opt, opt.argv[2]);
ret = 1;
goto beach;
break;
case '=':
RZ_FREE(r->cmdremote);
r->cmdremote = strdup("");
@ -795,12 +799,12 @@ RZ_API int rz_main_rizin(int argc, const char **argv) {
return 1;
}
if (strstr(uri, "://")) {
rz_core_cmdf(r, "=+ %s", uri);
rz_core_cmdf(r, "R+ %s", uri);
} else {
argv[opt.ind] = rz_str_newf("http://%s/cmd/", argv[opt.ind]);
rz_core_cmdf(r, "=+ %s", argv[opt.ind]);
rz_core_cmdf(r, "R+ %s", argv[opt.ind]);
}
rz_core_cmd0(r, "=!=");
rz_core_cmd0(r, "R!=");
argv[opt.ind] = "-";
}
@ -859,7 +863,7 @@ RZ_API int rz_main_rizin(int argc, const char **argv) {
RZ_FREE(debugbackend);
return 1;
}
} else if (argv[opt.ind] && !strcmp(argv[opt.ind], "=")) {
} else if (argv[opt.ind] && !strcmp(argv[opt.ind], "-")) {
int sz;
/* stdin/batch mode */
char *buf = rz_stdin_slurp(&sz);
@ -899,7 +903,7 @@ RZ_API int rz_main_rizin(int argc, const char **argv) {
LISTS_FREE();
return 1;
}
} else if (strcmp(argv[opt.ind - 1], "--")) {
} else if ((argc >= 2 && strcmp(argv[opt.ind - 1], "--")) || ((!strcmp(argv[opt.ind - 1], "--") && argv[opt.ind]))) {
if (debug) {
if (asmbits) {
rz_config_set(r->config, "asm.bits", asmbits);
@ -1175,7 +1179,7 @@ RZ_API int rz_main_rizin(int argc, const char **argv) {
const char *fstype = r->bin->cur->o->info->bclass;
rz_core_cmdf(r, "m /root %s @ 0", fstype);
}
rz_core_cmd0(r, "=!"); // initalize io subsystem
rz_core_cmd0(r, "R!"); // initalize io subsystem
iod = r->io && fh ? rz_io_desc_get(r->io, fh->fd) : NULL;
if (mapaddr) {
rz_core_seek(r, mapaddr, true);

View file

@ -150,7 +150,7 @@ RZ_API int rz_main_rz_agent(int argc, const char **argv) {
perror("malloc");
return 1;
}
snprintf(cmd, cmd_len, "rizin -q %s-e http.port=%d -c=h \"%s\"",
snprintf(cmd, cmd_len, "rizin -q %s-e http.port=%d -cRh \"%s\"",
listenlocal ? "" : "-e http.bind=public ",
session_port, escaped_filename);

View file

@ -48,8 +48,14 @@ RZ_API int rz_getopt_next(RzGetopt *opt) {
* if the user didn't specify '-' as an option,
* assume it means -1.
*/
if (opt->opt == '-') {
return -1;
if (opt->opt == (int)'-') {
opt->ind++;
if (rz_getopt_next(opt) == -1) {
opt->ind--;
return -1;
}
return '-';
}
if (!*place) {
opt->ind++;

View file

@ -290,20 +290,20 @@ editor -
==============
equal commands
R commands
==============
=
=<
= 3 cmd
=! cmd
=+ http://host:3000
=- 3
== 3
=!=
!=!
=: host:3000 cmd
=&: 3000
R
R<
R 3 cmd
R! cmd
R+ http://host:3000
R- 3
R= 3
R!=
R=!
R: host:3000 cmd
R&: 3000
---

View file

@ -45,8 +45,8 @@ static bool is_at_cmd(const char *s) {
return s[0] == '@';
}
static bool is_equal_cmd(const char *s) {
return s[0] == '=';
static bool is_remote_cmd(const char *s) {
return s[0] == 'R';
}
static bool is_comment(const char *s) {
@ -85,7 +85,7 @@ static bool is_mid_command(const char *res, int len, const int32_t ch) {
ch == ':' || ch == '+' || ch == '=' || ch == '/' || ch == '*' ||
ch == '-' || ch == ',' || ch == '&' || ch == '_' ||
(is_interpret_cmd (res) && ch == '(') ||
(is_equal_cmd (res) && ch == '<') || (is_at_cmd (res) && ch == '@');
(is_remote_cmd (res) && ch == '<') || (is_at_cmd (res) && ch == '@');
}
static bool is_concat(const int32_t ch) {
@ -185,7 +185,7 @@ bool tree_sitter_rzcmd_external_scanner_scan(void *payload, TSLexer *lexer, cons
}
lexer->result_symbol = HELP_COMMAND;
} else {
if ((is_special_start (res[0]) && strcmp (res, "!=!")) || is_pf_cmd (res) || is_env_cmd (res) || is_at_cmd (res) || !valid_symbols[CMD_IDENTIFIER]) {
if ((is_special_start(res[0]) && strcmp(res, "R=!")) || is_pf_cmd(res) || is_env_cmd(res) || is_at_cmd(res) || !valid_symbols[CMD_IDENTIFIER]) {
return false;
}
lexer->result_symbol = CMD_IDENTIFIER;

View file

@ -153,7 +153,7 @@ EOF
RUN
NAME=arm 16 BE 4 bytes instruction
FILE=-
FILE==
ARGS=-a arm -b 16
CMDS=<<EOF
e cfg.bigendian=1
@ -467,7 +467,7 @@ EOF
RUN
NAME=arm subrel <256
FILE=-
FILE==
CMDS=<<EOF
wx 0c009fe5
e asm.arch=arm
@ -961,7 +961,7 @@ EOF
RUN
NAME=arm show registers in table
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=arm
e asm.bits=32
@ -1066,7 +1066,7 @@ EOF
RUN
NAME=thumb bx lr
FILE=-
FILE==
CMDS=<<EOF
wx 000090e50fe0a0e113ff2fe1000090e51eff2fe1
e asm.arch=arm

View file

@ -1,5 +1,5 @@
NAME=rcall
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=arm
e asm.bits=64
@ -126,7 +126,7 @@ EOF
RUN
NAME=ao mte big endian
FILE=-
FILE==
ARGS=-a arm -b 64 -e cfg.bigendian=true
CMDS=<<EOF
wx 91a0090c918201099ac813e8
@ -191,7 +191,7 @@ EOF
RUN
NAME=Variable analysis with stp/preindexed str
FILE=-
FILE==
ARGS=-a arm -b 64
CMDS=<<EOF
e analysis.vars.stackname=true

View file

@ -51,7 +51,7 @@ EOF
RUN
NAME=avr DISasm: opcode size
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=avr
wx 0e941122
@ -364,7 +364,7 @@ EOF
RUN
NAME=avr functions 2
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=avr
wx 1895

View file

@ -92,7 +92,7 @@ EOF
RUN
NAME=assembler
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=mips.gnu
e asm.bits=32
@ -114,7 +114,7 @@ EOF
RUN
NAME=with-spaces
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=mips.gnu
e asm.bits=32

View file

@ -530,7 +530,7 @@ EOF
RUN
NAME=aoj f0ff2194
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=ppc
e asm.bits=64

View file

@ -10,7 +10,7 @@ EOF
RUN
NAME=jump with compress instruction
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=riscv
e asm.bytes=true
@ -28,7 +28,7 @@ EOF
RUN
NAME=branch with compress instruction
FILE=-
FILE==
CMDS=<<EOF
e asm.bytes=true
e asm.arch=riscv

View file

@ -1,5 +1,5 @@
NAME=aoj 4140f008
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=sysz
e asm.bits=64

View file

@ -286,7 +286,7 @@ EOF
RUN
NAME=Detect register args used only by callee
FILE=-
FILE==
CMDS=<<EOF
e asm.bytes=true
e asm.arch=x86
@ -353,7 +353,7 @@ EOF
RUN
NAME=Variable access with misc registers (x86)
FILE=-
FILE==
ARGS=-a x86 -b 64
CMDS=<<EOF
e asm.flags=false
@ -411,7 +411,7 @@ RUN
NAME=Variable access with misc registers (ARM)
FILE=-
FILE==
ARGS=-a arm -b 16
CMDS=<<EOF
e asm.bytes=true
@ -480,7 +480,7 @@ EOF
RUN
NAME=Takeover variables
FILE=-
FILE==
ARGS=-a x86 -b 32
CMDS=<<EOF
wx e805000000e80600000039d1742577145589e583ec048b5d088b4d0c895dfc83f90174098b45fc8945fc49ebf28b45fc89ec5dc3

View file

@ -12,7 +12,7 @@ EOF
RUN
NAME=lcall offset (#12284)
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=16
@ -25,7 +25,7 @@ EOF
RUN
NAME=ljmp offset (#12284)
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=16
@ -38,7 +38,7 @@ EOF1
RUN
NAME=aoj pushf
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=16

View file

@ -47,7 +47,7 @@ EOF
RUN
NAME=analysis.pushret
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -200,7 +200,7 @@ EOF
RUN
NAME=adf bug #16215
FILE=-
FILE==
CMDS=adf
EXPECT=<<EOF
EOF
@ -411,7 +411,7 @@ EOF
RUN
NAME=af- bug
FILE=-
FILE==
CMDS=af+ $$ foo; af- $$;afl~?
EXPECT=<<EOF
0
@ -1174,7 +1174,7 @@ EOF
RUN
NAME=sar on x86-32
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
@ -1204,7 +1204,7 @@ EOF
RUN
NAME=int 0x80 doesn t terminate a function
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
@ -1219,7 +1219,7 @@ EOF
RUN
NAME=mnemonic - repe/cmpsb
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -1231,7 +1231,7 @@ EOF
RUN
NAME=ao 4~bytes
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
@ -1247,7 +1247,7 @@ EOF
RUN
NAME=af fwd-jmp
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
@ -1273,7 +1273,7 @@ EOF
RUN
NAME=./x86_32_cs
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
@ -1291,7 +1291,7 @@ EOF
RUN
NAME=./x86_32_cs2
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
@ -1308,7 +1308,7 @@ EOF
RUN
NAME=./x86_32_cs3
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
@ -2980,7 +2980,7 @@ EOF
RUN
NAME=ao cjmp
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
@ -2996,7 +2996,7 @@ EOF
RUN
NAME=aoj 31c0
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
@ -3051,7 +3051,7 @@ EOF
RUN
NAME=aoj pushf
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32

View file

@ -22,7 +22,7 @@ EOF
RUN
NAME=analysis.ijmp missing branch bug
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -1740,7 +1740,7 @@ EOF
RUN
NAME=analysis vars crash
FILE=-
FILE==
CMDS=<<EOF
e asm.bytes=true
af
@ -1752,7 +1752,7 @@ EOF
RUN
NAME=analysis vars crash 2
FILE=-
FILE==
CMDS=<<EOF
e asm.bytes=true
e asm.bits=64
@ -2052,7 +2052,7 @@ EOF
RUN
NAME=ax-
FILE=-
FILE==
CMDS=<<EOF
ax 10 20
axq
@ -2065,7 +2065,7 @@ EOF
RUN
NAME=ax-@
FILE=-
FILE==
CMDS=<<EOF
s 20
ax 10
@ -2079,7 +2079,7 @@ EOF
RUN
NAME=ax-*
FILE=-
FILE==
CMDS=<<EOF
ax 10
ax
@ -2126,7 +2126,7 @@ EOF
RUN
NAME=x86 ref issue
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.arch=x86
@ -2139,7 +2139,7 @@ EOF
RUN
NAME=aoj pushf
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -2224,7 +2224,7 @@ EOF
RUN
NAME=delete references with ax-
FILE=-
FILE==
CMDS=<<EOF
ax 10 20
axq
@ -2327,7 +2327,7 @@ EOF
RUN
NAME=axs
FILE=-
FILE==
CMDS=<<EOF
axs 0x10
axq
@ -2467,7 +2467,7 @@ EOF
RUN
NAME=r_analysis_fcn_split_bb FITFCNSZ fix (#12008)
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bytes=true
@ -2528,7 +2528,7 @@ EOF
RUN
NAME=overlapping basic blocks and analysis.jmp.mid
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bytes=true
@ -2899,7 +2899,7 @@ EOF
RUN
NAME=basic block overlaps function start
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bytes=true
@ -2996,7 +2996,7 @@ EOF
RUN
NAME=af-* removes function flags
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bytes=true
@ -3053,7 +3053,7 @@ EOF
RUN
NAME=so -N and overlapping basic blocks
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -3076,7 +3076,7 @@ EOF
RUN
NAME=a8 analyze bytes
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -3184,7 +3184,7 @@ EOF
RUN
NAME=sar on x86-64
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -3209,7 +3209,7 @@ EOF
RUN
NAME=aes
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -3780,7 +3780,7 @@ EOF
RUN
NAME=x86_64 show registers in table
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -3825,7 +3825,7 @@ EOF
RUN
NAME=lea pseudo improvements (pseudo disabled)
FILE=-
FILE==
CMDS=<<EOF
e asm.bytes=true
e asm.arch=x86
@ -3867,7 +3867,7 @@ EOF
RUN
NAME=lea pseudo improvements (pseudo enabled)
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bytes=true

View file

@ -1,5 +1,5 @@
NAME=xtensa blt
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=xtensa
e asm.bits=32

View file

@ -1,6 +1,6 @@
# Should not be run on Windows
NAME=utf8 (possibly malformed) filenames with non-printable chars
FILE=-
FILE==
CMDS=<<EOF
cd `e dir.tmp`
e io.cache=true

View file

@ -1,5 +1,5 @@
NAME=#!c
FILE=-
FILE==
CMDS=<<EOF
"?e #include <stdio.h>\nint entry(){printf(\"Hello\\n\");return 0;}" > .tmp-hashc.c
#!c .tmp-hashc.c
@ -11,7 +11,7 @@ EOF
RUN
NAME=#! with ext != name
FILE=-
FILE==
CMDS=<<EOF
"?e #include <stdio.h>\nint main(){printf(\"Hello\\n\");return 0;}" > .tmp-hashextname.c
#!cpipe .tmp-hashextname.c
@ -20,4 +20,4 @@ EOF
EXPECT=<<EOF
Hello
EOF
RUN
RUN

View file

@ -1,5 +1,5 @@
NAME=rz-asm #1167 3
FILE=-
FILE==
CMDS=!rz-asm -s att -a x86.as -b 64 "test %rbx, %rax"
EXPECT=<<EOF
4885d8
@ -7,7 +7,7 @@ EOF
RUN
NAME=rz-asm #1167 4
FILE=-
FILE==
CMDS=!rz-asm -s intel -a x86.as -b 64 "test rax, rbx"
EXPECT=<<EOF
4885d8
@ -15,7 +15,7 @@ EOF
RUN
NAME=rz-asm #1167 5
FILE=-
FILE==
CMDS=!rz-asm -s att -a x86.as -b 64 'add $33, %rbx'
EXPECT=<<EOF
4883c321
@ -23,7 +23,7 @@ EOF
RUN
NAME=rz-asm #1167 6
FILE=-
FILE==
CMDS=!rz-asm -s intel -a x86.as -b 64 "add rbx, 33"
EXPECT=<<EOF
4883c321
@ -31,7 +31,7 @@ EOF
RUN
NAME=rz-asm -s att -a x86.as -b 64 movq %rdx, %rax
FILE=-
FILE==
CMDS=!rz-asm -s att -a x86.as -b 64 "movq %rdx, %rax"
EXPECT=<<EOF
4889d0

View file

@ -1,5 +1,6 @@
NAME="bug 6678: crash case"
CMDS=-d malloc://512 -'
FILE==
CMDS=-d malloc://512 ='
EXPECT=<<EOF
EOF
RUN

View file

@ -1,6 +1,6 @@
# Should not be run on Windows
NAME=utf8 (possibly malformed) filenames with non-printable chars
FILE=-
FILE==
CMDS=<<EOF
cd `e dir.tmp`
e io.cache=true

View file

@ -1,5 +1,5 @@
NAME=#!c
FILE=-
FILE==
CMDS=<<EOF
"?e #include <stdio.h>\nint entry(){printf(\"Hello\\n\");return 0;}" > .tmp-hashc.c
#!c .tmp-hashc.c
@ -11,7 +11,7 @@ EOF
RUN
NAME=#! with ext != name
FILE=-
FILE==
CMDS=<<EOF
"?e #include <stdio.h>\nint main(){printf(\"Hello\\n\");return 0;}" > .tmp-hashextname.c
#!cpipe .tmp-hashextname.c
@ -20,4 +20,4 @@ EOF
EXPECT=<<EOF
Hello
EOF
RUN
RUN

View file

@ -1,5 +1,5 @@
NAME=uname
FILE=-
FILE==
CMDS=!uname
EXPECT=<<EOF
Linux

View file

@ -1,5 +1,5 @@
NAME=endian tests: mips
FILE=-
FILE==
CMDS=<<EOF
wx 0f84010a
e asm.arch=mips
@ -16,7 +16,7 @@ EOF
RUN
NAME=endian tests: arm
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=arm
e asm.bits=32
@ -33,7 +33,7 @@ EOF
RUN
NAME=endian tests: thumb
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=arm
e asm.bits=16
@ -50,7 +50,7 @@ EOF
RUN
NAME=endian tests: arm64
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=arm
e asm.bits=64
@ -67,7 +67,7 @@ EOF
RUN
NAME=endian tests: sparc
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=sparc
wx 554889e5
@ -83,7 +83,7 @@ EOF
RUN
NAME=endian tests: sparc.gnu
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=sparc.gnu
e asm.bits=64
@ -193,7 +193,7 @@ RUN
NAME=Test arch switch
BROKEN=1
FILE=-
FILE==
CMDS=<<EOF
wx 00b5884206bf01300130042000bd
e asm.arch=arm asm.bits=16

View file

@ -1,5 +1,5 @@
NAME=t/backtickgrep
FILE=-
FILE==
CMDS=?v `i~size[1]`-$s;?! ?e works
EXPECT=<<EOF
0x0

View file

@ -44,7 +44,7 @@ EOF
RUN
NAME=overlap0
FILE=-
FILE==
CMDS=<<EOF
w AAAA
/x 4141
@ -56,7 +56,7 @@ EOF
RUN
NAME=overlap1
FILE=-
FILE==
CMDS=<<EOF
e search.overlap=true
w AAAA

View file

@ -1,5 +1,5 @@
NAME=bitmask cmp data
FILE=-
FILE==
CMDS=<<EOF
b 16
wx 414243

View file

@ -1,5 +1,5 @@
NAME=t/bug_backtick
FILE=-
FILE==
BROKEN=1
CMDS=p8 3`~`
EXPECT=<<EOF

View file

@ -1,5 +1,5 @@
NAME=ac
FILE=-
FILE==
CMDS=<<EOF
ac Flatline
acll
@ -15,7 +15,7 @@ EOF
RUN
NAME=acm
FILE=-
FILE==
CMDS=<<EOF
ac Flatline
acm Flatline PrayerPosition 0x1337 0x42
@ -41,7 +41,7 @@ EOF
RUN
NAME=acm-
FILE=-
FILE==
CMDS=<<EOF
ac Flatline
acm Flatline PrayerPosition 0x1337 0x42
@ -101,7 +101,7 @@ EOF
RUN
NAME=acmn
FILE=-
FILE==
CMDS=<<EOF
ac Flatline
acm Flatline PrayerPosition 0x1337 0x42
@ -146,7 +146,7 @@ EOF
RUN
NAME=ac-
FILE=-
FILE==
CMDS=<<EOF
ac Album
ac PeripheryAlbum
@ -257,7 +257,7 @@ EOF
RUN
NAME=acb
FILE=-
FILE==
CMDS=<<EOF
ac PeripherySong
ac NiceSong
@ -289,7 +289,7 @@ EOF
RUN
NAME=acb-
FILE=-
FILE==
CMDS=<<EOF
ac PeripherySong
ac NiceSong
@ -333,7 +333,7 @@ EOF
RUN
NAME=acv
FILE=-
FILE==
CMDS=<<EOF
ac Deadwing
acv Deadwing 0x1337
@ -361,7 +361,7 @@ EOF
RUN
NAME=acv-
FILE=-
FILE==
CMDS=<<EOF
ac Deadwing
acv Deadwing 0x1337
@ -402,7 +402,7 @@ EOF
RUN
NAME=acn
FILE=-
FILE==
CMDS=<<EOF
ac Album
ac PorcupineTreeAlbum
@ -478,7 +478,7 @@ EOF
RUN
NAME=acl*
FILE=-
FILE==
CMDS=<<EOF
ac Album
ac PorcupineTreeAlbum
@ -501,7 +501,7 @@ EOF
RUN
NAME=aclj
FILE=-
FILE==
CMDS=<<EOF
ac PorcupineTreeAlbum
ac Deadwing

View file

@ -1,5 +1,5 @@
NAME=aea 5
FILE=-
FILE==
ARGS=-a x86 -b64
CMDS=wx 4889e5b8ffff000089c2c1ea1f01d0;aea 5
EXPECT=<<EOF
@ -13,7 +13,7 @@ EOF
RUN
NAME=aeaj 5
FILE=-
FILE==
ARGS=-a x86 -b64
CMDS=wx 4889e5b8ffff000089c2c1ea1f01d0;aeaj 5~{}
EXPECT=<<EOF
@ -68,7 +68,7 @@ EOF
RUN
NAME=aeA 15
FILE=-
FILE==
ARGS=-a x86 -b64
CMDS=wx 4889e5b8ffff000089c2c1ea1f01d0;aeA 15
EXPECT=<<EOF

View file

@ -1,5 +1,5 @@
NAME=aek-
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -21,7 +21,7 @@ EOF
RUN
NAME=aek- - crash
FILE=-
FILE==
BROKEN=1
CMDS=aek-
EXPECT=<<EOF

View file

@ -1,5 +1,5 @@
NAME=aes help changing seek
FILE=-
FILE==
CMDS=<<EOF
wx 55
e asm.arch=x86
@ -14,7 +14,7 @@ EOF
RUN
NAME=cmd.esil.intr unset
FILE=-
FILE==
CMDS=<<EOF
wx b8010000000f34b801000000cd80ebfe
10aes
@ -24,7 +24,7 @@ EOF
RUN
NAME=aes without initialize
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32

View file

@ -1,5 +1,5 @@
NAME=aex 40 (aka INC)
FILE=-
FILE==
ARGS=-a x86 -b32
CMDS=ar eax=1;aex 40;ar eax
EXPECT=<<EOF
@ -8,7 +8,7 @@ EOF
RUN
NAME=aex 48 (aka DEC)
FILE=-
FILE==
ARGS=-a x86 -b32
CMDS=ar eax=4;aex 48;ar eax
EXPECT=<<EOF

View file

@ -375,7 +375,7 @@ EOF
RUN
NAME=duplicate af+
FILE=-
FILE==
CMDS=<<EOF
af+ 0x1337 func
af+ 0x1337 func
@ -408,7 +408,7 @@ EOF
RUN
NAME=function naming
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64

View file

@ -1,5 +1,5 @@
NAME=afn normal function
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=avr
wa ret
@ -13,7 +13,7 @@ EOF
RUN
NAME=afn interrupt handler
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=avr
wa reti

View file

@ -1,5 +1,5 @@
NAME=avr[rbs]- without function
FILE=-
FILE==
CMDS=<<EOF
afvr-*
afvb-42

View file

@ -1,5 +1,5 @@
NAME=afvd
FILE=-
FILE==
CMDS=<<EOF
e analysis.vars.stackname=true
e asm.arch=x86

View file

@ -12,7 +12,7 @@ EOF
RUN
NAME=agfJ
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bytes=true

View file

@ -1,5 +1,5 @@
NAME=ah- offset
FILE=-
FILE==
CMDS=<<EOF
ahi 10 @ 0
ahi 8 @ 16
@ -19,7 +19,7 @@ EOF
RUN
NAME=ah-offset
FILE=-
FILE==
CMDS=<<EOF
ahi 10 @ 0
ahi 8 @ 16
@ -39,7 +39,7 @@ EOF
RUN
NAME=ah
FILE=-
FILE==
CMDS=<<EOF
s 0x1337
aha ppc
@ -86,7 +86,7 @@ EOF
RUN
NAME=ah*
FILE=-
FILE==
CMDS=<<EOF
s 0x1337
aha ppc
@ -148,7 +148,7 @@ EOF
RUN
NAME=ahj
FILE=-
FILE==
CMDS=<<EOF
s 0x1337
aha ppc
@ -207,7 +207,7 @@ EOF
RUN
NAME=arch hints for ranges
FILE=-
FILE==
CMDS=<<EOF
aha arm @ 0x42
aha 0 @ 0x84
@ -250,7 +250,7 @@ EOF
RUN
NAME=bits hints for ranges
FILE=-
FILE==
CMDS=<<EOF
ahb 16 @ 0x42
ahb 0 @ 0x84

View file

@ -1,5 +1,5 @@
NAME=ahi s + endian
FILE=-
FILE==
CMDS=<<EOF
wx b8410d4300
e asm.arch=x86
@ -16,7 +16,7 @@ EOF
RUN
NAME=ahi s + endian 2
FILE=-
FILE==
CMDS=<<EOF
wx b841424300
e asm.arch=x86
@ -33,7 +33,7 @@ EOF
RUN
NAME=1: ahi none
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.arch=x86
@ -46,7 +46,7 @@ EOF
RUN
NAME=ahi with colors
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.bytes=true
@ -64,7 +64,7 @@ EOF
RUN
NAME=ahi 0x41 -> 'A'
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.arch=x86
@ -81,7 +81,7 @@ EOF
RUN
NAME=ahi 0xe -> 1
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.arch=x86
@ -98,7 +98,7 @@ EOF
RUN
NAME=ahi 4 -> 1
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.arch=x86
@ -115,7 +115,7 @@ EOF
RUN
NAME=2: ahi none
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.bytes=true
@ -129,7 +129,7 @@ EOF
RUN
NAME=3: ahi none
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.bytes=true
@ -144,7 +144,7 @@ EOF
RUN
NAME=1: ahi 10
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.bytes=true
@ -159,7 +159,7 @@ EOF
RUN
NAME=ahi 8
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.bytes=true
@ -174,7 +174,7 @@ EOF
RUN
NAME=1: ahi 2
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.bytes=true
@ -189,7 +189,7 @@ EOF
RUN
NAME=ahi 2 - pi
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.arch=x86
@ -271,7 +271,7 @@ EOF
RUN
NAME=64bit ahi 10
FILE=-
FILE==
ARGS=-m 0x100001000
CMDS=<<EOF
e io.va
@ -295,7 +295,7 @@ EOF
RUN
NAME=2: ahi s
FILE=-
FILE==
CMDS=<<EOF
e asm.bits=64
e asm.arch=x86
@ -311,7 +311,7 @@ EOF
RUN
NAME=ahi s 2
FILE=-
FILE==
CMDS=<<EOF
wx b868584d56
e asm.arch=x86
@ -325,7 +325,7 @@ EOF
RUN
NAME=ahi s - pd with colors
FILE=-
FILE==
CMDS=<<EOF
e asm.bytes=false
e asm.comments=false
@ -345,7 +345,7 @@ EOF
RUN
NAME=ahi nword
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -367,7 +367,7 @@ RUN
NAME=ahi 10 and 10u imm (x86_32)
ARGS=-a x86 -b 32
FILE=-
FILE==
CMDS=<<EOF
e asm.bytes=false
"wa cmp eax, -1"
@ -386,7 +386,7 @@ RUN
NAME=ahi 10 and 10u imm (x86_64)
ARGS=-a x86 -b 64
FILE=-
FILE==
CMDS=<<EOF
e asm.bytes=false
"wa cmp eax, -1"

View file

@ -1,5 +1,5 @@
NAME=aii
FILE=-
FILE==
CMDS=<<EOF
aii pigs
aii pigs
@ -17,7 +17,7 @@ EOF
RUN
NAME=aii-
FILE=-
FILE==
CMDS=<<EOF
aii pigs
aii dogs

View file

@ -1,5 +1,5 @@
NAME=test $alias
FILE=-
FILE==
CMDS=<<EOF
$foo=?e hello
$foo
@ -10,7 +10,7 @@ EOF
RUN
NAME=test $alias quotes
FILE=-
FILE==
CMDS=<<EOF
"$foo=?e hello;?e world"
$foo
@ -22,7 +22,7 @@ EOF
RUN
NAME=test $alias args
FILE=-
FILE==
CMDS=<<EOF
$foo=!echo hello
$foo world
@ -33,7 +33,7 @@ EOF
RUN
NAME=list $alias
FILE=-
FILE==
CMDS=<<EOF
$foo=a
$bar=b
@ -46,7 +46,7 @@ EOF
RUN
NAME=delete $alias
FILE=-
FILE==
CMDS=<<EOF
$foo=a
$bar=b

View file

@ -1,5 +1,5 @@
NAME=a8
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -11,7 +11,7 @@ EOF
RUN
NAME=aof
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -26,7 +26,7 @@ EOF
RUN
NAME=ao_aoj
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64

View file

@ -1,5 +1,5 @@
NAME=ara swap
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -16,7 +16,7 @@ EOF
RUN
NAME=ara swap 2
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -36,7 +36,7 @@ EOF
RUN
NAME=ara push
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -51,7 +51,7 @@ EOF
RUN
NAME=ara pop
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -75,7 +75,7 @@ EOF
RUN
NAME=arcc+tcc
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64

View file

@ -1,5 +1,5 @@
NAME=arpg
FILE=-
FILE==
CMDS=<<EOF
arpg scripts/gdb-reg-profile.txt > $a
?v $?

View file

@ -21,7 +21,7 @@ EOF
RUN
NAME=axf
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64

View file

@ -1,5 +1,5 @@
NAME=b
FILE=-
FILE==
CMDS=<<EOF
b 100
b
@ -10,7 +10,7 @@ EOF
RUN
NAME=bj
FILE=-
FILE==
CMDS=<<EOF
b 100
bj

View file

@ -1,5 +1,5 @@
NAME=condition 33??
FILE=-
FILE==
CMDS=<<EOF
?= 33
?? ?e win
@ -10,7 +10,7 @@ EOF
RUN
NAME=condition 33?!
FILE=-
FILE==
CMDS=<<EOF
?= 33
?! ?e win
@ -20,7 +20,7 @@ EOF
RUN
NAME=condition 0??
FILE=-
FILE==
CMDS=<<EOF
?= 0
?? ?e win
@ -30,7 +30,7 @@ EOF
RUN
NAME=condition 0?!
FILE=-
FILE==
CMDS=<<EOF
?= 0
?! ?e win
@ -41,7 +41,7 @@ EOF
RUN
NAME=oneline condition 33??
FILE=-
FILE==
CMDS=?= 33;?? ?e win
EXPECT=<<EOF
win
@ -49,14 +49,14 @@ EOF
RUN
NAME=oneline condition 33?!
FILE=-
FILE==
CMDS=?= 33;?! ?e win
EXPECT=<<EOF
EOF
RUN
NAME=oneline condition 0?!
FILE=-
FILE==
CMDS=?= 0;?! ?e win
EXPECT=<<EOF
win
@ -64,7 +64,7 @@ EOF
RUN
NAME=oneline condition 0??
FILE=-
FILE==
CMDS=?= 0;?? ?e win
EXPECT=<<EOF
EOF

View file

@ -1,5 +1,5 @@
NAME=dh esil
FILE=-
FILE==
ARGS=-a x86 -b 32
CMDS=<<EOF
aei

View file

@ -1,5 +1,5 @@
NAME=pD@x:90
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits= 32
@ -12,7 +12,7 @@ EOF
RUN
NAME=pd@x:90
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits= 32
@ -25,7 +25,7 @@ EOF
RUN
NAME=pd@x:90909090
FILE=-
FILE==
CMDS=<<EOF
e asm.bytes=true
e asm.arch=x86
@ -41,7 +41,7 @@ EOF
RUN
NAME=pd@x:909090
FILE=-
FILE==
CMDS=<<EOF
e asm.bytes=true
e asm.arch=x86
@ -56,7 +56,7 @@ EOF
RUN
NAME=pd 4;?=
FILE=-
FILE==
CMDS=<<EOF
wx 00000000000000000000
e asm.arch=x86
@ -75,7 +75,7 @@ EOF
RUN
NAME=pd 4 > /dev/null; ?=
FILE=-
FILE==
CMDS=<<EOF
wx 00000000000000000000
e asm.arch=x86
@ -89,7 +89,7 @@ EOF
RUN
NAME=wx e9010f;?v $l
FILE=-
FILE==
CMDS=<<EOF
wx e9010f
e asm.arch=x86
@ -106,7 +106,7 @@ EOF
RUN
NAME=dis-16/32/64
FILE=-
FILE==
CMDS=<<EOF
wx e99300 e869390000 e828350000
e asm.arch=x86
@ -129,7 +129,7 @@ EOF
RUN
NAME=unaligned arm code
FILE=-
FILE==
CMDS=<<EOF
wx 00000000
e asm.bits=16
@ -142,7 +142,7 @@ EOF
RUN
NAME=unaligned arm code
FILE=-
FILE==
CMDS=<<EOF
wx 00000000
e asm.bits=32
@ -155,7 +155,7 @@ EOF
RUN
NAME=unaligned x86 issue
FILE=-
FILE==
CMDS=<<EOF
wx 00000000
e asm.arch=arm
@ -172,7 +172,7 @@ EOF
RUN
NAME=reflines on last line
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32

View file

@ -1,5 +1,5 @@
NAME=dmh crash without arena/heap map
FILE=-
FILE==
ARGS=
CMDS=<<EOF
dmh

View file

@ -1,5 +1,5 @@
NAME=drrj color
FILE=-
FILE==
ARGS=-a x86 -b 32 -m 0x10000
CMDS=<<EOF
e scr.color=1

View file

@ -1,5 +1,5 @@
NAME=dr= double 0x bug
FILE=-
FILE==
ARGS=-a x86 -b 32
CMDS=dr=~?0x0x
EXPECT=<<EOF

View file

@ -1,5 +1,5 @@
NAME=ds help changing seek
FILE=-
FILE==
CMDS=<<EOF
s 8;ds? > /dev/null
s

View file

@ -1,5 +1,5 @@
NAME=ec* fgbg
FILE=-
FILE==
CMDS=<<EOF
eco sepia
ec*
@ -78,7 +78,7 @@ EOF
RUN
NAME=ansicon ecs
FILE=-
FILE==
CMDS=<<EOF
e scr.color=1
e scr.ansicon=true
@ -107,7 +107,7 @@ EOF
RUN
NAME=ecd and eco bright
FILE=-
FILE==
CMDS=<<EOF
e scr.color=1
ecd
@ -260,7 +260,7 @@ EOF
RUN
NAME=ec* and attributes
FILE=-
FILE==
CMDS=<<EOF
eco bright
ec*~pop
@ -280,7 +280,7 @@ EOF
RUN
NAME=ecHi
FILE=-
FILE==
CMDS=ecHi xxxx
EXPECT_ERR=<<EOF
Unknown color xxxx

View file

@ -1,5 +1,5 @@
NAME=env FOO
FILE=-
FILE==
CMDS=<<EOF
env FOO=BAR
env FOO
@ -10,7 +10,7 @@ EOF
RUN
NAME=int/str values
FILE=-
FILE==
CMDS=<<EOF
e log.level=1
e log.level
@ -45,7 +45,7 @@ EOF
RUN
NAME=env with spaces
FILE=-
FILE==
CMDS=<<EOF
env AAA = BBB
env AAA

View file

@ -1,5 +1,5 @@
NAME=et
FILE=-
FILE==
CMDS=<<EOF
et asm.slow
et asm.bits
@ -15,7 +15,7 @@ EOF
RUN
NAME=e-dot
FILE=-
FILE==
CMDS=e zoom.
EXPECT=<<EOF
zoom.byte = h
@ -66,7 +66,7 @@ EOF
RUN
NAME=e asm.syntax
FILE=-
FILE==
CMDS=<<EOF
wx eb0e
e asm.arch=x86
@ -79,7 +79,7 @@ EOF
RUN
NAME=multiple assignments
FILE=-
FILE==
CMDS=<<EOF
"e scr.highlight= scr.highlight.grep =scr.rainbow =true "
e scr.highlight
@ -94,6 +94,7 @@ EOF
RUN
NAME=multiple assignments with quotes
FILE==
CMDS=<<EOF
e cmd.prompt='scr.highlight = "e cmd.prompt = "e scr.highlight = cmd.prompt ="e scr.rainbow = true """'
e cmd.prompt

View file

@ -1,5 +1,5 @@
NAME=wen 6 @ 0
FILE=-
FILE==
CMDS=<<EOF
wx 414142424343444445454646
pf z @0x0
@ -31,7 +31,7 @@ EOF
RUN
NAME=wen 6 @ 4
FILE=-
FILE==
CMDS=<<EOF
wx 414142424343444445454646
pf z @0x0
@ -69,7 +69,7 @@ EOF
RUN
NAME=weN 6 0x8
FILE=-
FILE==
CMDS=<<EOF
wx 41414242434344444545464647474848
pf z @0x0
@ -124,7 +124,7 @@ EOF
RUN
NAME=wex 575757575757575757
FILE=-
FILE==
CMDS=<<EOF
wx 41414242434344444545464647474848
pf z @0x0
@ -156,7 +156,7 @@ EOF
RUN
NAME=weX 0xc 575757575757575757
FILE=-
FILE==
CMDS=<<EOF
wx 41414242434344444545464647474848
pf z @0x0

View file

@ -1,5 +1,5 @@
NAME=f?flag
FILE=-
FILE==
CMDS=<<EOF
f foo=123
f?foo;?? ?e hello
@ -11,7 +11,7 @@ EOF
RUN
NAME=fs-fd-flags-visibility
FILE=-
FILE==
CMDS=<<EOF
fs jeje
f hidden
@ -27,7 +27,7 @@ EOF
RUN
NAME=f command with space
FILE=-
FILE==
CMDS=<<EOF
f foobar=0x1000
f
@ -38,14 +38,14 @@ EOF
RUN
NAME=no flags
FILE=-
FILE==
CMDS=f
EXPECT=<<EOF
EOF
RUN
NAME=no flags*
FILE=-
FILE==
CMDS=f*
EXPECT=<<EOF
EOF
@ -486,7 +486,7 @@ EOF
RUN
NAME=Set/get
FILE=-
FILE==
CMDS=<<EOF
f cat
f rimmer 12
@ -505,7 +505,7 @@ EOF
RUN
NAME=flags (JSON)
FILE=-
FILE==
CMDS=<<EOF
# Add flags.
f cat
@ -521,7 +521,7 @@ EOF
RUN
NAME=flag alias
FILE=-
FILE==
CMDS=<<EOF
fa foo=bar+3
f bar=3
@ -533,7 +533,7 @@ EOF
RUN
NAME=flag alias 2
FILE=-
FILE==
CMDS=<<EOF
fa foo bar+3
f bar=3
@ -545,7 +545,7 @@ EOF
RUN
NAME=flag alias infinite check
FILE=-
FILE==
CMDS=<<EOF
fa foo=foo+3
?v foo
@ -570,7 +570,7 @@ EOF
RUN
NAME=f+
FILE=-
FILE==
CMDS=<<EOF
f+foo=10
f+bar=20

View file

@ -1,5 +1,5 @@
NAME=no flags
FILE=-
FILE==
CMDS=<<EOF
f patata
f-*
@ -24,7 +24,7 @@ EOF
RUN
NAME=fr foo bar
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64

View file

@ -17,7 +17,7 @@ EOF
RUN
NAME=iter file lines
FILE=-
FILE==
CMDS=<<EOF
rm .iter-file-lines.tmp
?e 10 > .iter-file-lines.tmp
@ -36,7 +36,7 @@ EOF
RUN
NAME=iter offsets
FILE=-
FILE==
CMDS=<<EOF
s @@=10 20 30 0xdeadbeef
EOF
@ -49,7 +49,7 @@ EOF
RUN
NAME=iter offsetssizes
FILE=-
FILE==
CMDS=<<EOF
(_; s; b)() @@@=10 1 20 2 30 3 0xdeadbeef 10
EOF
@ -66,7 +66,7 @@ EOF
RUN
NAME=iter hit
FILE=-
FILE==
CMDS=<<EOF
wx 000090000000009000
s @@/x 90
@ -80,7 +80,7 @@ EOF
RUN
NAME=iter interpret
FILE=-
FILE==
CMDS=<<EOF
s @@c:?e 10 20
EOF
@ -91,7 +91,7 @@ EOF
RUN
NAME=iter interpret offsetssizes
FILE=-
FILE==
CMDS=<<EOF
(_;s;b)() @@@c:?e 10 1 20 2
EOF
@ -104,7 +104,7 @@ EOF
RUN
NAME=iter comment
FILE=-
FILE==
CMDS=<<EOF
CC hello
CC world @ 0xdeadbeef
@ -124,7 +124,7 @@ EOF
RUN
NAME=iter dbt
FILE=-
FILE==
CMDS=<<EOF
EOF
EXPECT=<<EOF
@ -132,7 +132,7 @@ EOF
RUN
NAME=iter threads
FILE=-
FILE==
CMDS=<<EOF
EOF
EXPECT=<<EOF
@ -275,7 +275,7 @@ EOF
RUN
NAME=iter flag
FILE=-
FILE==
CMDS=<<EOF
f hello @ 0x30
f world @ 0xdeadbeef
@ -321,7 +321,7 @@ EOF
RUN
NAME=iter dbgmap
FILE=-
FILE==
CMDS=<<EOF
EOF
EXPECT=<<EOF
@ -329,7 +329,7 @@ EOF
RUN
NAME=iter register
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
@ -371,7 +371,7 @@ EOF
RUN
NAME=iter step
FILE=-
FILE==
CMDS=<<EOF
s @@s:0x1000 0x2000 0x400
EOF

View file

@ -1,5 +1,5 @@
NAME=AFL - crash #2
FILE=-
FILE==
CMDS=<<EOF
e scr.null=true
ibbbbbbbk
@ -9,7 +9,7 @@ EOF
RUN
NAME=AFL - crash #3
FILE=-
FILE==
CMDS=<<EOF
e scr.null =true
.dd dd)ddd dddr{G
@ -19,7 +19,7 @@ EOF
RUN
NAME=AFL - crash #4
FILE=-
FILE==
CMDS=<<EOF
e scr.null=true
*455%R*:**************
@ -29,7 +29,7 @@ EOF
RUN
NAME=AFL - crash #5
FILE=-
FILE==
CMDS=<<EOF
e scr.null =true
(((((((,(*;(((($(($(((((*<((()(((d
@ -39,7 +39,7 @@ EOF
RUN
NAME=AFL - crash #7
FILE=-
FILE==
CMDS=<<EOF
e scr.null =true
22.22.22ddd d do@

View file

@ -1,5 +1,5 @@
NAME=one node
FILE=-
FILE==
CMDS=<<EOF
agn title1 body1
aggk~nodes=
@ -16,7 +16,7 @@ EOF
RUN
NAME=two nodes
FILE=-
FILE==
CMDS=<<EOF
agn "Title with super long text and space" body1
agn title2 "SuperLongBodyWithALot Of text and spaces"
@ -40,7 +40,7 @@ EOF
RUN
NAME=base64 body
FILE=-
FILE==
CMDS=<<EOF
agn title1 base64:aGVsbG8gd29ybGQ=
aggk~nodes.title1.body=
@ -51,7 +51,7 @@ EOF
RUN
NAME=long base64 body
FILE=-
FILE==
CMDS=<<EOF
agn title1 base64:dGhpcyBpcyBhIHZlcnkgbG9uZyB0ZXh0IHRoYXQgd2hlbiBlbmNvZGVkIHdpbGwgY2F1c2UgYSAKIGluIHRoZSBiYXNlNjQ=
aggk~nodes.title1.body=
@ -62,7 +62,7 @@ EOF
RUN
NAME=two nodes same title
FILE=-
FILE==
CMDS=<<EOF
agn title1 body1
agn title1 "Super long body with something"
@ -79,7 +79,7 @@ EOF
RUN
NAME=remove node
FILE=-
FILE==
CMDS=<<EOF
agn title1 body1
agn- title1
@ -91,7 +91,7 @@ EOF
RUN
NAME=remove node with title that contain spaces
FILE=-
FILE==
CMDS=<<EOF
agn "Title with spaces" body1
agn- "Title with spaces"
@ -103,7 +103,7 @@ EOF
RUN
NAME=remove non-existent node
FILE=-
FILE==
CMDS=<<EOF
agn "Title with spaces" body1
agn- NotValid
@ -117,7 +117,7 @@ EOF
RUN
NAME=remove edge
FILE=-
FILE==
CMDS=<<EOF
agn "Title with spaces" body1
agn "Title with spaces 2" body2
@ -143,7 +143,7 @@ EOF
RUN
NAME=no selected node in non-interactive
FILE=-
FILE==
CMDS=<<EOF
agn title1 body1
agg
@ -157,7 +157,7 @@ EOF
RUN
NAME=agf one
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
@ -180,7 +180,7 @@ EOF
RUN
NAME=agg one
FILE=-
FILE==
CMDS=<<EOF
agn 0x0 base64:cHVzaCBlYnAKbW92IGVicCwgZXNwCnBvcCBlYnAKcmV0
agg
@ -197,7 +197,7 @@ EOF
RUN
NAME=graph size
FILE=-
FILE==
CMDS=<<EOF
aggk~agraph.w=
aggk~agraph.h=
@ -214,7 +214,7 @@ EOF
RUN
NAME=graph size with edges
FILE=-
FILE==
CMDS=<<EOF
agn title1 body1
agn title2 "body2 long body with a lot of spaces and dots...."
@ -231,7 +231,7 @@ EOF
RUN
NAME=graph size with self-referenced bb
FILE=-
FILE==
CMDS=<<EOF
agn title1 body1
age title1 title1
@ -243,7 +243,7 @@ EOF
RUN
NAME=graph title
FILE=-
FILE==
CMDS=<<EOF
agn title1 body1
e graph.title="This is the graph title"
@ -259,7 +259,7 @@ EOF
RUN
NAME=print r2 commands to create graph
FILE=-
FILE==
CMDS=<<EOF
agn title1 body1
agn title2 body2
@ -278,7 +278,7 @@ EOF
RUN
NAME=graph self-ref block
FILE=-
FILE==
CMDS=<<EOF
agn title1 body1
age title1 title1

View file

@ -1,5 +1,5 @@
NAME=hash_comments_noop
FILE=-
FILE==
CMDS=<<EOF
# ~?
# ~?

View file

@ -215,7 +215,7 @@ EOF
RUN
NAME="base help"
FILE=-
FILE==
CMDS=<<EOF
?~+print?
EOF
@ -225,7 +225,7 @@ EOF
RUN
NAME="help help"
FILE=-
FILE==
CMDS=<<EOF
???~Usage
EOF
@ -235,7 +235,7 @@ EOF
RUN
NAME=expr with parentheses
FILE=-
FILE==
CMDS=<<EOF
?v (0x10000192c + 4294965314) & 0xffffffff
EOF
@ -245,7 +245,7 @@ EOF
RUN
NAME=recursive help
FILE=-
FILE==
CMDS=<<EOF
?* zi
EOF
@ -259,7 +259,7 @@ EOF
RUN
NAME=recursive help (json)
FILE=-
FILE==
CMDS=<<EOF
?*j zi
EOF
@ -270,7 +270,7 @@ RUN
NAME=old recursive help
FILE=-
FILE==
CMDS=<<EOF
zi?*
EOF
@ -284,7 +284,7 @@ EOF
RUN
NAME=old recursive help (json)
FILE=-
FILE==
CMDS=<<EOF
zi?*j
EOF

View file

@ -3571,7 +3571,7 @@ EOF
RUN
NAME=izzzj
FILE=-
FILE==
CMDS=<<EOF
w abcd\00012345\0efghi\0
izzzj
@ -3671,7 +3671,7 @@ EOF
RUN
NAME=izz escaping backslash
FILE=-
FILE==
CMDS=<<EOF
wz QUVWXWYZ[\\]^_R
px 16
@ -3699,7 +3699,7 @@ EOF
RUN
NAME=izz and bin.str.enc
FILE=-
FILE==
CMDS=<<EOF
wz k\0i\0abcdefgh
(izzenc enc; e bin.str.enc=$0; izz~:3..)
@ -3920,7 +3920,7 @@ EOF
RUN
NAME=iz-
FILE=-
FILE==
CMDS=<<EOF
iz- @ 0x412420
e bin.str.purge
@ -4515,7 +4515,7 @@ EOF
RUN
NAME=it
FILE=-
FILE==
ARGS=-w
CMDS=it ; wx 0x90 ; it
EXPECT=<<EOF
@ -4779,7 +4779,7 @@ EOF
RUN
NAME=izz libcap (#298)
FILE=-
FILE==
CMDS=<<EOF
wx 7500 6900 3d25 7325 7325 7300 2573 2c00 2b25 7325 7325 7300 2d25 7325 7325 7300 6361 705f 6368 6f77 6e00 6361 705f 6461
izz~^0

View file

@ -27,7 +27,7 @@ EOF
RUN
NAME=idpij
FILE=
FILE==
CMDS=idpij bins/pdb/minimal.pdb~{}
EXPECT=<<EOF
{

View file

@ -1,5 +1,5 @@
NAME=Internal less
FILE=-
FILE==
CMDS=<<EOF
e scr.interactive=false
pd 1~..
@ -10,7 +10,7 @@ EOF
RUN
NAME=Hud mode
FILE=-
FILE==
CMDS=<<EOF
e scr.interactive=false
pd 1~...

View file

@ -1,5 +1,5 @@
NAME=.- (edit, source tmp file)
FILE=-
FILE==
CMDS=<<EOF
e cfg.editor=/bin/true
.-
@ -19,7 +19,7 @@ EOF
RUN
NAME=.spp
FILE=-
FILE==
CMDS=<<EOF
. scripts/rztest.spp
EOF
@ -32,7 +32,7 @@ EOF
RUN
NAME=$foo=#!pipe
FILE=-
FILE==
CMDS=<<EOF
#!pipe echo hello
$foo=#!pipe echo hello

View file

@ -1,5 +1,5 @@
NAME=test pDj missing newline issue
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -45,7 +45,7 @@ EOF
RUN
NAME=empty irj should print empty array
FILE=-
FILE==
CMDS=irj
EXPECT=<<EOF
[]

View file

@ -1,5 +1,5 @@
NAME=List Parser Plugins Lp
FILE=-
FILE==
CMDS=<<EOF
Lp~$
EOF
@ -24,7 +24,7 @@ EOF
RUN
NAME=List core plugins
FILE=-
FILE==
CMDS=Lc
EXPECT=<<EOF
java: Suite of java commands, type `java` for more info
@ -32,7 +32,7 @@ EOF
RUN
NAME=List core plugins in JSON
FILE=-
FILE==
CMDS=Lcj
EXPECT=<<EOF
[{"Name":"java","Description":"Suite of java commands, type `java` for more info"}]

View file

@ -1,5 +1,5 @@
NAME=(msg x;?e $0)
FILE=-
FILE==
CMDS=<<EOF
"(msg x;?e $0)"
.(msg HelloWorld)
@ -11,7 +11,7 @@ RUN
NAME=(msg x;?e $0)
FILE=-
FILE==
CMDS=<<EOF
"(msg x;?e $0)"
.(msg HelloWorld)
@ -23,7 +23,7 @@ RUN
NAME=(msg x;?e $0)
FILE=-
FILE==
CMDS=<<EOF
"(msg x;?e $0)"
.(msg HelloWorld)
@ -36,7 +36,7 @@ EOF
RUN
NAME=.(msg x y;?e $0 $1)
FILE=-
FILE==
CMDS=<<EOF
"(msg x y;?e $0 $1)"
.(msg Hello World)
@ -47,7 +47,7 @@ EOF
RUN
NAME=.(msg "foo bar")
FILE=-
FILE==
CMDS=<<EOF
"(msg x;?e $0)"
.(msg "Hello World")
@ -58,7 +58,7 @@ EOF
RUN
NAME=.(msg foo\ bar)
FILE=-
FILE==
CMDS=<<EOF
"(msg x;?e $0)"
.(msg Hello\ World)
@ -69,7 +69,7 @@ EOF
RUN
NAME=(*~?
FILE=-
FILE==
CMDS=<<EOF
(foo;bar)
(bar;cow)
@ -81,7 +81,7 @@ EOF
RUN
NAME=3(foo;p8 4;s +$0)(1)
FILE=-
FILE==
CMDS=<<EOF
wx 010203040506070809
3(foo;p8 4;sd +$0)(1)
@ -94,7 +94,7 @@ EOF
RUN
NAME=3(foo;?e a;?e b)()
FILE=-
FILE==
CMDS=2(foo;?e a;?e b)()
EXPECT=<<EOF
a
@ -105,7 +105,7 @@ EOF
RUN
NAME=?v $$ @@f:foo*
FILE=-
FILE==
CMDS=<<EOF
f foo.one = 1
f foo.bar = 2
@ -120,7 +120,7 @@ EOF
RUN
NAME=?v
FILE=-
FILE==
CMDS=<<EOF
f foo.one = 1
f foo.bar = 2
@ -135,7 +135,7 @@ EOF
RUN
NAME=multiple commands
FILE=-
FILE==
CMDS=<<EOF
(foo x y; p8 $0 @ $1; ?e Hello $0)(2 0)
(bar x y; p8 $0 @ $1; ?e Hello $0; ?e World $1)(1 0)

View file

@ -1,5 +1,5 @@
NAME=Cf. crash
FILE=-
FILE==
CMDS=<<EOF
Cf.
EOF
@ -94,7 +94,7 @@ EOF
RUN
NAME=CC.
FILE=-
FILE==
CMDS=<<EOF
CC hello @ 10
CC.

View file

@ -114,7 +114,7 @@ FILE=malloc://1024
CMDS=<<EOF
e file.nowarn=true
e file.loadmethod=append
o -;o~?
o =;o~?
EOF
EXPECT=<<EOF
2
@ -145,7 +145,7 @@ EOF
RUN
NAME=omn - crash
FILE=-
FILE==
CMDS=omn
EXPECT=<<EOF
EOF
@ -320,7 +320,7 @@ EOF
RUN
NAME=oC
FILE=-
FILE==
CMDS=<<EOF
wx 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
s 0x10
@ -360,7 +360,7 @@ EOF
RUN
NAME=obj
FILE=-
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
@ -408,7 +408,7 @@ EOF
RUN
NAME=o-*
FILE=-
FILE==
CMDS=<<EOF
o -
o-*
@ -420,9 +420,9 @@ EOF
RUN
NAME=o-3
FILE=-
FILE==
CMDS=<<EOF
o -
o =
o-3
o~?
EOF
@ -435,7 +435,7 @@ NAME=oc
FILE=bins/elf/true32
CMDS=<<EOF
i
oc -
oc =
?e --
i
EOF

View file

@ -1,5 +1,5 @@
NAME=mkdir; ls
FILE=-
FILE==
CMDS=<<EOF
mkdir .tmp
rm .tmp/blah/bleh
@ -16,7 +16,7 @@ EOF
RUN
NAME=mkdir -p (without specifying directory)
FILE=-
FILE==
CMDS=mkdir -p
EXPECT=<<EOF
Usage: mkdir [-p] [directory]
@ -24,7 +24,7 @@ EOF
RUN
NAME=mkdir -p
FILE=-
FILE==
BROKEN=1
CMDS=<<EOF
rm /tmp/foo/bar/foo/fooz

Some files were not shown because too many files have changed in this diff Show more