summaryrefslogtreecommitdiff
path: root/tests/test-model-load-cancel.cpp
diff options
context:
space:
mode:
authorcrasm <crasm@git.vczf.net>2024-01-26 07:18:00 -0500
committerGitHub <noreply@github.com>2024-01-26 14:18:00 +0200
commit413e7b0559f922bd4de5e9eec548829d111651b1 (patch)
tree8d9ddf3f1e8ea25a105ed8aa04321e57d93cbfff /tests/test-model-load-cancel.cpp
parent6dd3c28c9cd1ef74b49d79f47d668759346a3c6c (diff)
ci : add model tests + script wrapper (#4586)
* scripts : add lib.sh and lib_test.sh * scripts : stub out new ci-run.sh script * scripts : switch to PascalCase for functions This looks a little odd at first, but I find it very useful as a convention to know if a command is part of our code vs a builtin. * scripts : add some fancy conversion from snake_case to PascalCase * Add venv to ci/run.sh * Revert scripts work * scripts : add wrapper script for local use of ci/run.sh * Simplify .gitignore for tests, clang-tidy fixes * Label all ctest tests * ci : ctest uses -L main * Attempt at writing ctest_with_model * Update test-model-load-cancel * ci : add ctest_with_model for debug and release ggml-ci * Fix gg_get_model function ggml-ci * got stuck on CMake * Add get_model.cpp to tests/CMakeLists.txt ggml-ci * Fix README.md output for ctest_with_model ggml-ci * workflows : use `-L main` for all ctest ggml-ci * Fixes * GG_RUN_CTEST_MODELFILE => LLAMACPP_TESTMODELFILE * Always show warning rather than failing if model file variable is not set * scripts : update usage text for ci-run.sh
Diffstat (limited to 'tests/test-model-load-cancel.cpp')
-rw-r--r--tests/test-model-load-cancel.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/test-model-load-cancel.cpp b/tests/test-model-load-cancel.cpp
new file mode 100644
index 00000000..7ea4bbac
--- /dev/null
+++ b/tests/test-model-load-cancel.cpp
@@ -0,0 +1,27 @@
+#include "llama.h"
+#include "get-model.h"
+
+#include <cstdlib>
+
+int main(int argc, char *argv[] ) {
+ auto * model_path = get_model_or_exit(argc, argv);
+ auto * file = fopen(model_path, "r");
+ if (file == nullptr) {
+ fprintf(stderr, "no model at '%s' found\n", model_path);
+ return EXIT_FAILURE;
+ }
+
+ fprintf(stderr, "using '%s'\n", model_path);
+ fclose(file);
+
+ llama_backend_init(false);
+ auto params = llama_model_params{};
+ params.use_mmap = false;
+ params.progress_callback = [](float progress, void * ctx){
+ (void) ctx;
+ return progress > 0.50;
+ };
+ auto * model = llama_load_model_from_file(model_path, params);
+ llama_backend_free();
+ return model == nullptr ? EXIT_SUCCESS : EXIT_FAILURE;
+}