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