[CI] Stop Windows pipeline upon a failing pytest (#10003)
This commit is contained in:
parent
60ec7b8424
commit
c8f5d190c6
@ -260,12 +260,10 @@ bool NoInfInData(AdapterBatchT const& batch, IsValidFunctor is_valid) {
|
|||||||
auto counting = thrust::make_counting_iterator(0llu);
|
auto counting = thrust::make_counting_iterator(0llu);
|
||||||
auto value_iter = dh::MakeTransformIterator<bool>(counting, [=] XGBOOST_DEVICE(std::size_t idx) {
|
auto value_iter = dh::MakeTransformIterator<bool>(counting, [=] XGBOOST_DEVICE(std::size_t idx) {
|
||||||
auto v = batch.GetElement(idx).value;
|
auto v = batch.GetElement(idx).value;
|
||||||
if (!is_valid(v)) {
|
if (is_valid(v) && isinf(v)) {
|
||||||
// discard the invalid elements.
|
return false;
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
// check that there's no inf in data.
|
return true;
|
||||||
return !std::isinf(v);
|
|
||||||
});
|
});
|
||||||
dh::XGBCachingDeviceAllocator<char> alloc;
|
dh::XGBCachingDeviceAllocator<char> alloc;
|
||||||
// The default implementation in thrust optimizes any_of/none_of/all_of by using small
|
// The default implementation in thrust optimizes any_of/none_of/all_of by using small
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2019-2023 by XGBoost contributors
|
* Copyright 2019-2024, XGBoost contributors
|
||||||
*/
|
*/
|
||||||
#include <thrust/iterator/discard_iterator.h>
|
#include <thrust/iterator/discard_iterator.h>
|
||||||
#include <thrust/iterator/transform_output_iterator.h>
|
#include <thrust/iterator/transform_output_iterator.h>
|
||||||
@ -13,7 +13,7 @@
|
|||||||
#include "../common/hist_util.cuh"
|
#include "../common/hist_util.cuh"
|
||||||
#include "../common/transform_iterator.h" // MakeIndexTransformIter
|
#include "../common/transform_iterator.h" // MakeIndexTransformIter
|
||||||
#include "./ellpack_page.cuh"
|
#include "./ellpack_page.cuh"
|
||||||
#include "device_adapter.cuh" // for HasInfInData
|
#include "device_adapter.cuh" // for NoInfInData
|
||||||
#include "ellpack_page.h"
|
#include "ellpack_page.h"
|
||||||
#include "gradient_index.h"
|
#include "gradient_index.h"
|
||||||
#include "xgboost/data.h"
|
#include "xgboost/data.h"
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2019-2023 by XGBoost Contributors
|
* Copyright 2019-2024, XGBoost Contributors
|
||||||
* \file simple_dmatrix.cuh
|
* \file simple_dmatrix.cuh
|
||||||
*/
|
*/
|
||||||
#ifndef XGBOOST_DATA_SIMPLE_DMATRIX_CUH_
|
#ifndef XGBOOST_DATA_SIMPLE_DMATRIX_CUH_
|
||||||
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include "../common/device_helpers.cuh"
|
#include "../common/device_helpers.cuh"
|
||||||
#include "../common/error_msg.h" // for InfInData
|
#include "../common/error_msg.h" // for InfInData
|
||||||
#include "device_adapter.cuh" // for HasInfInData
|
#include "device_adapter.cuh" // for NoInfInData
|
||||||
|
|
||||||
namespace xgboost::data {
|
namespace xgboost::data {
|
||||||
|
|
||||||
|
|||||||
@ -32,6 +32,8 @@ Foreach-Object {
|
|||||||
|
|
||||||
Write-Host "--- Run Python tests"
|
Write-Host "--- Run Python tests"
|
||||||
python -X faulthandler -m pytest -v -s -rxXs --fulltrace tests/python
|
python -X faulthandler -m pytest -v -s -rxXs --fulltrace tests/python
|
||||||
|
if ($LASTEXITCODE -ne 0) { throw "Last command failed" }
|
||||||
Write-Host "--- Run Python tests with GPU"
|
Write-Host "--- Run Python tests with GPU"
|
||||||
python -X faulthandler -m pytest -v -s -rxXs --fulltrace -m "(not slow) and (not mgpu)"`
|
python -X faulthandler -m pytest -v -s -rxXs --fulltrace -m "(not slow) and (not mgpu)"`
|
||||||
tests/python-gpu
|
tests/python-gpu
|
||||||
|
if ($LASTEXITCODE -ne 0) { throw "Last command failed" }
|
||||||
|
|||||||
@ -152,6 +152,7 @@ class TestGPUPredict:
|
|||||||
|
|
||||||
@pytest.mark.parametrize("device", ["cpu", "cuda"])
|
@pytest.mark.parametrize("device", ["cpu", "cuda"])
|
||||||
@pytest.mark.skipif(**tm.no_cupy())
|
@pytest.mark.skipif(**tm.no_cupy())
|
||||||
|
@pytest.mark.skipif(**tm.no_cudf())
|
||||||
def test_inplace_predict_device_type(self, device: str) -> None:
|
def test_inplace_predict_device_type(self, device: str) -> None:
|
||||||
"""Test inplace predict with different device and data types.
|
"""Test inplace predict with different device and data types.
|
||||||
|
|
||||||
|
|||||||
@ -249,7 +249,7 @@ def test_custom_objective(
|
|||||||
clf.fit(X, y)
|
clf.fit(X, y)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(**tm.no_pandas())
|
@pytest.mark.skipif(**tm.no_cudf())
|
||||||
def test_ranking_qid_df():
|
def test_ranking_qid_df():
|
||||||
import cudf
|
import cudf
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user