/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #include #include #include #include #include #include TEST(TestCallback, timeout) { int n = 1000; int k = 100; int d = 128; int niter = 1000000000; int seed = 42; std::vector vecs(n * d); faiss::float_rand(vecs.data(), vecs.size(), seed); auto index(new faiss::IndexFlat(d)); faiss::ClusteringParameters cp; cp.niter = niter; cp.verbose = false; faiss::Clustering kmeans(d, k, cp); faiss::TimeoutCallback::reset(0.010); EXPECT_THROW(kmeans.train(n, vecs.data(), *index), faiss::FaissException); delete index; }