ollama/integration
Devon Rifkin d20cd8df80 fix incorrect chat truncation
The dynamically calculated `NumCtx` value wasn't making it all the way
to the chat handler

This fix made us notice that the minimum setting of `NumCtx` to 4 inside
of `server/sched.go` was accidentally removed in #10364. The minimum
doesn't make it out to the client code, which is important for
embeddings, as demonstrated in `TestAllMiniLMEmbedTruncate`. This should
be cleaned up more, but probably is caused by start and end tokens in
the embedding, so small context sizes need some work there. See the
comment in `server/routes.go` for more information on the temporary hack
that's been added to propagate the dynamically calculated `NumCtx` (the
-1 guard there is to keep embeddings working if you set `NumCtx` to some
small value like `1`).

Fixes: #10441
2025-04-28 16:11:36 -07:00
..
testdata Integration test improvements (#9654) 2025-04-16 14:25:55 -07:00
api_test.go Integration test improvements (#9654) 2025-04-16 14:25:55 -07:00
basic_test.go Integration test improvements (#9654) 2025-04-16 14:25:55 -07:00
concurrency_test.go Integration test improvements (#9654) 2025-04-16 14:25:55 -07:00
context_test.go chore(all): replace instances of interface with any (#10067) 2025-04-02 09:44:27 -07:00
embed_test.go fix incorrect chat truncation 2025-04-28 16:11:36 -07:00
llm_image_test.go Integration test improvements (#9654) 2025-04-16 14:25:55 -07:00
llm_test.go Integration test improvements (#9654) 2025-04-16 14:25:55 -07:00
max_queue_test.go Integration test improvements (#9654) 2025-04-16 14:25:55 -07:00
model_arch_test.go Integration test improvements (#9654) 2025-04-16 14:25:55 -07:00
README.md Revamp go based integration tests 2024-03-23 14:24:18 +01:00
utils_test.go Integration test improvements (#9654) 2025-04-16 14:25:55 -07:00

Integration Tests

This directory contains integration tests to exercise Ollama end-to-end to verify behavior

By default, these tests are disabled so go test ./... will exercise only unit tests. To run integration tests you must pass the integration tag. go test -tags=integration ./...

The integration tests have 2 modes of operating.

  1. By default, they will start the server on a random port, run the tests, and then shutdown the server.
  2. If OLLAMA_TEST_EXISTING is set to a non-empty string, the tests will run against an existing running server, which can be remote