@@ -3,7 +3,6 @@ const sig = @import("../sig.zig");
3
3
const cli = @import ("cli" );
4
4
5
5
const Account = sig .runtime .AccountSharedData ;
6
- const ChannelPrintLogger = sig .trace .ChannelPrintLogger ;
7
6
const Pubkey = sig .core .pubkey .Pubkey ;
8
7
const Slot = sig .core .time .Slot ;
9
8
@@ -49,7 +48,7 @@ pub const RunCmd = struct {
49
48
50
49
pub const IndexAllocation = enum { ram , disk };
51
50
52
- pub const parser = cli .Parser (RunCmd , .{
51
+ pub const cmd_info : cli .CommandInfo (RunCmd ) = .{
53
52
.help = .{
54
53
.short = "Fuzz accountsdb." ,
55
54
.long = null ,
@@ -91,12 +90,18 @@ pub const RunCmd = struct {
91
90
.help = "Enable the accountsdb manager during fuzzer." ,
92
91
},
93
92
},
94
- }) ;
93
+ };
95
94
};
96
95
97
96
const Logger = sig .trace .Logger ("accountsdb.fuzz" );
98
97
99
- pub fn run (seed : u64 , args : * std.process.ArgIterator ) ! void {
98
+ pub fn run (
99
+ allocator : std.mem.Allocator ,
100
+ logger : Logger ,
101
+ seed : u64 ,
102
+ fuzz_data_dir : std.fs.Dir ,
103
+ run_cmd : RunCmd ,
104
+ ) ! void {
100
105
var prng_state : std.Random.DefaultPrng = .init (seed );
101
106
const random = prng_state .random ();
102
107
@@ -105,46 +110,13 @@ pub fn run(seed: u64, args: *std.process.ArgIterator) !void {
105
110
const N_ACCOUNTS_MAX : u64 = 100_000 ;
106
111
const N_ACCOUNTS_PER_SLOT = 10 ;
107
112
108
- var gpa_state : std .heap .DebugAllocator (.{
109
- .safety = true ,
110
- }) = .init ;
111
- defer _ = gpa_state .deinit ();
112
- const allocator = gpa_state .allocator ();
113
-
114
- const std_logger : * ChannelPrintLogger = try .init (.{
115
- .allocator = allocator ,
116
- .max_level = .debug ,
117
- .max_buffer = 1 << 20 ,
118
- }, null );
119
- defer std_logger .deinit ();
120
- const logger : Logger = std_logger .logger ("accountsdb.fuzz" );
121
-
122
- const run_cmd : RunCmd = cmd : {
123
- var argv_list : std .ArrayListUnmanaged ([]const u8 ) = .empty ;
124
- defer argv_list .deinit (allocator );
125
- while (args .next ()) | arg | try argv_list .append (allocator , arg );
126
-
127
- const stderr = std .io .getStdErr ();
128
- const stderr_tty = std .io .tty .detectConfig (stderr );
129
- break :cmd try RunCmd .parser .parse (
130
- allocator ,
131
- "fuzz accountsdb" ,
132
- stderr_tty ,
133
- stderr .writer (),
134
- argv_list .items ,
135
- ) orelse return ;
136
- };
137
-
138
113
const maybe_max_slots = run_cmd .max_slots ;
139
114
const non_sequential_slots = run_cmd .non_sequential_slots ;
140
115
const enable_manager = run_cmd .enable_manager ;
141
116
const index_allocation =
142
117
run_cmd .index_allocation orelse
143
118
random .enumValue (RunCmd .IndexAllocation );
144
119
145
- var fuzz_data_dir = try std .fs .cwd ().makeOpenPath (sig .FUZZ_DATA_DIR , .{});
146
- defer fuzz_data_dir .close ();
147
-
148
120
const main_dir_name = "main" ;
149
121
var main_accountsdb_dir = try fuzz_data_dir .makeOpenPath (main_dir_name , .{});
150
122
defer main_accountsdb_dir .close ();
0 commit comments