If I'm running a benchmark and I get the current block number from inside the benchmark code (i.e. in the setup before I actually call the call I'm trying to benchmark) using frame_system::Pallet::<T>::block_number()
the block number I get is 0.
Then within call I'm trying to benchmark I get a block number of 1.
I'm assuming the benchmark setup code is run like / after genesis, in block 0, and then the chain progresses to 1 for the calls?
Not exactly clear why this is the case if I haven't told it to progress, especially because you do have to explicitly tell the TestExternalities
in a test that you are at block 1.