You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
help = "Spawn a client in each of the provided cores. Broker runs in the 0th core. 'all' to select all available cores. 'none' to run a client without binding to any core. eg: '1,2-4,6' selects the cores 1,2,3,4,6.",
83
83
name = "CORES"
84
84
)]
85
85
cores:Cores,
86
86
87
-
#[structopt(
88
-
short = "p",
87
+
#[arg(
88
+
short = 'p',
89
89
long,
90
90
help = "Choose the broker TCP port, default is 1337",
91
91
name = "PORT"
92
92
)]
93
93
broker_port:u16,
94
94
95
-
#[structopt(
96
-
parse(try_from_str),
97
-
short = "a",
98
-
long,
99
-
help = "Specify a remote broker",
100
-
name = "REMOTE"
101
-
)]
95
+
#[arg(short = 'a', long, help = "Specify a remote broker", name = "REMOTE")]
102
96
remote_broker_addr:Option<SocketAddr>,
103
97
104
-
#[structopt(
105
-
parse(try_from_str),
106
-
short,
107
-
long,
108
-
help = "Set an initial corpus directory",
109
-
name = "INPUT"
110
-
)]
98
+
#[arg(short, long, help = "Set an initial corpus directory", name = "INPUT")]
111
99
input:PathBuf,
112
100
113
-
#[structopt(
101
+
#[arg(
114
102
short,
115
103
long,
116
-
parse(try_from_str),
117
104
help = "Set the output directory, default is ./out",
118
105
name = "OUTPUT",
119
106
default_value = "./out"
120
107
)]
121
108
output:PathBuf,
122
109
123
-
#[structopt(
124
-
parse(try_from_str = timeout_from_millis_str),
110
+
#[arg(
111
+
value_parser = timeout_from_millis_str,
125
112
short,
126
113
long,
127
114
help = "Set the exeucution timeout in milliseconds, default is 1000",
@@ -130,49 +117,46 @@ struct Opt {
130
117
)]
131
118
timeout:Duration,
132
119
133
-
#[structopt(
134
-
parse(from_os_str),
135
-
short = "x",
120
+
#[arg(
121
+
short = 'x',
136
122
long,
137
123
help = "Feed the fuzzer with an user-specified list of tokens (often called \"dictionary\"",
138
-
name = "TOKENS",
139
-
multiple = true
124
+
name = "TOKENS"
140
125
)]
141
126
tokens:Vec<PathBuf>,
142
127
143
-
#[structopt(
128
+
#[arg(
144
129
help = "File to run instead of doing fuzzing loop",
145
130
name = "REPRO",
146
-
long = "repro",
147
-
parse(from_os_str)
131
+
long = "repro"
148
132
)]
149
133
repro_file:Option<PathBuf>,
150
134
151
135
// several new flags, -g for grimoire -b for bytes -t for tags
152
-
#[structopt(
136
+
#[arg(
153
137
help = "Use grimoire mutator",
154
138
name = "GRIMOIRE",
155
139
long = "grimoire",
156
-
short = "g"
140
+
short = 'g'
157
141
)]
158
142
grimoire:bool,
159
143
160
-
#[structopt(
144
+
#[arg(
161
145
help = "Use bytes mutator",
162
146
name = "BYTES",
163
147
long = "bytes",
164
-
short = "b"
148
+
short = 'b'
165
149
)]
166
150
bytes:bool,
167
151
168
-
#[structopt(help = "Use tags mutator", name = "TAGS", long = "tags", short = "t")]
152
+
#[arg(help = "Use tags mutator", name = "TAGS", long = "tags", short = 't')]
0 commit comments