From 1e110cbbbe24d35c201844945f03f962f7a08590 Mon Sep 17 00:00:00 2001 From: JeffreyChen Date: Thu, 8 Oct 2026 15:33:46 +0800 Subject: [PATCH] feat: write reports below the artifact directory under TestPioneer TestPioneer starts a runner with TEST_PIONEER_ARTIFACT_DIR set to the directory that run output belongs in. A report asked for under a relative name is now written below it, for every report generator, and the path a generator returns is the path it wrote. Without the variable, and for an absolute name, nothing changes. --- README.md | 2 + README/README_zh-CN.md | 2 + README/README_zh-TW.md | 2 + architecture.md | 5 +- docs/updates/2026-10.md | 9 ++ docs/updates/README.md | 3 +- .../generate_report/generate_allure_report.py | 2 + .../generate_report/generate_chart_report.py | 5 +- .../generate_report/generate_cost_report.py | 3 +- .../generate_report/generate_csv_report.py | 3 +- .../generate_cyclonedx_report.py | 3 +- .../generate_report/generate_excel_report.py | 3 +- .../generate_histogram_report.py | 5 +- .../generate_report/generate_html_report.py | 3 +- .../generate_report/generate_json_report.py | 5 +- .../generate_report/generate_junit_report.py | 3 +- .../generate_report/generate_pdf_report.py | 3 +- .../generate_report/generate_sarif_report.py | 3 +- .../generate_report/generate_service_map.py | 3 +- .../generate_summary_report.py | 3 +- .../generate_report/generate_xml_report.py | 5 +- .../utils/generate_report/report_path.py | 43 ++++++ test/test_report_path.py | 134 ++++++++++++++++++ 23 files changed, 232 insertions(+), 20 deletions(-) create mode 100644 je_load_density/utils/generate_report/report_path.py create mode 100644 test/test_report_path.py diff --git a/README.md b/README.md index a7763a7..91db529 100644 --- a/README.md +++ b/README.md @@ -633,6 +633,8 @@ generate_summary_report("report-sum") # totals + per-name p50/p90/p95/p99 | JUnit | `-junit.xml` (CI-native) | single | | Summary | `.json` (per-name p50/p90/p95/p99) | single | +Under [TestPioneer](https://github.com/Integration-Automation/TestPioneer), which sets `TEST_PIONEER_ARTIFACT_DIR` for the runners it starts, a report asked for under a relative name is written below that directory, and the path each generator returns is the one it wrote. An absolute name is used as given, and without the variable nothing changes. + ## Observability ```python diff --git a/README/README_zh-CN.md b/README/README_zh-CN.md index 7ea4224..6a2e816 100644 --- a/README/README_zh-CN.md +++ b/README/README_zh-CN.md @@ -627,6 +627,8 @@ generate_summary_report("report-sum") # totals + per-name p50/p90/p95/p99 | JUnit | `-junit.xml`(CI 原生) | single | | Summary | `.json`(per-name p50/p90/p95/p99) | single | +由 [TestPioneer](https://github.com/Integration-Automation/TestPioneer) 启动时(它会为启动的 runner 设置 `TEST_PIONEER_ARTIFACT_DIR`),以相对名称要求的报告会写到该目录底下,各生成器返回的路径就是实际写入的路径。绝对路径照原样使用;没有设置这个变量时,行为不变。 + ## 可观测性 ```python diff --git a/README/README_zh-TW.md b/README/README_zh-TW.md index 3fdca1c..16325c7 100644 --- a/README/README_zh-TW.md +++ b/README/README_zh-TW.md @@ -627,6 +627,8 @@ generate_summary_report("report-sum") # totals + per-name p50/p90/p95/p99 | JUnit | `-junit.xml`(CI 原生) | single | | Summary | `.json`(per-name p50/p90/p95/p99) | single | +由 [TestPioneer](https://github.com/Integration-Automation/TestPioneer) 啟動時(它會為啟動的 runner 設定 `TEST_PIONEER_ARTIFACT_DIR`),以相對名稱要求的報告會寫到該目錄底下,各產生器回傳的路徑就是實際寫入的路徑。絕對路徑照原樣使用;沒有設定這個變數時,行為不變。 + ## 可觀測性 ```python diff --git a/architecture.md b/architecture.md index de238af..158a2b8 100644 --- a/architecture.md +++ b/architecture.md @@ -175,7 +175,10 @@ the published dependency floor. The old action-executor record contract is separ generates scripts that use `from je_load_density import start_test` (`pybreeze/utils/curl_import/script_templates.py`). - **TestPioneer**: `with: load-runner` imports `je_load_density.execute_action` in-process (`test_pioneer/executor/run/utils.py`) after setting `LOCUST_SKIP_MONKEY_PATCH=1`. `parallel_run` - spawns `python -m je_load_density --execute_file