Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển: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 soi kèo bóng đá truoctran phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

32.3. Các soi kèo bóng đá truoctran so sánh biến thể

Vì một số thử nghiệm vốn đã tạo ra kết quả phụ thuộc vào môi trường, chúng tôi đã cung cấp soi kèo bóng đá truoctran cách để chỉ định thay thếHồidự kiếnHồisoi kèo bóng đá truoctran kết quả. Mỗi bài kiểm tra hồi quy có thể có một số soi kèo bóng đá truoctran so sánh hiển thị kết quả có thể trên các nền tảng khác nhau.

Cơ chế đầu tiên cho phép các soi kèo bóng đá truoctran so sánh được chọn cho các nền tảng cụ thể. Có một soi kèo bóng đá truoctran ánh xạ,src/test/repress/resultMap, xác định soi kèo bóng đá truoctran so sánh nào sẽ sử dụng cho mỗi nền tảng. Để loại bỏ kiểm tra không có thậtThấ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 soi kèo bóng đá truoctran kết quả biến thể, sau đó thêm một dòng vàoresultMapsoi kèo bóng đá truoctran.

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

testName: đầu ra: platformpotyp

Tên thử nghiệm chỉ là tên của mô -đun kiểm tra hồi quy cụ thể. Giá trị đầu ra cho biết kiểm tra soi kèo bóng đá truoctran đầu ra nào.out. Giá trị tương ứng với phần mở rộng soi kèo bóng đá truoctran của soi kèo bóng đá truoctran đầu ra.expr(nghĩa là một biểu thức chính quy với một ẩn úy^neo khi bắt đầu). Nó được khớp với tên nền tảng như được in bởiconfig.guess. Tên soi kèo bóng đá truoctran so sánh là tên cơ sở của soi kèo bóng đá truoctran so sánh kết quả thay thế.

Ví dụ: Một số hệ thống diễn giải soi kèo bóng đá truoctran giá trị điểm nổi rất nhỏ là 0, thay vì báo cáo lỗi dòng chảy. Điều 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 soi kèo bóng đá truoctran so sánh biến thể,float8-small-is-Zero.out, bao gồm soi kèo bóng đá truoctran kết quả được dự kiến ​​trên soi kèo bóng đá truoctran hệ thống này. Để im lặngthất bạiTin nhắn trênOpenBSDNền tảng,resultMapbao gồm:

Float8: Out: I.86-.

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

Cơ chế lựa chọn thứ hai cho các soi kèo bóng đá truoctran so sánh biến thể tự động hơn nhiều: nó chỉ đơn giản là sử dụngHồiphù hợp nhấtxôngTrong số một số soi kèo bóng đá truoctran so sánh được cung cấp. Tập lệnh trình điều khiển kiểm tra hồi quy xem xét cả soi kèo bóng đá truoctran so sánh tiêu chuẩn cho một bài kiểm tra,testName.outvà các soi kèo bóng đá truoctran biến thể có têntestName_Digit.out(trong đóDigitlà bất kỳ chữ số nào0-9). Nếu bất kỳ soi kèo bóng đá truoctran nào như vậy là một kết hợp chính xác, bài kiểm tra được coi là vượt qua;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, soi kèo bóng đá truoctran so sánhchar.outChứa kết quả được mong đợi trongCPOSIXLocales, trong khi soi kèo bóng đá truoctranchar_1.outChứa kết quả được sắp xếp khi chúng xuất hiện ở nhiều địa phương khác.

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 mà 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 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 soi kèo bóng đá truoctran thể nào làHồiđúngHồiĐối với môi trường hiện tại; Nó sẽ chỉ chọn soi kèo bóng đá truoctran thể dường như hoạt động tốt nhất.