Skip to content

Re-sync with internal repository#408

Merged
paulcruz74 merged 1 commit into
mainfrom
fixup-T221801669-main
Apr 22, 2025
Merged

Re-sync with internal repository#408
paulcruz74 merged 1 commit into
mainfrom
fixup-T221801669-main

Conversation

@facebook-github-bot

Copy link
Copy Markdown
Contributor

The internal and external repositories are out of sync. This Pull Request attempts to brings them back in sync by patching the GitHub repository. Please carefully review this patch. You must disable ShipIt for your project in order to merge this pull request. DO NOT IMPORT this pull request. Instead, merge it directly on GitHub using the MERGE BUTTON. Re-enable ShipIt after merging.

The internal and external repositories are out of sync. This Pull Request attempts to brings them back in sync by patching the GitHub repository. Please carefully review this patch. You must disable ShipIt for your project in order to merge this pull request. DO NOT IMPORT this pull request. Instead, merge it directly on GitHub using the MERGE BUTTON. Re-enable ShipIt after merging.
@paulcruz74 paulcruz74 force-pushed the fixup-T221801669-main branch from f3ba0c7 to 8feacf1 Compare April 22, 2025 20:57
@paulcruz74 paulcruz74 merged commit 6c0c241 into main Apr 22, 2025
anna-nexthop added a commit to nexthop-ai/fboss that referenced this pull request Feb 3, 2026
## Summary

Simplify the command-line interface for run_test.py by
removing redundant options and consolidating related functionality.

## Changes

### Removed Options
- Remove --sai-bin and --hw-agent-bin-path option (install WIP binaries in the absolute path instead)
- Remove --asic option (consolidated into --enable-production-features)

