While working on the DevTools profiler, I've noticed that durations are sometimes incorrect. This seems to be vaguely related to high/low priority state updates. Need to track this down more so I'm filing an issue for myself.
advanceTimeBy(5);
          return null;
        }
      }
      const callback = jest.fn();
      advanceTimeBy(5); 
      const renderer = ReactTestRenderer.create(
        <React.unstable_Profiler id="test" onRender={callback}>
          <WithLifecycles />
        </React.unstable_Profiler>,
      );
      advanceTimeBy(15); 
      renderer.update(
        <React.unstable_Profiler id="test" onRender={callback}>
          <WithLifecycles />
        </React.unstable_Profiler>,
      );
      expect(callback).toHaveBeenCalledTimes(2);
      const [mountCall, updateCall] = callback.mock.calls;
      expect(mountCall[1]).toBe('mount');
      expect(mountCall[2]).toBe(8); 
      expect(mountCall[3]).toBe(8); 
      expect(mountCall[4]).toBe(5); 
      expect(mountCall[5]).toBe(13); 
      expect(updateCall[1]).toBe('update');
      expect(updateCall[2]).toBe(15); 
      expect(updateCall[3]).toBe(15);