Developer
Ashutosh Grewal
agrewal@meta.com
Performance
Key patterns and highlights from this developer's activity.
Breakdown of growth, maintenance, and fixes effort over time.
Bugs introduced vs. fixed over time.
Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.
Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.
The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.
Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:
POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json
Request:
{
"startTime": "2025-01-01T00:00:00Z",
"endTime": "2025-12-31T23:59:59Z",
"bucketSize": "BUCKET_SIZE_MONTH",
"groupBy": ["repository_id" | "deliverer_email"]
}
Response:
{
"productivePct": 74,
"maintenancePct": 18,
"wastedPct": 8,
"buckets": [
{
"bucketStart": "2025-01-01T00:00:00Z",
"productive": 4.2,
"maintenance": 1.8,
"wasted": 0.6
}
]
}Latest analyzed commits from this developer.
| Hash | Message | Date | Files |
|---|
Commit activity distribution by hour and day of week. Shows when this developer is most active.
Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.
| Effort |
|---|
| 59441e20 | This commit introduces a **new capability** to read the actual switching mode directly from **hardware**, primarily to aid in latency studies for scale-up switches. It adds a `getSwitchingModeFromHw()` **Thrift handler** to the `AgentHwTestCtrl` service and a platform-agnostic **hardware test utility** (`HwTestSwitchingModeUtils`) that retrieves the `SAI_SWITCH_ATTR_SWITCHING_MODE` attribute from the **SAI hardware layer**. This enhancement allows **Agent tests** (`AgentSwitchingModeTests.cpp`) to verify that the configured switching mode is correctly applied and reflected in the hardware, significantly improving the **testing infrastructure** by enabling direct hardware state validation for critical network devices. While fully implemented for SAI, a stub is provided for the **BCM hardware layer** as this attribute is not supported there. | Mar 27 | 10 | grow |
| f14e8954 | This commit **introduces new hardware tests** to the **FBOSS agent's test suite** for validating network switching modes. It adds `AgentSwitchingModeTests.cpp` to verify the functionality and persistence of **cut-through and store-and-forward modes** across warm boots, as well as correct toggling between them. This **new test development** also includes adding `CUT_THROUGH` as a `ProductionFeature` in `production_features.thrift` and updating the CMake and Buck build configurations. These tests are crucial for **evaluating latency reduction** in scale-up switches, specifically targeting ASICs that support `CUT_THROUGH_FORWARDING`. | Mar 27 | 4 | maint |
| 5f94641d | This commit performs a **documentation refactoring** by relocating the `MULTIPLANE_TESTING.md` file. The document, which details multiplane testing procedures, has been moved from `fboss/fsdb/tests/utils/` to the more appropriate `host_reach_tracker/` directory. This change clarifies that the testing documentation is specifically relevant to the **Host Reach Tracker** project, not the FSDB subsystem. The move improves the **organizational structure** of the project's documentation, enhancing discoverability and logical grouping of related content for the `host_reach_tracker` component. | Mar 26 | 2 | – |
| 638171d7 | This commit **fixes a bug** in the **multi-plane testing instructions** for **FSDB**. Previously, starting a second FSDB instance with `--readConfigFile=false` prevented it from loading necessary ID paths, causing it to reject patch type subscriptions used by `FsdbCowStateSubManager`. By **removing this flag**, the FSDB instance now correctly reads its default configuration, enabling proper handling of these subscriptions and ensuring **multi-plane testing** operates as intended. | Mar 26 | 2 | – |
| f98e5f40 | This commit **implements a new capability** to **dynamically configure the packet forwarding mode** (e.g., cut-through or store-and-forward) on network switches at runtime. It establishes the **config-to-hardware propagation pipeline** within the **SAI hardware agent**, specifically impacting the `SaiSwitch` and `SaiSwitchManager` components. The `SaiSwitch` now detects changes in `cfg::PacketForwardingMode` and invokes `SaiSwitchManager::setSwitchingMode`, which translates the configuration to the corresponding SAI attribute and applies it to the underlying hardware. This **enhancement** allows for **runtime adjustment of switch latency characteristics**, aiming to reduce latency for scale-up switches. | Mar 25 | 3 | grow |
| 8e082b1e | This commit introduces a **new capability** by adding the `SAI_SWITCH_ATTR_SWITCHING_MODE` attribute to the **SAI Switch API**, enabling control over the **ASIC's packet forwarding mechanism** (store-and-forward vs. cut-through). This foundational change in the **hardware abstraction layer** is crucial for studying and optimizing network latency in scale-up switches. Support for this attribute is integrated across the **SAI ecosystem**, including its definition in `SwitchApi.h`, implementation in the **Fake SAI** for simulation, registration in the **SAI Tracer**, and proper accommodation during **platform initialization** in `SaiPlatform.cpp` and `SaiPhyRetimer.cpp`. Unit tests in `SwitchApiTest.cpp` validate the attribute's functionality. | Mar 25 | 7 | grow |
| 419f6a41 | This commit introduces the **`CUT_THROUGH_FORWARDING`** feature flag to the `HwAsic::Feature` enum, allowing the system to query and manage this hardware capability. It **enables cut-through forwarding** specifically for the **Tomahawk5 ASIC** by updating its `isSupported` method to return true, leveraging `SAI_SWITCH_ATTR_SWITCHING_MODE`, while explicitly disabling it for all other 18 ASIC types. This **new capability** is a foundational step within the **hardware abstraction layer** to study and potentially reduce latency in scale-up switches. The change impacts various ASIC-specific feature detection methods, paving the way for future performance optimizations. | Mar 25 | 20 | grow |
| 63ea110e | This commit introduces the **PacketForwardingMode** concept, defining an enum (STORE_AND_FORWARD, CUT_THROUGH) in `switch_config.thrift` and adding a corresponding state field to `switch_state.thrift`. This **new capability** establishes the foundational layer for **cut-through forwarding support**, which is crucial for reducing latency in scale-up switches. The **FBOSS agent's state management** is updated to handle this new setting, including getter/setter methods in `SwitchSettings.h` and logic in `ApplyThriftConfig.cpp` to process configuration changes. Furthermore, the **FSDB thriftpath** is regenerated to enable pub/sub access to this new `packetForwardingMode` field, ensuring it's fully integrated into the system's monitoring and configuration pipeline. | Mar 25 | 6 | grow |
| a604b814 | This commit **fixes a build failure** within the **`fboss/lib/thrift_service_client`** library by adding the essential `#include <gflags/gflags_declare.h>` to `ConnectionOptions.h`. The absence of this include previously caused compilation errors, specifically on `aarch64 opt` builds, due to the undeclared `gflags` macros like `DECLARE_string`. To fully address this, the `BUCK` build file for the `thrift_service_client` module was also updated to explicitly export `gflags` as an external dependency. This ensures the proper declaration of `gflags` macros and **resolves critical compilation issues** for the module. | Mar 24 | 2 | maint |
| abbe30e3 | This commit **updates the testing documentation** by adding a new "Profile Filtering" section to the `docs/docs/testing/test_categories.md` file. It explains the **`--profile` tag convention** (`t` for traditional, `s` for scale-up) for **T0/T1/T2 test categories**, detailing how to execute **scale-up tests** using `--profile=s`. This **documentation enhancement** clarifies the process for running profile-filtered tests and emphasizes the requirement to tag new test patterns appropriately, improving developer understanding and adherence to testing standards. | Mar 13 | 1 | maint |
| 79dcbad4 | This commit **enhances the test infrastructure** by introducing **scale-up profile tags** (`s`) to the **T0 agent hardware and SAI test configuration files**. Specifically, `fboss/oss/hw_sanity_tests/t0_agent_hw_tests.conf` and `fboss/oss/hw_sanity_tests/t0_sai_tests.conf` are updated to categorize tests relevant for scale-up scenarios. This **new capability** allows for the selective execution of scale-up related tests using the `--profile=s` flag, improving efficiency during validation. While T0-only patterns like `*MacLearning*` remain untagged, a new `*AgentEmpty*` pattern for init sanity is introduced and marked for scale-up profiles. This change streamlines test execution and improves the relevance of test runs for different deployment profiles. | Mar 13 | 2 | grow |
| b521eff6 | This commit **updates the configuration** for **T2 agent hardware tests** and **SAI tests** by introducing `s` (scale-up) and `t` (traditional) profile tags. It annotates existing test patterns in `fboss/oss/hw_sanity_tests/t2_agent_hw_tests.conf` and `fboss/oss/hw_sanity_tests/t2_sai_tests.conf` with these tags, ensuring traditional patterns default to `t` and scale-up patterns receive `s`. Additionally, new discard counter patterns are added as scale-up-only (`s`), while specific scale-out-only SAI tests are explicitly marked as `t`-only. This **maintenance** change enables more precise test selection and execution based on hardware profiles, improving test relevance for different T2 environments. | Mar 13 | 2 | maint |
| 77892e39 | This commit introduces a **new capability** to the **`run_test.py` script** by adding a `--profile` command-line argument. This argument, when used in conjunction with `--filter_file`, enables **selective filtering of tests** from the configuration file based on specified profile tags. This enhancement allows users to efficiently execute specific subsets of tests, such as those designated for **scale-up scenarios**, without modifying the filter file itself. The change is fully **backward compatible**, ensuring existing test execution workflows remain unaffected when the `--profile` argument is omitted. | Mar 13 | 1 | grow |
| 071e137b | This commit **refactors** the **hardware sanity test configurations** for T1 platforms by introducing and applying "scale-up" profile tags. It **moves the `*IngressBuffer*` test pattern** from T2 to `t1_agent_hw_tests.conf`, aligning it with the `*Pfc*` feature it supports and ensuring its execution within T1 profiles. Additionally, a new **`*NetworkAIQos*` pattern is added as a scale-up-only test**, replacing a broader `*Qos*` match and refining the scope of QoS testing. These changes improve the **categorization and targeted execution of tests** within `fboss/oss/hw_sanity_tests/t1_agent_hw_tests.conf` and `fboss/oss/hw_sanity_tests/t1_sai_tests.conf`, enhancing the relevance of test runs for specific hardware and scale-up scenarios. | Mar 13 | 3 | maint |
| bd7578ab | This commit performs **maintenance and refactoring** by **cleaning up and refining gtest filter patterns** across various hardware test configurations. It **removes dead or misplaced patterns** from **T1 and T2 agent hardware test configurations** (`t1_agent_hw_tests.conf`, `t2_agent_hw_tests.conf`), addressing coverage gaps by updating `*HwIngressBufferTest*` to `*IngressBuffer*` for a renamed class. Additionally, patterns like `*HwInPause*` are **relocated to T1 SAI tests** (`t1_sai_tests.conf`), and `*RouteNeighbor*` is broadened to `*HwRoute*` in `t0_sai_tests.conf` to improve **test coverage** for related hardware route tests. The **documentation** in `agent_hw_test.md` is also updated to reflect these pattern changes and correct a typo, ensuring accurate descriptions for the **agent hardware test suite**. | Mar 10 | 5 | maint |
| f8404aea | This commit provides a **bug fix** by correcting a case-sensitivity issue in the gtest filter for **PRBS tests** within the **T0 agent hardware tests configuration**. Previously, the `*PRBS*` filter failed to match `AgentPrbsTest` due to gtest's case-sensitive globbing, preventing these critical tests from running. The filter in `fboss/oss/hw_sanity_tests/t0_agent_hw_tests.conf` has been updated to `*Prbs*` to correctly identify and enable the **PRBS tests**, ensuring proper execution and improved test coverage for the T0 agent. Additionally, the **testing documentation** in `docs/docs/testing/agent_hw_test.md` has been updated to reflect this correct filter string. | Mar 10 | 2 | maint |
| b593516b | This commit performs **maintenance cleanup** by **removing several dead gtest filter patterns** from the **`t0_agent_hw_tests.conf` configuration file**. Patterns such as `L2ClassID`, `HwRoute`, `HwTest_PROFILE`, and `FlextPort` are eliminated because they do not match any existing test fixtures or methods within the `sai_agent_hw_test` binary, making them effectively useless. This change improves the clarity and accuracy of the **test configuration** by removing irrelevant entries that could cause confusion. Additionally, the **`agent_hw_test.md` documentation** is updated to remove references to these defunct patterns, ensuring consistency and reducing cruft in the testing documentation. | Mar 10 | 2 | maint |
| 1d09e0f4 | This commit **refactors** and **cleans up test code** within the **FBOSS Agent hardware test suite**. It **simplifies calls** to the `verifyAcrossWarmBoots` utility function by migrating from a verbose two-parameter invocation (e.g., `verifyAcrossWarmBoots([] {}, verify)`) to a more concise one-parameter overload (`verifyAcrossWarmBoots(verify)`). This change removes unnecessary boilerplate across several hardware test files, including `AgentHwUdfTests.cpp`, `AgentMirroringScaleTests.cpp`, `AgentOlympicQosSchedulerTests.cpp`, `AgentRouteTests.cpp`, `AgentVoqSwitchTests.cpp`, and `AgentVoqSwitchWithFabricPortsTests.cpp`. The update improves the **readability and maintainability** of these tests without altering their functional behavior or test coverage. | Mar 6 | 6 | maint |
| 8f5d15e0 | This commit **refactors test code** within the **`AgentFabricSwitchTests`** by migrating calls to `verifyAcrossWarmBoots`. It replaces verbose two-parameter calls, `verifyAcrossWarmBoots([] {}, verify)`, with the more concise one-parameter overload, `verifyAcrossWarmBoots(verify)`. This **simplifies the test suite's implementation** by leveraging an existing utility function overload that internally handles the empty setup lambda, thereby **reducing boilerplate** and improving readability of the **hardware agent tests**. The change has no impact on test functionality or product behavior. | Mar 6 | 1 | maint |
| 36da926c | This commit **refactors the build system** by **extracting ARS/Flowlet tests** into a new, dedicated library named `agent_ars_test_src`. This change primarily affects the **`fboss/agent` test infrastructure**, specifically the `agent_hw_test_src` module, by moving relevant source files and their build definitions from `cmake/AgentTestAgentHwTests.cmake` and `fboss/agent/test/agent_hw_tests/BUCK`. The main goal is to **optimize build times** for these specific tests, enabling faster iteration. To ensure **backward compatibility**, the newly created `agent_ars_test_src` library is added as a dependency of the original `agent_hw_test_src`. | Mar 2 | 2 | maint |
This commit introduces a **new capability** to read the actual switching mode directly from **hardware**, primarily to aid in latency studies for scale-up switches. It adds a `getSwitchingModeFromHw()` **Thrift handler** to the `AgentHwTestCtrl` service and a platform-agnostic **hardware test utility** (`HwTestSwitchingModeUtils`) that retrieves the `SAI_SWITCH_ATTR_SWITCHING_MODE` attribute from the **SAI hardware layer**. This enhancement allows **Agent tests** (`AgentSwitchingModeTests.cpp`) to verify that the configured switching mode is correctly applied and reflected in the hardware, significantly improving the **testing infrastructure** by enabling direct hardware state validation for critical network devices. While fully implemented for SAI, a stub is provided for the **BCM hardware layer** as this attribute is not supported there.
This commit **introduces new hardware tests** to the **FBOSS agent's test suite** for validating network switching modes. It adds `AgentSwitchingModeTests.cpp` to verify the functionality and persistence of **cut-through and store-and-forward modes** across warm boots, as well as correct toggling between them. This **new test development** also includes adding `CUT_THROUGH` as a `ProductionFeature` in `production_features.thrift` and updating the CMake and Buck build configurations. These tests are crucial for **evaluating latency reduction** in scale-up switches, specifically targeting ASICs that support `CUT_THROUGH_FORWARDING`.
This commit performs a **documentation refactoring** by relocating the `MULTIPLANE_TESTING.md` file. The document, which details multiplane testing procedures, has been moved from `fboss/fsdb/tests/utils/` to the more appropriate `host_reach_tracker/` directory. This change clarifies that the testing documentation is specifically relevant to the **Host Reach Tracker** project, not the FSDB subsystem. The move improves the **organizational structure** of the project's documentation, enhancing discoverability and logical grouping of related content for the `host_reach_tracker` component.
This commit **fixes a bug** in the **multi-plane testing instructions** for **FSDB**. Previously, starting a second FSDB instance with `--readConfigFile=false` prevented it from loading necessary ID paths, causing it to reject patch type subscriptions used by `FsdbCowStateSubManager`. By **removing this flag**, the FSDB instance now correctly reads its default configuration, enabling proper handling of these subscriptions and ensuring **multi-plane testing** operates as intended.
This commit **implements a new capability** to **dynamically configure the packet forwarding mode** (e.g., cut-through or store-and-forward) on network switches at runtime. It establishes the **config-to-hardware propagation pipeline** within the **SAI hardware agent**, specifically impacting the `SaiSwitch` and `SaiSwitchManager` components. The `SaiSwitch` now detects changes in `cfg::PacketForwardingMode` and invokes `SaiSwitchManager::setSwitchingMode`, which translates the configuration to the corresponding SAI attribute and applies it to the underlying hardware. This **enhancement** allows for **runtime adjustment of switch latency characteristics**, aiming to reduce latency for scale-up switches.
This commit introduces a **new capability** by adding the `SAI_SWITCH_ATTR_SWITCHING_MODE` attribute to the **SAI Switch API**, enabling control over the **ASIC's packet forwarding mechanism** (store-and-forward vs. cut-through). This foundational change in the **hardware abstraction layer** is crucial for studying and optimizing network latency in scale-up switches. Support for this attribute is integrated across the **SAI ecosystem**, including its definition in `SwitchApi.h`, implementation in the **Fake SAI** for simulation, registration in the **SAI Tracer**, and proper accommodation during **platform initialization** in `SaiPlatform.cpp` and `SaiPhyRetimer.cpp`. Unit tests in `SwitchApiTest.cpp` validate the attribute's functionality.
This commit introduces the **`CUT_THROUGH_FORWARDING`** feature flag to the `HwAsic::Feature` enum, allowing the system to query and manage this hardware capability. It **enables cut-through forwarding** specifically for the **Tomahawk5 ASIC** by updating its `isSupported` method to return true, leveraging `SAI_SWITCH_ATTR_SWITCHING_MODE`, while explicitly disabling it for all other 18 ASIC types. This **new capability** is a foundational step within the **hardware abstraction layer** to study and potentially reduce latency in scale-up switches. The change impacts various ASIC-specific feature detection methods, paving the way for future performance optimizations.
This commit introduces the **PacketForwardingMode** concept, defining an enum (STORE_AND_FORWARD, CUT_THROUGH) in `switch_config.thrift` and adding a corresponding state field to `switch_state.thrift`. This **new capability** establishes the foundational layer for **cut-through forwarding support**, which is crucial for reducing latency in scale-up switches. The **FBOSS agent's state management** is updated to handle this new setting, including getter/setter methods in `SwitchSettings.h` and logic in `ApplyThriftConfig.cpp` to process configuration changes. Furthermore, the **FSDB thriftpath** is regenerated to enable pub/sub access to this new `packetForwardingMode` field, ensuring it's fully integrated into the system's monitoring and configuration pipeline.
This commit **fixes a build failure** within the **`fboss/lib/thrift_service_client`** library by adding the essential `#include <gflags/gflags_declare.h>` to `ConnectionOptions.h`. The absence of this include previously caused compilation errors, specifically on `aarch64 opt` builds, due to the undeclared `gflags` macros like `DECLARE_string`. To fully address this, the `BUCK` build file for the `thrift_service_client` module was also updated to explicitly export `gflags` as an external dependency. This ensures the proper declaration of `gflags` macros and **resolves critical compilation issues** for the module.
This commit **updates the testing documentation** by adding a new "Profile Filtering" section to the `docs/docs/testing/test_categories.md` file. It explains the **`--profile` tag convention** (`t` for traditional, `s` for scale-up) for **T0/T1/T2 test categories**, detailing how to execute **scale-up tests** using `--profile=s`. This **documentation enhancement** clarifies the process for running profile-filtered tests and emphasizes the requirement to tag new test patterns appropriately, improving developer understanding and adherence to testing standards.
This commit **enhances the test infrastructure** by introducing **scale-up profile tags** (`s`) to the **T0 agent hardware and SAI test configuration files**. Specifically, `fboss/oss/hw_sanity_tests/t0_agent_hw_tests.conf` and `fboss/oss/hw_sanity_tests/t0_sai_tests.conf` are updated to categorize tests relevant for scale-up scenarios. This **new capability** allows for the selective execution of scale-up related tests using the `--profile=s` flag, improving efficiency during validation. While T0-only patterns like `*MacLearning*` remain untagged, a new `*AgentEmpty*` pattern for init sanity is introduced and marked for scale-up profiles. This change streamlines test execution and improves the relevance of test runs for different deployment profiles.
This commit **updates the configuration** for **T2 agent hardware tests** and **SAI tests** by introducing `s` (scale-up) and `t` (traditional) profile tags. It annotates existing test patterns in `fboss/oss/hw_sanity_tests/t2_agent_hw_tests.conf` and `fboss/oss/hw_sanity_tests/t2_sai_tests.conf` with these tags, ensuring traditional patterns default to `t` and scale-up patterns receive `s`. Additionally, new discard counter patterns are added as scale-up-only (`s`), while specific scale-out-only SAI tests are explicitly marked as `t`-only. This **maintenance** change enables more precise test selection and execution based on hardware profiles, improving test relevance for different T2 environments.
This commit introduces a **new capability** to the **`run_test.py` script** by adding a `--profile` command-line argument. This argument, when used in conjunction with `--filter_file`, enables **selective filtering of tests** from the configuration file based on specified profile tags. This enhancement allows users to efficiently execute specific subsets of tests, such as those designated for **scale-up scenarios**, without modifying the filter file itself. The change is fully **backward compatible**, ensuring existing test execution workflows remain unaffected when the `--profile` argument is omitted.
This commit **refactors** the **hardware sanity test configurations** for T1 platforms by introducing and applying "scale-up" profile tags. It **moves the `*IngressBuffer*` test pattern** from T2 to `t1_agent_hw_tests.conf`, aligning it with the `*Pfc*` feature it supports and ensuring its execution within T1 profiles. Additionally, a new **`*NetworkAIQos*` pattern is added as a scale-up-only test**, replacing a broader `*Qos*` match and refining the scope of QoS testing. These changes improve the **categorization and targeted execution of tests** within `fboss/oss/hw_sanity_tests/t1_agent_hw_tests.conf` and `fboss/oss/hw_sanity_tests/t1_sai_tests.conf`, enhancing the relevance of test runs for specific hardware and scale-up scenarios.
This commit performs **maintenance and refactoring** by **cleaning up and refining gtest filter patterns** across various hardware test configurations. It **removes dead or misplaced patterns** from **T1 and T2 agent hardware test configurations** (`t1_agent_hw_tests.conf`, `t2_agent_hw_tests.conf`), addressing coverage gaps by updating `*HwIngressBufferTest*` to `*IngressBuffer*` for a renamed class. Additionally, patterns like `*HwInPause*` are **relocated to T1 SAI tests** (`t1_sai_tests.conf`), and `*RouteNeighbor*` is broadened to `*HwRoute*` in `t0_sai_tests.conf` to improve **test coverage** for related hardware route tests. The **documentation** in `agent_hw_test.md` is also updated to reflect these pattern changes and correct a typo, ensuring accurate descriptions for the **agent hardware test suite**.
This commit provides a **bug fix** by correcting a case-sensitivity issue in the gtest filter for **PRBS tests** within the **T0 agent hardware tests configuration**. Previously, the `*PRBS*` filter failed to match `AgentPrbsTest` due to gtest's case-sensitive globbing, preventing these critical tests from running. The filter in `fboss/oss/hw_sanity_tests/t0_agent_hw_tests.conf` has been updated to `*Prbs*` to correctly identify and enable the **PRBS tests**, ensuring proper execution and improved test coverage for the T0 agent. Additionally, the **testing documentation** in `docs/docs/testing/agent_hw_test.md` has been updated to reflect this correct filter string.
This commit performs **maintenance cleanup** by **removing several dead gtest filter patterns** from the **`t0_agent_hw_tests.conf` configuration file**. Patterns such as `L2ClassID`, `HwRoute`, `HwTest_PROFILE`, and `FlextPort` are eliminated because they do not match any existing test fixtures or methods within the `sai_agent_hw_test` binary, making them effectively useless. This change improves the clarity and accuracy of the **test configuration** by removing irrelevant entries that could cause confusion. Additionally, the **`agent_hw_test.md` documentation** is updated to remove references to these defunct patterns, ensuring consistency and reducing cruft in the testing documentation.
This commit **refactors** and **cleans up test code** within the **FBOSS Agent hardware test suite**. It **simplifies calls** to the `verifyAcrossWarmBoots` utility function by migrating from a verbose two-parameter invocation (e.g., `verifyAcrossWarmBoots([] {}, verify)`) to a more concise one-parameter overload (`verifyAcrossWarmBoots(verify)`). This change removes unnecessary boilerplate across several hardware test files, including `AgentHwUdfTests.cpp`, `AgentMirroringScaleTests.cpp`, `AgentOlympicQosSchedulerTests.cpp`, `AgentRouteTests.cpp`, `AgentVoqSwitchTests.cpp`, and `AgentVoqSwitchWithFabricPortsTests.cpp`. The update improves the **readability and maintainability** of these tests without altering their functional behavior or test coverage.
This commit **refactors test code** within the **`AgentFabricSwitchTests`** by migrating calls to `verifyAcrossWarmBoots`. It replaces verbose two-parameter calls, `verifyAcrossWarmBoots([] {}, verify)`, with the more concise one-parameter overload, `verifyAcrossWarmBoots(verify)`. This **simplifies the test suite's implementation** by leveraging an existing utility function overload that internally handles the empty setup lambda, thereby **reducing boilerplate** and improving readability of the **hardware agent tests**. The change has no impact on test functionality or product behavior.
This commit **refactors the build system** by **extracting ARS/Flowlet tests** into a new, dedicated library named `agent_ars_test_src`. This change primarily affects the **`fboss/agent` test infrastructure**, specifically the `agent_hw_test_src` module, by moving relevant source files and their build definitions from `cmake/AgentTestAgentHwTests.cmake` and `fboss/agent/test/agent_hw_tests/BUCK`. The main goal is to **optimize build times** for these specific tests, enabling faster iteration. To ensure **backward compatibility**, the newly created `agent_ars_test_src` library is added as a dependency of the original `agent_hw_test_src`.