Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá pháp phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

28.3. Các kèo bóng đá pháp so sánh biến thể

Vì một số thử nghiệm vốn đã sản xuất Kết quả phụ thuộc vào môi trường, chúng tôi đã cung cấp kèo bóng đá pháp cách để chỉ định thay thế"Dự kiến"kèo bóng đá pháp kết quả. Mỗi bài kiểm tra hồi quy có thể có một số kèo bóng đá pháp so sánh hiển thị Kết quả có thể trên các nền tảng khác nhau. Có hai các cơ chế độc lập để xác định kèo bóng đá pháp so sánh nào là được sử dụng cho mỗi bài kiểm tra.

Cơ chế đầu tiên cho phép các kèo bóng đá pháp so sánh được chọn cho nền tảng cụ thể. Có một kèo bóng đá pháp ánh xạ,src/test/repress/resultMap, định nghĩa cái nào kèo bóng đá pháp so sánh để sử dụng cho mỗi nền tảng. Để loại bỏ kiểm tra không có thật"thất bại"Đối với một nền tảng cụ thể, trước tiên bạn chọn hoặc tạo một kèo bóng đá pháp kết quả biến thể, sau đó thêm một dòng đếnresultMapkèo bóng đá pháp.

Mỗi dòng trong kèo bóng đá pháp ánh xạ có dạng

11020_11067

Tên thử nghiệm chỉ là tên của hồi quy cụ thể Mô -đun kiểm tra. Mẫu nền tảng là một mô hình theo phong cách của Công cụ UNIXexpr(nghĩa là một biểu thức với một ẩn^neo tại sự khởi đầu). Nó được khớp với tên nền tảng như được in bởiconfig.guess. Tên kèo bóng đá pháp so sánh là tên cơ sở của kèo bóng đá pháp so sánh kết quả thay thế.

Ví dụ: Một số hệ thống diễn giải điểm nổi rất nhỏ kèo bóng đá pháp giá trị là 0, thay vì báo cáo lỗi dòng chảy. Cái này gây ra một vài sự khác biệt trongfloat8Kiểm tra hồi quy. Do đó, chúng tôi cung cấp một kèo bóng đá pháp so sánh biến thể,float8-small-is-Zero.out, mà Bao gồm kèo bóng đá pháp kết quả được mong đợi trên kèo bóng đá pháp hệ thống này. Để im lặng Bogus"Thất bại"Tin nhắn trênOpenBSDNền tảng,resultMapBao gồm

float8/i.86-.*-OpenBSD = float8-small-is-Zero

sẽ kích hoạt trên bất kỳ máy nào mà đầu ra củaconfig.guessMatchesi.86-.*-OpenBSD. kèo bóng đá pháp dòng khác trongresultMapChọn kèo bóng đá pháp so sánh biến thể cho các nền tảng khác mà nó phù hợp.

Cơ chế lựa chọn thứ hai cho các kèo bóng đá pháp so sánh biến thể là Tự động hơn nhiều: nó chỉ đơn giản là sử dụng"Tốt nhất cuộc thi đấu"Trong số một số kèo bóng đá pháp so sánh được cung cấp. Các Tập lệnh trình điều khiển kiểm tra hồi quy xem xét cả hai tiêu chuẩn kèo bóng đá pháp so sánh cho một bài kiểm tra,testName.outvà các kèo bóng đá pháp biến thể có têntestName_Digit.out(trong đóDigitlà bất kỳ chữ số nào0-9). Nếu bất kỳ kèo bóng đá pháp nào như vậy là Một trận đấu chính xác, bài kiểm tra được coi là vượt qua; Nếu không, một cái tạo ra diff ngắn nhất được sử dụng để tạo Báo cáo thất bại. (Nếu nhưresultMapBao gồm một mục cho bài kiểm tra cụ thể, sau đó là cơ sởtestNamelà tên thay thế được đưa ra trongresultMap.)

Ví dụ, choCharKiểm tra, The kèo bóng đá pháp so sánhchar.outchứa kết quả được mong đợi trongCPOSIXLocales, trong khi kèo bóng đá phápchar_1.out13780_13846

Cơ chế phù hợp nhất đã được đưa ra để đối phó với Kết quả phụ thuộc vào địa phương, nhưng nó có thể được sử dụng trong mọi tình huống trong đó kết quả kiểm tra không thể được dự đoán dễ dàng từ Tên nền tảng một mình. Một hạn chế của cơ chế này là Trình điều khiển kiểm tra không thể cho biết kèo bóng đá pháp thể nào thực sự là"Đúng"Đối với môi trường hiện tại; nó sẽ Chỉ cần chọn kèo bóng đá pháp thể dường như hoạt động tốt nhất. Do đó nó là an toàn nhất khi chỉ sử dụng cơ chế này cho kết quả kèo bóng đá pháp thể mà bạn sẵn sàng xem xét có giá trị như nhau trong tất cả các bối cảnh.