[BUG] Breaking public API by removing error_occurred from BenchmarkReporter::Run

Đang mở
#1,603 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
cpp
Lĩnh vực
backend-api-design

Hướng nghiên cứu

Bắt đầu bằng cách xem xét commit và PR được tham chiếu, sau đó kiểm tra khai báo công khai của BenchmarkReporter::Run, trong đó error_occurred và error_message đã được thay thế bằng skipped và skip_message. Xác nhận tác động đến khả năng tương thích đối với các ứng dụng sử dụng trường đã bị xóa và xác minh hành vi API công khai sau thay đổi trên các phiên bản được hỗ trợ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Describe the bug
The commit https://github.com/google/benchmark/commit/adb0d3d0bf5841bddc2bcc025baad93dbc7fa39f in PR https://github.com/google/benchmark/pull/1564 removed member error_occurred from BenchmarkReporter::Run struct.

@@ -1685,8 +1720,8 @@ class BENCHMARK_EXPORT BenchmarkReporter {
     std::string aggregate_name;
     StatisticUnit aggregate_unit;
     std::string report_label;  // Empty if not set by benchmark.
-    bool error_occurred;
-    std::string error_message;
+    internal::Skipped skipped;
+    std::string skip_message;
 
     IterationCount iterations;
     int64_t threads;

This is a API breaking change that was introduced without any deprecation warning. Updating the application code to use skipped will cause a build-break for when compiled against older version of GoogleBenchmark. There are no macros to detect the version of benchmark library.

System

  • all

To reproduce
NA

Expected behavior
All code using error_occurred should compile. A deprecation warning should be emitted a few releases prior to removing the public field from a struct.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Ngôn ngữ chính
C++
Star
10.5k
Fork
1.8k
Merge trung bình
1 ngày 15 giờ
Pull request đã merge (30 ngày)
28

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của google/benchmark

Tất cả issue của google/benchmark

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.