@@ -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
@@ -44,7 +43,7 @@ pub const TrackedAccount = struct {
44
43
pub const RunCmd = struct {
45
44
max_slots : ? Slot ,
46
45
47
- pub const parser = cli .Parser (RunCmd , .{
46
+ pub const cmd_info : cli .CommandInfo (RunCmd ) = .{
48
47
.help = .{
49
48
.short = "Fuzz accountsdb." ,
50
49
.long = null ,
@@ -59,12 +58,18 @@ pub const RunCmd = struct {
59
58
.help = "The number of slots number which, when surpassed, will exit the fuzzer." ,
60
59
},
61
60
},
62
- }) ;
61
+ };
63
62
};
64
63
65
64
const Logger = sig .trace .Logger ("accountsdb.fuzz" );
66
65
67
- pub fn run (seed : u64 , args : * std.process.ArgIterator ) ! void {
66
+ pub fn run (
67
+ allocator : std.mem.Allocator ,
68
+ logger : Logger ,
69
+ seed : u64 ,
70
+ fuzz_data_dir : std.fs.Dir ,
71
+ run_cmd : RunCmd ,
72
+ ) ! void {
68
73
var prng_state : std.Random.DefaultPrng = .init (seed );
69
74
const random = prng_state .random ();
70
75
@@ -73,41 +78,8 @@ pub fn run(seed: u64, args: *std.process.ArgIterator) !void {
73
78
const N_ACCOUNTS_MAX : u64 = 100_000 ;
74
79
const N_ACCOUNTS_PER_SLOT = 10 ;
75
80
76
- var gpa_state : std .heap .DebugAllocator (.{
77
- .safety = true ,
78
- }) = .init ;
79
- defer _ = gpa_state .deinit ();
80
- const allocator = gpa_state .allocator ();
81
-
82
- const std_logger : * ChannelPrintLogger = try .init (.{
83
- .allocator = allocator ,
84
- .max_level = .debug ,
85
- .max_buffer = 1 << 20 ,
86
- }, null );
87
- defer std_logger .deinit ();
88
- const logger : Logger = std_logger .logger ("accountsdb.fuzz" );
89
-
90
- const run_cmd : RunCmd = cmd : {
91
- var argv_list : std .ArrayListUnmanaged ([]const u8 ) = .empty ;
92
- defer argv_list .deinit (allocator );
93
- while (args .next ()) | arg | try argv_list .append (allocator , arg );
94
-
95
- const stderr = std .io .getStdErr ();
96
- const stderr_tty = std .io .tty .detectConfig (stderr );
97
- break :cmd try RunCmd .parser .parse (
98
- allocator ,
99
- "fuzz accountsdb" ,
100
- stderr_tty ,
101
- stderr .writer (),
102
- argv_list .items ,
103
- ) orelse return ;
104
- };
105
-
106
81
const maybe_max_slots = run_cmd .max_slots ;
107
82
108
- var fuzz_data_dir = try std .fs .cwd ().makeOpenPath (sig .FUZZ_DATA_DIR , .{});
109
- defer fuzz_data_dir .close ();
110
-
111
83
const main_dir_name = "main" ;
112
84
var main_accountsdb_dir = try fuzz_data_dir .makeOpenPath (main_dir_name , .{});
113
85
defer main_accountsdb_dir .close ();
@@ -128,9 +100,6 @@ pub fn run(seed: u64, args: *std.process.ArgIterator) !void {
128
100
};
129
101
};
130
102
131
- var last_full_snapshot_validated_slot : Slot = 0 ;
132
- var last_inc_snapshot_validated_slot : Slot = 0 ;
133
-
134
103
const use_disk = random .boolean ();
135
104
logger .info ().logf ("use disk: {}" , .{use_disk });
136
105
var accounts_db : AccountsDB = try .init (.{
@@ -191,6 +160,8 @@ pub fn run(seed: u64, args: *std.process.ArgIterator) !void {
191
160
}));
192
161
}
193
162
163
+ var last_full_snapshot_validated_slot : Slot = 0 ;
164
+ var last_inc_snapshot_validated_slot : Slot = 0 ;
194
165
var largest_rooted_slot : Slot = 0 ;
195
166
var slot : Slot = 0 ;
196
167
0 commit comments