envoyproxy/envoy

integration tests should use simulated time

開放

#4,160 建立於 2018年8月15日

 (12 則留言) (0 個反應) (0 位負責人)C++ (5,373 個分叉)batch import
help wantedtech debt

倉庫指標

星標
 (27,997 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Description:

A slow testing environment causes test failures and flakes, such as the one described in https://github.com/envoyproxy/envoy/issues/4135. It also makes it hard to run tests under a debugger, which, in addition to helping to debug tests, is a strategy I use sometimes to learn code.

My feeling is that the root of this problem (and others) is singleton patterns like: ProdMonotonicTimeSource::instance_

In the past I've used strategies where these get passed downward as the world gets constructed, so singletons are never referenced in code that needs to be tested (or even exist, usually).

My hope is that injecting MonotonicTime refs into key classes in the system will eliminate the need to reference singletons deeply.

貢獻者指南