### Updated Options
- Consolidate --enable-production-features to take ASIC as argument
instead of being a boolean flag
- Update all test binaries to use absolute paths (/opt/fboss/bin/*)

### Bug Fixes
- Fix typo: producition_features -> production_features

### Documentation
- Update documentation with simplified command examples
- Add test configuration variables documentation
- Simplify T0/T1/T2 test examples in documentation

## Testing

### Integration Test Results

**Device:** fboss101
**Build ID:** 23679
**Test Suite:** 11 targeted integration tests
**Results:** ✅ **11/11 PASSED (100%)**

<details>
<summary>Click to expand full test results</summary>

```
=========================================
Starting Integration Tests for PR facebook#408
DUT: fboss101
Results Directory: /tmp/pr408_integration_results_20260203_155518
=========================================

========================================
Test 1: Verify --enable-production-features takes ASIC argument
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1 | grep -A3 "enable-production-features"'
========================================
✓ PASSED

Output:
                             [--enable-production-features ASIC]
                             [--platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]]
                             [--agent-run-mode [{mono,multi_switch}]]
                             [--num-npus {1,2}]
--
  --enable-production-features ASIC
                        Enable filtering by production features for the
                        specified ASIC
  --platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]

========================================
Test 2: Test --enable-production-features with valid ASIC (tomahawk5)
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 30 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features tomahawk5 2>&1 | tail -10'
========================================
✓ PASSED

Output:
  VerifyPortRateTraffic/1  # GetParam() = 100000
  VerifyPortRateTraffic/2  # GetParam() = 200000
  VerifyPortRateTraffic/3  # GetParam() = 400000
test/AgentHwPtpTcProvisionTests.
  VerifyPtpTcDelayRequest/TWENTYFIVEG  # GetParam() = 25000
  VerifyPtpTcDelayRequest/FIFTYG  # GetParam() = 50000
  VerifyPtpTcDelayRequest/HUNDREDG  # GetParam() = 100000
  VerifyPtpTcDelayRequest/TWOHUNDREDG  # GetParam() = 200000
  VerifyPtpTcDelayRequest/FOURHUNDREDG  # GetParam() = 400000

========================================
Test 3: Test --enable-production-features with invalid ASIC shows error
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 10 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features invalid_asic_xyz 2>&1 || true' | grep "Error: ASIC"
========================================
✓ PASSED

Output:
Error: ASIC 'invalid_asic_xyz' not found in production features file.

========================================
Test 4: Verify --asic option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-asic"
========================================
✓ PASSED

Output:
0

========================================
Test 5: Verify --sai-bin option is removed from global options
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py --help 2>&1' | grep -c "\-\-sai-bin"
========================================
✓ PASSED

Output:
0

========================================
Test 6: Verify --hw-agent-bin-path option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-hw-agent-bin-path"
========================================
✓ PASSED

Output:
0

========================================
Test 7: Verify run_test.py references absolute paths for test binaries
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py | grep -c "/opt/fboss/bin/sai_test-sai_impl"'
========================================
✓ PASSED

Output:
1

========================================
Test 8: Verify typo fix: production_features (not producition_features)
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py' | grep -c "producition_features"
========================================
✓ PASSED

Output:
0

========================================
Test 9: Verify run_test.py has valid Python syntax
Command: ssh fboss101 -c 'sudo cp /opt/fboss/bin/run_test.py /tmp/run_test_syntax_check.py && python3 -m py_compile /tmp/run_test_syntax_check.py && echo "Syntax check passed" && sudo rm -f /tmp/run_test_syntax_check.py*'
========================================
✓ PASSED

Output:
Syntax check passed

========================================
Test 10: Verify run_test.py can be imported as module
Command: ssh fboss101 -c 'cd /opt/fboss/bin && python3 -c "import sys; sys.path.insert(0, \".\"); import run_test" && echo "Import successful"'
========================================
✓ PASSED

Output:
Import successful

========================================
Test 11: Verify --production-features option removed from qsfp subcommand
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py qsfp --help 2>&1' | grep -c "\-\-production-features"
========================================
✓ PASSED

Output:
0

=========================================
Test Summary
=========================================
Total Tests: 11
Passed: 11
Failed: 0
=========================================
Results saved to: /tmp/pr408_integration_results_20260203_155518

All tests passed!
```

</details>

#
# Date:      Tue Feb 3 12:16:27 2026 -0800
#
# On branch anna-nexthop.run_test-simplify
# Changes to be committed:
#	modified:   docs/docs/testing/test_categories.md
#	modified:   fboss/oss/scripts/run_scripts/run_test.py
#
anna-nexthop added a commit to nexthop-ai/fboss that referenced this pull request Feb 4, 2026
## Summary

Simplify the command-line interface for run_test.py by
removing redundant options and consolidating related functionality.

## Changes

### Removed Options
- Remove --sai-bin and --hw-agent-bin-path option (install WIP binaries in the absolute path instead)
- Remove --asic option (consolidated into --enable-production-features)

### Updated Options
- Consolidate --enable-production-features to take ASIC as argument
instead of being a boolean flag
- Update all test binaries to use absolute paths (/opt/fboss/bin/*)

### Bug Fixes
- Fix typo: producition_features -> production_features

### Documentation
- Update documentation with simplified command examples
- Add test configuration variables documentation
- Simplify T0/T1/T2 test examples in documentation

## Testing

### Integration Test Results

**Device:** fboss101
**Build ID:** 23679
**Test Suite:** 11 targeted integration tests
**Results:** ✅ **11/11 PASSED (100%)**

<details>
<summary>Click to expand full test results</summary>

```
=========================================
Starting Integration Tests for PR facebook#408
DUT: fboss101
Results Directory: /tmp/pr408_integration_results_20260203_155518
=========================================

========================================
Test 1: Verify --enable-production-features takes ASIC argument
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1 | grep -A3 "enable-production-features"'
========================================
✓ PASSED

Output:
                             [--enable-production-features ASIC]
                             [--platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]]
                             [--agent-run-mode [{mono,multi_switch}]]
                             [--num-npus {1,2}]
--
  --enable-production-features ASIC
                        Enable filtering by production features for the
                        specified ASIC
  --platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]

========================================
Test 2: Test --enable-production-features with valid ASIC (tomahawk5)
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 30 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features tomahawk5 2>&1 | tail -10'
========================================
✓ PASSED

Output:
  VerifyPortRateTraffic/1  # GetParam() = 100000
  VerifyPortRateTraffic/2  # GetParam() = 200000
  VerifyPortRateTraffic/3  # GetParam() = 400000
test/AgentHwPtpTcProvisionTests.
  VerifyPtpTcDelayRequest/TWENTYFIVEG  # GetParam() = 25000
  VerifyPtpTcDelayRequest/FIFTYG  # GetParam() = 50000
  VerifyPtpTcDelayRequest/HUNDREDG  # GetParam() = 100000
  VerifyPtpTcDelayRequest/TWOHUNDREDG  # GetParam() = 200000
  VerifyPtpTcDelayRequest/FOURHUNDREDG  # GetParam() = 400000

========================================
Test 3: Test --enable-production-features with invalid ASIC shows error
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 10 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features invalid_asic_xyz 2>&1 || true' | grep "Error: ASIC"
========================================
✓ PASSED

Output:
Error: ASIC 'invalid_asic_xyz' not found in production features file.

========================================
Test 4: Verify --asic option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-asic"
========================================
✓ PASSED

Output:
0

========================================
Test 5: Verify --sai-bin option is removed from global options
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py --help 2>&1' | grep -c "\-\-sai-bin"
========================================
✓ PASSED

Output:
0

========================================
Test 6: Verify --hw-agent-bin-path option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-hw-agent-bin-path"
========================================
✓ PASSED

Output:
0

========================================
Test 7: Verify run_test.py references absolute paths for test binaries
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py | grep -c "/opt/fboss/bin/sai_test-sai_impl"'
========================================
✓ PASSED

Output:
1

========================================
Test 8: Verify typo fix: production_features (not producition_features)
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py' | grep -c "producition_features"
========================================
✓ PASSED

Output:
0

========================================
Test 9: Verify run_test.py has valid Python syntax
Command: ssh fboss101 -c 'sudo cp /opt/fboss/bin/run_test.py /tmp/run_test_syntax_check.py && python3 -m py_compile /tmp/run_test_syntax_check.py && echo "Syntax check passed" && sudo rm -f /tmp/run_test_syntax_check.py*'
========================================
✓ PASSED

Output:
Syntax check passed

========================================
Test 10: Verify run_test.py can be imported as module
Command: ssh fboss101 -c 'cd /opt/fboss/bin && python3 -c "import sys; sys.path.insert(0, \".\"); import run_test" && echo "Import successful"'
========================================
✓ PASSED

Output:
Import successful

========================================
Test 11: Verify --production-features option removed from qsfp subcommand
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py qsfp --help 2>&1' | grep -c "\-\-production-features"
========================================
✓ PASSED

Output:
0

=========================================
Test Summary
=========================================
Total Tests: 11
Passed: 11
Failed: 0
=========================================
Results saved to: /tmp/pr408_integration_results_20260203_155518

All tests passed!
```

</details>

#
# Date:      Tue Feb 3 12:16:27 2026 -0800
#
# On branch anna-nexthop.run_test-simplify
# Changes to be committed:
#	modified:   docs/docs/testing/test_categories.md
#	modified:   fboss/oss/scripts/run_scripts/run_test.py
#
raghav-nexthop pushed a commit to nexthop-ai/fboss that referenced this pull request Feb 6, 2026
## Summary

This PR simplifies the command-line interface for run_test.py by
removing redundant options and consolidating related functionality.

## Changes

### Removed Options
- Remove --sai-bin option (use absolute paths instead)
- Remove --asic option (consolidated into --enable-production-features)
- Remove --hw-agent-bin-path option (not needed)

### Updated Options
- Consolidate --enable-production-features to take ASIC as argument
instead of being a boolean flag
- Update all test binaries to use absolute paths (/opt/fboss/bin/*)

### Bug Fixes
- Fix typo: producition_features -> production_features

### Documentation
- Update documentation with simplified command examples
- Add test configuration variables documentation
- Simplify T0/T1/T2 test examples in documentation

## Testing

### Integration Test Results

**Device:** gold411  
**Build ID:** 23679  
**Test Suite:** 11 targeted integration tests  
**Results:** ✅ **11/11 PASSED (100%)**

<details>
<summary>Click to expand full test results</summary>

```
=========================================
Starting Integration Tests for PR facebook#408
DUT: gold411
Results Directory: /tmp/pr408_integration_results_20260203_155518
=========================================

========================================
Test 1: Verify --enable-production-features takes ASIC argument
Command: nh dvc ssh gold411 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1 | grep -A3 "enable-production-features"'
========================================
✓ PASSED

Output:
                             [--enable-production-features ASIC]
                             [--platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]]
                             [--agent-run-mode [{mono,multi_switch}]]
                             [--num-npus {1,2}]
--
  --enable-production-features ASIC
                        Enable filtering by production features for the
                        specified ASIC
  --platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]


========================================
Test 2: Test --enable-production-features with valid ASIC (tomahawk5)
Command: nh dvc ssh gold411 -c 'cd /opt/fboss && timeout 30 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features tomahawk5 2>&1 | tail -10'
========================================
✓ PASSED

Output:
  VerifyPortRateTraffic/1  # GetParam() = 100000
  VerifyPortRateTraffic/2  # GetParam() = 200000
  VerifyPortRateTraffic/3  # GetParam() = 400000
test/AgentHwPtpTcProvisionTests.
  VerifyPtpTcDelayRequest/TWENTYFIVEG  # GetParam() = 25000
  VerifyPtpTcDelayRequest/FIFTYG  # GetParam() = 50000
  VerifyPtpTcDelayRequest/HUNDREDG  # GetParam() = 100000
  VerifyPtpTcDelayRequest/TWOHUNDREDG  # GetParam() = 200000
  VerifyPtpTcDelayRequest/FOURHUNDREDG  # GetParam() = 400000


========================================
Test 3: Test --enable-production-features with invalid ASIC shows error
Command: nh dvc ssh gold411 -c 'cd /opt/fboss && timeout 10 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features invalid_asic_xyz 2>&1 || true' | grep "Error: ASIC"
========================================
✓ PASSED

Output:
Error: ASIC 'invalid_asic_xyz' not found in production features file.


========================================
Test 4: Verify --asic option is removed
Command: nh dvc ssh gold411 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-asic"
========================================
✓ PASSED

Output:
0


========================================
Test 5: Verify --sai-bin option is removed from global options
Command: nh dvc ssh gold411 -c 'cd /opt/fboss && ./bin/run_test.py --help 2>&1' | grep -c "\-\-sai-bin"
========================================
✓ PASSED

Output:
0


========================================
Test 6: Verify --hw-agent-bin-path option is removed
Command: nh dvc ssh gold411 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-hw-agent-bin-path"
========================================
✓ PASSED

Output:
0


========================================
Test 7: Verify run_test.py references absolute paths for test binaries
Command: nh dvc ssh gold411 -c 'sudo cat /opt/fboss/bin/run_test.py | grep -c "/opt/fboss/bin/sai_test-sai_impl"'
========================================
✓ PASSED

Output:
1


========================================
Test 8: Verify typo fix: production_features (not producition_features)
Command: nh dvc ssh gold411 -c 'sudo cat /opt/fboss/bin/run_test.py' | grep -c "producition_features"
========================================
✓ PASSED

Output:
0


========================================
Test 9: Verify run_test.py has valid Python syntax
Command: nh dvc ssh gold411 -c 'sudo cp /opt/fboss/bin/run_test.py /tmp/run_test_syntax_check.py && python3 -m py_compile /tmp/run_test_syntax_check.py && echo "Syntax check passed" && sudo rm -f /tmp/run_test_syntax_check.py*'
========================================
✓ PASSED

Output:
Syntax check passed


========================================
Test 10: Verify run_test.py can be imported as module
Command: nh dvc ssh gold411 -c 'cd /opt/fboss/bin && python3 -c "import sys; sys.path.insert(0, \".\"); import run_test" && echo "Import successful"'
========================================
✓ PASSED

Output:
Import successful


========================================
Test 11: Verify --production-features option removed from qsfp subcommand
Command: nh dvc ssh gold411 -c 'cd /opt/fboss && ./bin/run_test.py qsfp --help 2>&1' | grep -c "\-\-production-features"
========================================
✓ PASSED

Output:
0


=========================================
Test Summary
=========================================
Total Tests: 11
Passed: 11
Failed: 0
=========================================
Results saved to: /tmp/pr408_integration_results_20260203_155518

All tests passed!
```

</details>

## JIRA

https://nexthopai.atlassian.net/browse/NOS-3662
anna-nexthop added a commit to nexthop-ai/fboss that referenced this pull request Feb 23, 2026
Simplify the command-line interface for run_test.py by
removing redundant options and consolidating related functionality.

- Remove --sai-bin and --hw-agent-bin-path option (install WIP binaries in the absolute path instead)
- Remove --asic option (consolidated into --enable-production-features)

- Consolidate --enable-production-features to take ASIC as argument
instead of being a boolean flag
- Update all test binaries to use absolute paths (/opt/fboss/bin/*)

- Fix typo: producition_features -> production_features

- Update documentation with simplified command examples
- Add test configuration variables documentation
- Simplify T0/T1/T2 test examples in documentation

**Device:** fboss101
**Build ID:** 23679
**Test Suite:** 11 targeted integration tests
**Results:** ✅ **11/11 PASSED (100%)**

<details>
<summary>Click to expand full test results</summary>

```
=========================================
Starting Integration Tests for PR facebook#408
DUT: fboss101
Results Directory: /tmp/pr408_integration_results_20260203_155518
=========================================

========================================
Test 1: Verify --enable-production-features takes ASIC argument
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1 | grep -A3 "enable-production-features"'
========================================
✓ PASSED

Output:
                             [--enable-production-features ASIC]
                             [--platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]]
                             [--agent-run-mode [{mono,multi_switch}]]
                             [--num-npus {1,2}]
--
  --enable-production-features ASIC
                        Enable filtering by production features for the
                        specified ASIC
  --platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]

========================================
Test 2: Test --enable-production-features with valid ASIC (tomahawk5)
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 30 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features tomahawk5 2>&1 | tail -10'
========================================
✓ PASSED

Output:
  VerifyPortRateTraffic/1  # GetParam() = 100000
  VerifyPortRateTraffic/2  # GetParam() = 200000
  VerifyPortRateTraffic/3  # GetParam() = 400000
test/AgentHwPtpTcProvisionTests.
  VerifyPtpTcDelayRequest/TWENTYFIVEG  # GetParam() = 25000
  VerifyPtpTcDelayRequest/FIFTYG  # GetParam() = 50000
  VerifyPtpTcDelayRequest/HUNDREDG  # GetParam() = 100000
  VerifyPtpTcDelayRequest/TWOHUNDREDG  # GetParam() = 200000
  VerifyPtpTcDelayRequest/FOURHUNDREDG  # GetParam() = 400000

========================================
Test 3: Test --enable-production-features with invalid ASIC shows error
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 10 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features invalid_asic_xyz 2>&1 || true' | grep "Error: ASIC"
========================================
✓ PASSED

Output:
Error: ASIC 'invalid_asic_xyz' not found in production features file.

========================================
Test 4: Verify --asic option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-asic"
========================================
✓ PASSED

Output:
0

========================================
Test 5: Verify --sai-bin option is removed from global options
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py --help 2>&1' | grep -c "\-\-sai-bin"
========================================
✓ PASSED

Output:
0

========================================
Test 6: Verify --hw-agent-bin-path option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-hw-agent-bin-path"
========================================
✓ PASSED

Output:
0

========================================
Test 7: Verify run_test.py references absolute paths for test binaries
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py | grep -c "/opt/fboss/bin/sai_test-sai_impl"'
========================================
✓ PASSED

Output:
1

========================================
Test 8: Verify typo fix: production_features (not producition_features)
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py' | grep -c "producition_features"
========================================
✓ PASSED

Output:
0

========================================
Test 9: Verify run_test.py has valid Python syntax
Command: ssh fboss101 -c 'sudo cp /opt/fboss/bin/run_test.py /tmp/run_test_syntax_check.py && python3 -m py_compile /tmp/run_test_syntax_check.py && echo "Syntax check passed" && sudo rm -f /tmp/run_test_syntax_check.py*'
========================================
✓ PASSED

Output:
Syntax check passed

========================================
Test 10: Verify run_test.py can be imported as module
Command: ssh fboss101 -c 'cd /opt/fboss/bin && python3 -c "import sys; sys.path.insert(0, \".\"); import run_test" && echo "Import successful"'
========================================
✓ PASSED

Output:
Import successful

========================================
Test 11: Verify --production-features option removed from qsfp subcommand
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py qsfp --help 2>&1' | grep -c "\-\-production-features"
========================================
✓ PASSED

Output:
0

=========================================
Test Summary
=========================================
Total Tests: 11
Passed: 11
Failed: 0
=========================================
Results saved to: /tmp/pr408_integration_results_20260203_155518

All tests passed!
```

</details>
anna-nexthop added a commit to nexthop-ai/fboss that referenced this pull request Feb 23, 2026
Simplify the command-line interface for run_test.py by
removing redundant options and consolidating related functionality.

- Remove --sai-bin and --hw-agent-bin-path option (install WIP binaries in the absolute path instead)
- Remove --asic option (consolidated into --enable-production-features)

- Consolidate --enable-production-features to take ASIC as argument
instead of being a boolean flag
- Update all test binaries to use absolute paths (/opt/fboss/bin/*)

- Fix typo: producition_features -> production_features

- Update documentation with simplified command examples
- Add test configuration variables documentation
- Simplify T0/T1/T2 test examples in documentation

**Device:** fboss101
**Build ID:** 23679
**Test Suite:** 11 targeted integration tests
**Results:** ✅ **11/11 PASSED (100%)**

<details>
<summary>Click to expand full test results</summary>

```
=========================================
Starting Integration Tests for PR facebook#408
DUT: fboss101
Results Directory: /tmp/pr408_integration_results_20260203_155518
=========================================

========================================
Test 1: Verify --enable-production-features takes ASIC argument
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1 | grep -A3 "enable-production-features"'
========================================
✓ PASSED

Output:
                             [--enable-production-features ASIC]
                             [--platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]]
                             [--agent-run-mode [{mono,multi_switch}]]
                             [--num-npus {1,2}]
--
  --enable-production-features ASIC
                        Enable filtering by production features for the
                        specified ASIC
  --platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]

========================================
Test 2: Test --enable-production-features with valid ASIC (tomahawk5)
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 30 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features tomahawk5 2>&1 | tail -10'
========================================
✓ PASSED

Output:
  VerifyPortRateTraffic/1  # GetParam() = 100000
  VerifyPortRateTraffic/2  # GetParam() = 200000
  VerifyPortRateTraffic/3  # GetParam() = 400000
test/AgentHwPtpTcProvisionTests.
  VerifyPtpTcDelayRequest/TWENTYFIVEG  # GetParam() = 25000
  VerifyPtpTcDelayRequest/FIFTYG  # GetParam() = 50000
  VerifyPtpTcDelayRequest/HUNDREDG  # GetParam() = 100000
  VerifyPtpTcDelayRequest/TWOHUNDREDG  # GetParam() = 200000
  VerifyPtpTcDelayRequest/FOURHUNDREDG  # GetParam() = 400000

========================================
Test 3: Test --enable-production-features with invalid ASIC shows error
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 10 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features invalid_asic_xyz 2>&1 || true' | grep "Error: ASIC"
========================================
✓ PASSED

Output:
Error: ASIC 'invalid_asic_xyz' not found in production features file.

========================================
Test 4: Verify --asic option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-asic"
========================================
✓ PASSED

Output:
0

========================================
Test 5: Verify --sai-bin option is removed from global options
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py --help 2>&1' | grep -c "\-\-sai-bin"
========================================
✓ PASSED

Output:
0

========================================
Test 6: Verify --hw-agent-bin-path option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-hw-agent-bin-path"
========================================
✓ PASSED

Output:
0

========================================
Test 7: Verify run_test.py references absolute paths for test binaries
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py | grep -c "/opt/fboss/bin/sai_test-sai_impl"'
========================================
✓ PASSED

Output:
1

========================================
Test 8: Verify typo fix: production_features (not producition_features)
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py' | grep -c "producition_features"
========================================
✓ PASSED

Output:
0

========================================
Test 9: Verify run_test.py has valid Python syntax
Command: ssh fboss101 -c 'sudo cp /opt/fboss/bin/run_test.py /tmp/run_test_syntax_check.py && python3 -m py_compile /tmp/run_test_syntax_check.py && echo "Syntax check passed" && sudo rm -f /tmp/run_test_syntax_check.py*'
========================================
✓ PASSED

Output:
Syntax check passed

========================================
Test 10: Verify run_test.py can be imported as module
Command: ssh fboss101 -c 'cd /opt/fboss/bin && python3 -c "import sys; sys.path.insert(0, \".\"); import run_test" && echo "Import successful"'
========================================
✓ PASSED

Output:
Import successful

========================================
Test 11: Verify --production-features option removed from qsfp subcommand
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py qsfp --help 2>&1' | grep -c "\-\-production-features"
========================================
✓ PASSED

Output:
0

=========================================
Test Summary
=========================================
Total Tests: 11
Passed: 11
Failed: 0
=========================================
Results saved to: /tmp/pr408_integration_results_20260203_155518

All tests passed!
```

</details>
anna-nexthop added a commit to nexthop-ai/fboss that referenced this pull request Mar 9, 2026
Simplify the command-line interface for run_test.py by
removing redundant options and consolidating related functionality.

- Remove --sai-bin and --hw-agent-bin-path option (install WIP binaries in the absolute path instead)
- Remove --asic option (consolidated into --enable-production-features)

- Consolidate --enable-production-features to take ASIC as argument
instead of being a boolean flag
- Update all test binaries to use absolute paths (/opt/fboss/bin/*)

- Fix typo: producition_features -> production_features

- Update documentation with simplified command examples
- Add test configuration variables documentation
- Simplify T0/T1/T2 test examples in documentation

**Device:** fboss101
**Build ID:** 23679
**Test Suite:** 11 targeted integration tests
**Results:** ✅ **11/11 PASSED (100%)**

<details>
<summary>Click to expand full test results</summary>

```
=========================================
Starting Integration Tests for PR facebook#408
DUT: fboss101
Results Directory: /tmp/pr408_integration_results_20260203_155518
=========================================

========================================
Test 1: Verify --enable-production-features takes ASIC argument
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1 | grep -A3 "enable-production-features"'
========================================
✓ PASSED

Output:
                             [--enable-production-features ASIC]
                             [--platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]]
                             [--agent-run-mode [{mono,multi_switch}]]
                             [--num-npus {1,2}]
--
  --enable-production-features ASIC
                        Enable filtering by production features for the
                        specified ASIC
  --platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]

========================================
Test 2: Test --enable-production-features with valid ASIC (tomahawk5)
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 30 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features tomahawk5 2>&1 | tail -10'
========================================
✓ PASSED

Output:
  VerifyPortRateTraffic/1  # GetParam() = 100000
  VerifyPortRateTraffic/2  # GetParam() = 200000
  VerifyPortRateTraffic/3  # GetParam() = 400000
test/AgentHwPtpTcProvisionTests.
  VerifyPtpTcDelayRequest/TWENTYFIVEG  # GetParam() = 25000
  VerifyPtpTcDelayRequest/FIFTYG  # GetParam() = 50000
  VerifyPtpTcDelayRequest/HUNDREDG  # GetParam() = 100000
  VerifyPtpTcDelayRequest/TWOHUNDREDG  # GetParam() = 200000
  VerifyPtpTcDelayRequest/FOURHUNDREDG  # GetParam() = 400000

========================================
Test 3: Test --enable-production-features with invalid ASIC shows error
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 10 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features invalid_asic_xyz 2>&1 || true' | grep "Error: ASIC"
========================================
✓ PASSED

Output:
Error: ASIC 'invalid_asic_xyz' not found in production features file.

========================================
Test 4: Verify --asic option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-asic"
========================================
✓ PASSED

Output:
0

========================================
Test 5: Verify --sai-bin option is removed from global options
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py --help 2>&1' | grep -c "\-\-sai-bin"
========================================
✓ PASSED

Output:
0

========================================
Test 6: Verify --hw-agent-bin-path option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-hw-agent-bin-path"
========================================
✓ PASSED

Output:
0

========================================
Test 7: Verify run_test.py references absolute paths for test binaries
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py | grep -c "/opt/fboss/bin/sai_test-sai_impl"'
========================================
✓ PASSED

Output:
1

========================================
Test 8: Verify typo fix: production_features (not producition_features)
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py' | grep -c "producition_features"
========================================
✓ PASSED

Output:
0

========================================
Test 9: Verify run_test.py has valid Python syntax
Command: ssh fboss101 -c 'sudo cp /opt/fboss/bin/run_test.py /tmp/run_test_syntax_check.py && python3 -m py_compile /tmp/run_test_syntax_check.py && echo "Syntax check passed" && sudo rm -f /tmp/run_test_syntax_check.py*'
========================================
✓ PASSED

Output:
Syntax check passed

========================================
Test 10: Verify run_test.py can be imported as module
Command: ssh fboss101 -c 'cd /opt/fboss/bin && python3 -c "import sys; sys.path.insert(0, \".\"); import run_test" && echo "Import successful"'
========================================
✓ PASSED

Output:
Import successful

========================================
Test 11: Verify --production-features option removed from qsfp subcommand
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py qsfp --help 2>&1' | grep -c "\-\-production-features"
========================================
✓ PASSED

Output:
0

=========================================
Test Summary
=========================================
Total Tests: 11
Passed: 11
Failed: 0
=========================================
Results saved to: /tmp/pr408_integration_results_20260203_155518

All tests passed!
```

</details>
anna-nexthop added a commit to nexthop-ai/fboss that referenced this pull request Mar 10, 2026
Simplify the command-line interface for run_test.py by
removing redundant options and consolidating related functionality.

- Remove --sai-bin and --hw-agent-bin-path option (install WIP binaries in the absolute path instead)
- Remove --asic option (consolidated into --enable-production-features)

- Consolidate --enable-production-features to take ASIC as argument
instead of being a boolean flag
- Update all test binaries to use absolute paths (/opt/fboss/bin/*)

- Fix typo: producition_features -> production_features

- Update documentation with simplified command examples
- Add test configuration variables documentation
- Simplify T0/T1/T2 test examples in documentation

**Device:** fboss101
**Build ID:** 23679
**Test Suite:** 11 targeted integration tests
**Results:** ✅ **11/11 PASSED (100%)**

<details>
<summary>Click to expand full test results</summary>

```
=========================================
Starting Integration Tests for PR facebook#408
DUT: fboss101
Results Directory: /tmp/pr408_integration_results_20260203_155518
=========================================

========================================
Test 1: Verify --enable-production-features takes ASIC argument
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1 | grep -A3 "enable-production-features"'
========================================
✓ PASSED

Output:
                             [--enable-production-features ASIC]
                             [--platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]]
                             [--agent-run-mode [{mono,multi_switch}]]
                             [--num-npus {1,2}]
--
  --enable-production-features ASIC
                        Enable filtering by production features for the
                        specified ASIC
  --platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]

========================================
Test 2: Test --enable-production-features with valid ASIC (tomahawk5)
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 30 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features tomahawk5 2>&1 | tail -10'
========================================
✓ PASSED

Output:
  VerifyPortRateTraffic/1  # GetParam() = 100000
  VerifyPortRateTraffic/2  # GetParam() = 200000
  VerifyPortRateTraffic/3  # GetParam() = 400000
test/AgentHwPtpTcProvisionTests.
  VerifyPtpTcDelayRequest/TWENTYFIVEG  # GetParam() = 25000
  VerifyPtpTcDelayRequest/FIFTYG  # GetParam() = 50000
  VerifyPtpTcDelayRequest/HUNDREDG  # GetParam() = 100000
  VerifyPtpTcDelayRequest/TWOHUNDREDG  # GetParam() = 200000
  VerifyPtpTcDelayRequest/FOURHUNDREDG  # GetParam() = 400000

========================================
Test 3: Test --enable-production-features with invalid ASIC shows error
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 10 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features invalid_asic_xyz 2>&1 || true' | grep "Error: ASIC"
========================================
✓ PASSED

Output:
Error: ASIC 'invalid_asic_xyz' not found in production features file.

========================================
Test 4: Verify --asic option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-asic"
========================================
✓ PASSED

Output:
0

========================================
Test 5: Verify --sai-bin option is removed from global options
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py --help 2>&1' | grep -c "\-\-sai-bin"
========================================
✓ PASSED

Output:
0

========================================
Test 6: Verify --hw-agent-bin-path option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-hw-agent-bin-path"
========================================
✓ PASSED

Output:
0

========================================
Test 7: Verify run_test.py references absolute paths for test binaries
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py | grep -c "/opt/fboss/bin/sai_test-sai_impl"'
========================================
✓ PASSED

Output:
1

========================================
Test 8: Verify typo fix: production_features (not producition_features)
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py' | grep -c "producition_features"
========================================
✓ PASSED

Output:
0

========================================
Test 9: Verify run_test.py has valid Python syntax
Command: ssh fboss101 -c 'sudo cp /opt/fboss/bin/run_test.py /tmp/run_test_syntax_check.py && python3 -m py_compile /tmp/run_test_syntax_check.py && echo "Syntax check passed" && sudo rm -f /tmp/run_test_syntax_check.py*'
========================================
✓ PASSED

Output:
Syntax check passed

========================================
Test 10: Verify run_test.py can be imported as module
Command: ssh fboss101 -c 'cd /opt/fboss/bin && python3 -c "import sys; sys.path.insert(0, \".\"); import run_test" && echo "Import successful"'
========================================
✓ PASSED

Output:
Import successful

========================================
Test 11: Verify --production-features option removed from qsfp subcommand
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py qsfp --help 2>&1' | grep -c "\-\-production-features"
========================================
✓ PASSED

Output:
0

=========================================
Test Summary
=========================================
Total Tests: 11
Passed: 11
Failed: 0
=========================================
Results saved to: /tmp/pr408_integration_results_20260203_155518

All tests passed!
```

</details>
anna-nexthop added a commit to nexthop-ai/fboss that referenced this pull request Mar 31, 2026
Simplify the command-line interface for run_test.py by
removing redundant options and consolidating related functionality.

- Remove --sai-bin and --hw-agent-bin-path option (install WIP binaries in the absolute path instead)
- Remove --asic option (consolidated into --enable-production-features)

- Consolidate --enable-production-features to take ASIC as argument
instead of being a boolean flag
- Update all test binaries to use absolute paths (/opt/fboss/bin/*)

- Fix typo: producition_features -> production_features

- Update documentation with simplified command examples
- Add test configuration variables documentation
- Simplify T0/T1/T2 test examples in documentation

**Device:** fboss101
**Build ID:** 23679
**Test Suite:** 11 targeted integration tests
**Results:** ✅ **11/11 PASSED (100%)**

<details>
<summary>Click to expand full test results</summary>

```
=========================================
Starting Integration Tests for PR facebook#408
DUT: fboss101
Results Directory: /tmp/pr408_integration_results_20260203_155518
=========================================

========================================
Test 1: Verify --enable-production-features takes ASIC argument
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1 | grep -A3 "enable-production-features"'
========================================
✓ PASSED

Output:
                             [--enable-production-features ASIC]
                             [--platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]]
                             [--agent-run-mode [{mono,multi_switch}]]
                             [--num-npus {1,2}]
--
  --enable-production-features ASIC
                        Enable filtering by production features for the
                        specified ASIC
  --platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]

========================================
Test 2: Test --enable-production-features with valid ASIC (tomahawk5)
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 30 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features tomahawk5 2>&1 | tail -10'
========================================
✓ PASSED

Output:
  VerifyPortRateTraffic/1  # GetParam() = 100000
  VerifyPortRateTraffic/2  # GetParam() = 200000
  VerifyPortRateTraffic/3  # GetParam() = 400000
test/AgentHwPtpTcProvisionTests.
  VerifyPtpTcDelayRequest/TWENTYFIVEG  # GetParam() = 25000
  VerifyPtpTcDelayRequest/FIFTYG  # GetParam() = 50000
  VerifyPtpTcDelayRequest/HUNDREDG  # GetParam() = 100000
  VerifyPtpTcDelayRequest/TWOHUNDREDG  # GetParam() = 200000
  VerifyPtpTcDelayRequest/FOURHUNDREDG  # GetParam() = 400000

========================================
Test 3: Test --enable-production-features with invalid ASIC shows error
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 10 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features invalid_asic_xyz 2>&1 || true' | grep "Error: ASIC"
========================================
✓ PASSED

Output:
Error: ASIC 'invalid_asic_xyz' not found in production features file.

========================================
Test 4: Verify --asic option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-asic"
========================================
✓ PASSED

Output:
0

========================================
Test 5: Verify --sai-bin option is removed from global options
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py --help 2>&1' | grep -c "\-\-sai-bin"
========================================
✓ PASSED

Output:
0

========================================
Test 6: Verify --hw-agent-bin-path option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-hw-agent-bin-path"
========================================
✓ PASSED

Output:
0

========================================
Test 7: Verify run_test.py references absolute paths for test binaries
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py | grep -c "/opt/fboss/bin/sai_test-sai_impl"'
========================================
✓ PASSED

Output:
1

========================================
Test 8: Verify typo fix: production_features (not producition_features)
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py' | grep -c "producition_features"
========================================
✓ PASSED

Output:
0

========================================
Test 9: Verify run_test.py has valid Python syntax
Command: ssh fboss101 -c 'sudo cp /opt/fboss/bin/run_test.py /tmp/run_test_syntax_check.py && python3 -m py_compile /tmp/run_test_syntax_check.py && echo "Syntax check passed" && sudo rm -f /tmp/run_test_syntax_check.py*'
========================================
✓ PASSED

Output:
Syntax check passed

========================================
Test 10: Verify run_test.py can be imported as module
Command: ssh fboss101 -c 'cd /opt/fboss/bin && python3 -c "import sys; sys.path.insert(0, \".\"); import run_test" && echo "Import successful"'
========================================
✓ PASSED

Output:
Import successful

========================================
Test 11: Verify --production-features option removed from qsfp subcommand
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py qsfp --help 2>&1' | grep -c "\-\-production-features"
========================================
✓ PASSED

Output:
0

=========================================
Test Summary
=========================================
Total Tests: 11
Passed: 11
Failed: 0
=========================================
Results saved to: /tmp/pr408_integration_results_20260203_155518

All tests passed!
```

</details>
anna-nexthop added a commit to nexthop-ai/fboss that referenced this pull request Apr 3, 2026
Simplify the command-line interface for run_test.py by
removing redundant options and consolidating related functionality.

- Remove --sai-bin and --hw-agent-bin-path option (install WIP binaries in the absolute path instead)
- Remove --asic option (consolidated into --enable-production-features)

- Consolidate --enable-production-features to take ASIC as argument
instead of being a boolean flag
- Update all test binaries to use absolute paths (/opt/fboss/bin/*)

- Fix typo: producition_features -> production_features

- Update documentation with simplified command examples
- Add test configuration variables documentation
- Simplify T0/T1/T2 test examples in documentation

**Device:** fboss101
**Build ID:** 23679
**Test Suite:** 11 targeted integration tests
**Results:** ✅ **11/11 PASSED (100%)**

<details>
<summary>Click to expand full test results</summary>

```
=========================================
Starting Integration Tests for PR facebook#408
DUT: fboss101
Results Directory: /tmp/pr408_integration_results_20260203_155518
=========================================

========================================
Test 1: Verify --enable-production-features takes ASIC argument
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1 | grep -A3 "enable-production-features"'
========================================
✓ PASSED

Output:
                             [--enable-production-features ASIC]
                             [--platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]]
                             [--agent-run-mode [{mono,multi_switch}]]
                             [--num-npus {1,2}]
--
  --enable-production-features ASIC
                        Enable filtering by production features for the
                        specified ASIC
  --platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]

========================================
Test 2: Test --enable-production-features with valid ASIC (tomahawk5)
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 30 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features tomahawk5 2>&1 | tail -10'
========================================
✓ PASSED

Output:
  VerifyPortRateTraffic/1  # GetParam() = 100000
  VerifyPortRateTraffic/2  # GetParam() = 200000
  VerifyPortRateTraffic/3  # GetParam() = 400000
test/AgentHwPtpTcProvisionTests.
  VerifyPtpTcDelayRequest/TWENTYFIVEG  # GetParam() = 25000
  VerifyPtpTcDelayRequest/FIFTYG  # GetParam() = 50000
  VerifyPtpTcDelayRequest/HUNDREDG  # GetParam() = 100000
  VerifyPtpTcDelayRequest/TWOHUNDREDG  # GetParam() = 200000
  VerifyPtpTcDelayRequest/FOURHUNDREDG  # GetParam() = 400000

========================================
Test 3: Test --enable-production-features with invalid ASIC shows error
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 10 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features invalid_asic_xyz 2>&1 || true' | grep "Error: ASIC"
========================================
✓ PASSED

Output:
Error: ASIC 'invalid_asic_xyz' not found in production features file.

========================================
Test 4: Verify --asic option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-asic"
========================================
✓ PASSED

Output:
0

========================================
Test 5: Verify --sai-bin option is removed from global options
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py --help 2>&1' | grep -c "\-\-sai-bin"
========================================
✓ PASSED

Output:
0

========================================
Test 6: Verify --hw-agent-bin-path option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-hw-agent-bin-path"
========================================
✓ PASSED

Output:
0

========================================
Test 7: Verify run_test.py references absolute paths for test binaries
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py | grep -c "/opt/fboss/bin/sai_test-sai_impl"'
========================================
✓ PASSED

Output:
1

========================================
Test 8: Verify typo fix: production_features (not producition_features)
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py' | grep -c "producition_features"
========================================
✓ PASSED

Output:
0

========================================
Test 9: Verify run_test.py has valid Python syntax
Command: ssh fboss101 -c 'sudo cp /opt/fboss/bin/run_test.py /tmp/run_test_syntax_check.py && python3 -m py_compile /tmp/run_test_syntax_check.py && echo "Syntax check passed" && sudo rm -f /tmp/run_test_syntax_check.py*'
========================================
✓ PASSED

Output:
Syntax check passed

========================================
Test 10: Verify run_test.py can be imported as module
Command: ssh fboss101 -c 'cd /opt/fboss/bin && python3 -c "import sys; sys.path.insert(0, \".\"); import run_test" && echo "Import successful"'
========================================
✓ PASSED

Output:
Import successful

========================================
Test 11: Verify --production-features option removed from qsfp subcommand
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py qsfp --help 2>&1' | grep -c "\-\-production-features"
========================================
✓ PASSED

Output:
0

=========================================
Test Summary
=========================================
Total Tests: 11
Passed: 11
Failed: 0
=========================================
Results saved to: /tmp/pr408_integration_results_20260203_155518

All tests passed!
```

</details>
meta-codesync Bot pushed a commit that referenced this pull request Apr 16, 2026
Summary:
**Pre-submission checklist**
- [x] I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running `pip install -r requirements-dev.txt && pre-commit install`
- [x] `pre-commit run`

Simplify the command-line interface for run_test.py by
removing redundant options and consolidating related functionality.

## Changes

### Removed Options
- Remove --sai-bin and --hw-agent-bin-path option (install WIP binaries in the absolute path instead)
- Remove --asic option (consolidated into --enable-production-features)

### Updated Options
- Consolidate --enable-production-features to take ASIC as argument
instead of being a boolean flag
- Update all test binaries to use absolute paths (/opt/fboss/bin/*)

### Bug Fixes
- Fix typo: producition_features -> production_features

### Documentation
- Update documentation with simplified command examples
- Add test configuration variables documentation
- Simplify T0/T1/T2 test examples in documentation

## Testing

### Integration Test Results

**Device:** fboss101
**Build ID:** 23679
**Test Suite:** 11 targeted integration tests
**Results:** ✅ **11/11 PASSED (100%)**

<details>
<summary>Click to expand full test results</summary>

```
=========================================
Starting Integration Tests for PR #408
DUT: fboss101
Results Directory: /tmp/pr408_integration_results_20260203_155518
=========================================

========================================
Test 1: Verify --enable-production-features takes ASIC argument
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1 | grep -A3 "enable-production-features"'
========================================
✓ PASSED

Output:
                             [--enable-production-features ASIC]
                             [--platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]]
                             [--agent-run-mode [{mono,multi_switch}]]
                             [--num-npus {1,2}]
--
  --enable-production-features ASIC
                        Enable filtering by production features for the
                        specified ASIC
  --platform_mapping_override_path [PLATFORM_MAPPING_OVERRIDE_PATH]

========================================
Test 2: Test --enable-production-features with valid ASIC (tomahawk5)
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 30 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features tomahawk5 2>&1 | tail -10'
========================================
✓ PASSED

Output:
  VerifyPortRateTraffic/1  # GetParam() = 100000
  VerifyPortRateTraffic/2  # GetParam() = 200000
  VerifyPortRateTraffic/3  # GetParam() = 400000
test/AgentHwPtpTcProvisionTests.
  VerifyPtpTcDelayRequest/TWENTYFIVEG  # GetParam() = 25000
  VerifyPtpTcDelayRequest/FIFTYG  # GetParam() = 50000
  VerifyPtpTcDelayRequest/HUNDREDG  # GetParam() = 100000
  VerifyPtpTcDelayRequest/TWOHUNDREDG  # GetParam() = 200000
  VerifyPtpTcDelayRequest/FOURHUNDREDG  # GetParam() = 400000

========================================
Test 3: Test --enable-production-features with invalid ASIC shows error
Command: ssh fboss101 -c 'cd /opt/fboss && timeout 10 ./bin/run_test.py sai_agent --list_tests --config ./share/hw_test_configs/meru400biu.agent.materialized_JSON --enable-production-features invalid_asic_xyz 2>&1 || true' | grep "Error: ASIC"
========================================
✓ PASSED

Output:
Error: ASIC 'invalid_asic_xyz' not found in production features file.

========================================
Test 4: Verify --asic option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-asic"
========================================
✓ PASSED

Output:
0

========================================
Test 5: Verify --sai-bin option is removed from global options
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py --help 2>&1' | grep -c "\-\-sai-bin"
========================================
✓ PASSED

Output:
0

========================================
Test 6: Verify --hw-agent-bin-path option is removed
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py sai_agent --help 2>&1' | grep -c "\-\-hw-agent-bin-path"
========================================
✓ PASSED

Output:
0

========================================
Test 7: Verify run_test.py references absolute paths for test binaries
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py | grep -c "/opt/fboss/bin/sai_test-sai_impl"'
========================================
✓ PASSED

Output:
1

========================================
Test 8: Verify typo fix: production_features (not producition_features)
Command: ssh fboss101 -c 'sudo cat /opt/fboss/bin/run_test.py' | grep -c "producition_features"
========================================
✓ PASSED

Output:
0

========================================
Test 9: Verify run_test.py has valid Python syntax
Command: ssh fboss101 -c 'sudo cp /opt/fboss/bin/run_test.py /tmp/run_test_syntax_check.py && python3 -m py_compile /tmp/run_test_syntax_check.py && echo "Syntax check passed" && sudo rm -f /tmp/run_test_syntax_check.py*'
========================================
✓ PASSED

Output:
Syntax check passed

========================================
Test 10: Verify run_test.py can be imported as module
Command: ssh fboss101 -c 'cd /opt/fboss/bin && python3 -c "import sys; sys.path.insert(0, \".\"); import run_test" && echo "Import successful"'
========================================
✓ PASSED

Output:
Import successful

========================================
Test 11: Verify --production-features option removed from qsfp subcommand
Command: ssh fboss101 -c 'cd /opt/fboss && ./bin/run_test.py qsfp --help 2>&1' | grep -c "\-\-production-features"
========================================
✓ PASSED

Output:
0

=========================================
Test Summary
=========================================
Total Tests: 11
Passed: 11
Failed: 0
=========================================
Results saved to: /tmp/pr408_integration_results_20260203_155518

All tests passed!
```

</details>

Pull Request resolved: #898

Reviewed By: joseph5wu

Differential Revision: D100650164

Pulled By: AarjunC

fbshipit-source-id: 04c8112922a56f69cf6d49d08cca2ce5dbae7628
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment