nighthawk icon indicating copy to clipboard operation
nighthawk copied to clipboard

Improve Nighthawk's check_format.py

Open mum4k opened this issue 3 years ago • 0 comments

Nighthawk's check_format.py is reusing the Envoy version.

Envoy includes a set of Envoy specific checks that cannot be applied in the Nighthawk codebase without code changes upstream. As an example, the tool checks that the TRY_ASSERT_MAIN_THREAD is used instead of a raw try, yet the TRY_ASSERT_MAIN_THREAD cannot be used in Nighthawk's code in its current form due to namespace issues.

Nighthawk was getting around this by running check_format.py with an absolute path, so checks like this excluded these Envoy specific verifications. This however was a dependence on an undocumented behavior r even a bug.

Envoy modified their check_format.py in https://github.com/envoyproxy/envoy/pull/20108, making it impossible to execute with absolute paths.

As a workaround we are now executing the script with a path like ./../nighthawk which again allows bypassing of these Envoy specific checks.

We should find a permanent solutions, which could be either of:

  1. standardize a way to exclude checks in Envoy's check_format.py; or
  2. modify code as needed to allow Nighthawk to fully comply with the Envoy specific checks.

mum4k avatar Mar 08 '22 04:03 mum4k