unsloth/studio/backend/tests
Souravrajvi0 d17567af3e
fix(studio/colab): restore blank Colab iframe embed (#7344) (#7349)
* fix(studio/colab): restore iframe embed via serve_kernel_port_as_iframe

Colab's output sanitizer often strips custom <iframe> tags from
IPython.display.HTML without raising, leaving a blank cell even though
display() succeeded. The kernel-port helper is the supported embedding
path and registers the proxy correctly.

- Prefer serve_kernel_port_as_iframe; keep raw HTML iframe as fallback
- Always show the clickable link card via show_link() so the proxy URL
  is visible even when iframe embedding fails
- Add regression tests for embed ordering and URL truncation

Fixes #7344

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix(studio/colab): harden iframe embed fallbacks per Codex review

Guard show_link so a display failure cannot skip embedding, and only use
serve_kernel_port_as_iframe when get_colab_url returned a real Colab proxy
URL so localhost/colabtools environments still get the HTML iframe path.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix(studio/colab): stop opening Colab proxy URLs in a new tab (#7349)

Colab *.prod.colab.dev proxy hosts are session-scoped and return HTTP 404
when opened as a top-level tab or from another device. Replace the
clickable Open button for those URLs with an in-notebook ready card, keep
serve_kernel_port_as_iframe for the UI, and point users at
start(cloudflare=True) for a real shareable / new-window link.

* fix(studio/colab): use kernel iframe on real Colab when eval_js fails (#7349)

Gate serve_kernel_port_as_iframe on COLAB_RELEASE_TAG + google.colab import
instead of a successful proxyPort URL. When eval_js fails and get_colab_url
falls back to localhost, real Colab notebooks still embed via the kernel helper
(port-only). colabtools without COLAB_RELEASE_TAG keeps the HTML iframe path.

Thanks @mfielding92 for the runtime diagnosis.

* Mock top-level google package in Colab embed tests

* test(studio/colab): mock top-level google package in Colab tests

Patching only sys.modules["google.colab"] fails when no google namespace
is installed: import google.colab resolves the parent first and returns
False in _is_colab_runtime(). Add a shared helper that mocks both google
and google.colab for deterministic tests across environments.

* Tighten comments in Colab embed helpers and tests

* fix(studio/colab): default Cloudflare on Colab with durable login credentials

Colab proxy iframes often load an empty document even when the kernel helper
appends the frame, leaving users unable to reach Studio to change the bootstrap
password and blocking start(cloudflare=True).

On real Colab runtime:
- Default cloudflare to True (pass cloudflare=False to opt out)
- Finalize the random admin password and print credentials in the notebook
- Persist credentials across cell re-runs after interrupt
- Show Cloudflare link before login credentials; skip blank proxy iframe when ready
- Reuse main._IS_COLAB for runtime detection (not COLAB_RELEASE_TAG alone)
- Only trust serve_kernel_port_as_iframe on real Colab; colabtools falls back to HTML
- Keep embedding when the link card display fails

Addresses Codex review feedback on #7349 and @mfielding92's catch-22 report.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix(studio/colab): skip credential finalize when cloudflare=False

Only call _finalize_colab_admin_password() when opening a Cloudflare
tunnel. start(cloudflare=False) should not clear the bootstrap-password
gate or show a login card that references a missing tunnel link.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix(studio/colab): drop stale cached Colab credentials after password change

On a Colab rerun the finalize path redisplayed the cached first-run
password whenever the bootstrap gate was already cleared. If the admin
changed the password through the app, that cached copy no longer
authenticates, so the notebook printed dead credentials. Validate the
cached password against the current stored hash before redisplaying and
drop the cache when it no longer matches.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
2026-07-24 02:23:24 -07:00
..
__init__.py Final cleanup 2026-03-12 18:28:04 +00:00
conftest.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_amd_apu_unified_memory.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_anthropic_cache_ttl.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_anthropic_citations.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_anthropic_citations_edge.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
test_anthropic_code_execution.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_anthropic_compaction.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_anthropic_fast_mode_and_refusal.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
test_anthropic_fast_mode_edge.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_anthropic_messages.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_anthropic_thinking_translation.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_anthropic_tool_versions.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_anthropic_web_fetch.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_api_key_expiry.py Studio: add --secure Cloudflare-only mode and revamp API usage examples (#6300) 2026-06-15 04:18:15 -07:00
test_api_monitor.py Studio: trim serving-log noise and surface llama-server engine stats (#6377) 2026-06-17 05:37:57 -07:00
test_api_perf_serialization.py fix(studio/llama_cpp): disable trust_env on the loopback health probe (#6750) (#6752) 2026-06-30 19:09:26 +02:00
test_apple_gpu_sensors.py Studio: show Apple GPU temperature and power in the GPU monitor (macOS) (#6187) 2026-06-12 01:50:45 -07:00
test_audio_sampling_fill.py Unsloth run/start: per-model recommended sampling and override flags (#7335) 2026-07-23 20:49:54 -07:00
test_audio_token_detection.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
test_bootstrap_timeout.py Studio: auto-shut-down an exposed first-run instance if the admin password is never changed (#6651) 2026-06-26 01:27:27 -07:00
test_browse_denylist.py Studio: expose Windows drive roots in the folder browser (#7082) 2026-07-15 00:24:11 -07:00
test_browse_folders_route.py Studio: expose Windows drive roots in the folder browser (#7082) 2026-07-15 00:24:11 -07:00
test_bypass_permissions.py Studio: stream live tool output with SSE heartbeats, fix web page extraction, and surface interrupted turns (#7083) 2026-07-15 08:41:00 -07:00
test_cache_case_resolution.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_cached_gguf_routes.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_capability_detection.py Harden model fetching (#6391) 2026-06-18 05:39:52 -07:00
test_change_password_policy.py Studio: reject whitespace-only passwords (#7341) 2026-07-23 00:44:37 -07:00
test_chat_attachments.py Studio: Data settings tab, uploaded files manager, quant pinning, and chat image preview fix (#7029) 2026-07-20 04:57:44 -07:00
test_chat_eos_template_refresh.py Studio: stop chat generation on the assistant-turn-end token (fixes Qwen3.5 loop) (#6804) 2026-07-06 10:07:56 -07:00
test_chat_history_routes.py Studio chat: tool-call nudging on by default (API stays opt-in) (#6883) 2026-07-06 19:41:19 -07:00
test_chat_history_storage.py Sort chat recents by last activity (#6844) 2026-07-07 17:54:32 +01:00
test_chat_load_during_training.py Add Intel XPU support to Unsloth Studio (#4724) 2026-07-24 02:22:07 -03:00
test_chat_only_reason.py Studio macOS: faster startup, MLX self-heal, drop obsolete prebuilt pins (#6494) 2026-06-22 02:20:08 -07:00
test_chat_template_tool_arguments.py Studio: coerce tool_call arguments to dict before chat templating (fixes MLX tool follow-up error) (#6807) 2026-07-06 10:12:22 -07:00
test_chat_turn_end_eos.py Studio: stop chat generation on the assistant-turn-end token (fixes Qwen3.5 loop) (#6804) 2026-07-06 10:07:56 -07:00
test_checkpoints_scan.py (feat) Add project names to studio training runs (#6512) 2026-06-29 16:06:36 +02:00
test_cleanup_cancelled_checkpoints.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_cloudflare_tunnel.py Studio: fix stuck composer prompt on first send and unreachable --secure Cloudflare links (#7340) 2026-07-23 00:39:14 -07:00
test_coding_agents.py feat: detect installed coding agent CLIs in Studio settings (#6909) 2026-07-08 05:26:50 -07:00
test_colab_embed.py fix(studio/colab): restore blank Colab iframe embed (#7344) (#7349) 2026-07-24 02:23:24 -07:00
test_combined_update.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_completion_masking.py Studio: auto-detect completion masking markers, stop silent full-sequence training (#7054) 2026-07-11 05:13:45 -07:00
test_compute_buffer.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_consent_gate.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_context_overflow_truncation.py Studio: report the real llama-server context window and add an opt-in overflow policy for OpenAI-compatible serving (#6164) 2026-06-11 07:49:55 -07:00
test_cpu_threads.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_cuda_torch_spec.py Installer: allow torch 2.11.x on the CUDA install path (fresh install + studio) (#6959) 2026-07-19 06:19:29 -07:00
test_data_recipe_github_progress.py Studio: add github_repo seed reader and GitHub Support Bot recipe (#5169) 2026-04-24 12:02:03 -07:00
test_data_recipe_pump_resilience.py Studio: harden background consumer loops and streaming paths against silent UI freezes (#6653) 2026-06-26 03:31:33 -07:00
test_data_recipe_seed.py Fix per-block ID collisions and add block cleanup for unstructured uploads (#6944) 2026-07-08 20:03:03 -07:00
test_datacenter_gpu_tuning.py Studio: tune llama.cpp env for data-center GPUs (#6098) 2026-06-12 02:39:01 -07:00
test_dataset_upload_limits.py Formatting: ruff line-length 100, kwarg-spacing passes, drop blank after short local imports (#6079) 2026-06-08 04:24:13 -07:00
test_deepseek_v4_thinking_effort.py Fix DeepSeek reasoning test shim (#7169) 2026-07-16 03:17:06 -07:00
test_default_output_dir_name.py Studio: fix training output dir escaping outputs root for models on another drive (#6293) 2026-06-13 04:06:17 -07:00
test_desktop_auth.py Studio macOS: faster startup, MLX self-heal, drop obsolete prebuilt pins (#6494) 2026-06-22 02:20:08 -07:00
test_detect_mmproj_file.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
test_embedding_model_security_gate.py studio: classify embedding models from the HF cache and honor offline mode (#7218) 2026-07-22 04:05:08 -07:00
test_embedding_model_settings.py Studio: hide the RAG embedder and llama.cpp probe from the hub cached inventory (#7018) 2026-07-19 03:20:56 -07:00
test_exec_utf8.py Use UTF-8 for Python code-execution subprocess I/O (#6489 class) (#6548) 2026-06-22 09:06:03 -07:00
test_export_absolute_paths.py Feat/model picker per model config v2 (#7207) 2026-07-20 22:53:22 -07:00
test_export_capability.py Studio: multi-select export formats, portable FP8/INT8, GGUF LoRA, and source parity (#6767) 2026-07-03 08:25:10 -07:00
test_export_imatrix_compressed.py Studio: multi-select export formats, portable FP8/INT8, GGUF LoRA, and source parity (#6767) 2026-07-03 08:25:10 -07:00
test_export_log_cursor.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_export_size_estimate.py Studio: scale export GGUF size estimates from the real model size (#6418) 2026-06-18 05:44:17 -07:00
test_external_provider_proxy_env.py Studio: ignore unsupported env proxy during Studio startup (#6102) 2026-06-11 05:13:27 -07:00
test_external_provider_usage_chunk.py Studio: Add custom provider option to Connections (#6112) 2026-06-12 13:09:35 +02:00
test_file_security.py Studio: scan HF cache snapshot loads by their repo id (#7398) 2026-07-24 02:12:00 -07:00
test_frontend_resolution.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_gemini_provider.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_gemma4_chat_template_override.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_gemma_tool_parse_edge_cases.py Studio: parse Mistral [TOOL_CALLS] and rehearsal tool-call shapes (#5704) 2026-07-06 18:52:13 -07:00
test_gguf_completion_usage.py Studio: improve OpenAI- and Anthropic-compatible API spec compliance (#6010) 2026-06-09 17:13:25 +02:00
test_gguf_load_cache_reuse.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_gguf_metadata.py Studio: GPU memory configuration for GGUF models (#6414) 2026-07-19 05:46:22 -07:00
test_gguf_reload_inheritance.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_gguf_route_cursor_reset.py Studio: extend llama.cpp first-token timeout (#5841) 2026-06-12 18:41:38 +02:00
test_gguf_routing.py Fix GGUF variant file selection (#6342) 2026-06-16 12:42:58 +02:00
test_gguf_tool_non_streaming.py Studio: honor stream=false on the GGUF agentic tool path (#6570) (#6618) 2026-06-24 15:37:08 +01:00
test_gguf_xet_fallback_integration.py Studio: Xet-primary model downloads with automatic HTTP fallback on stall (#6372) 2026-06-16 06:17:54 -07:00
test_gpu_memory_mode.py Studio: refine GGUF per-GPU selection (gpu_ids) (#7239) 2026-07-24 01:02:29 -03:00
test_gpu_selection.py Add Intel XPU support to Unsloth Studio (#4724) 2026-07-24 02:22:07 -03:00
test_gpu_selection_sandbox.py Add Intel XPU support to Unsloth Studio (#4724) 2026-07-24 02:22:07 -03:00
test_hf_cache_settings.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_hf_token_validation.py Studio: validate Hugging Face tokens before use (#7261) 2026-07-20 14:40:14 +01:00
test_hf_xet_fallback.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_host_defaults.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_identity.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_index_bootstrap_loopback.py Studio: scope the seeded bootstrap password auto-fill to loopback clients (#7131) 2026-07-15 05:19:37 -07:00
test_index_bootstrap_origin.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_index_bootstrap_origin_extra.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_inference_default_models_non_blocking.py Speed up Studio startup path (#6899) 2026-07-07 18:08:07 -07:00
test_inference_dispatcher_resilience.py Studio: harden OpenAI-compatible GGUF streaming (#6950) 2026-07-09 12:09:08 -03:00
test_inference_model_validation.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_inference_orchestrator_crash_message.py Studio: fix Gemma-4-12B-it not loading (#6054) 2026-06-10 08:39:07 -07:00
test_install_resolve_prebuilt.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_install_whisper_prebuilt_checksums.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_kv_cache_estimation.py studio: deterministic VRAM auto-fit for GGUF (MTP reserve, compute buffer, total-based budget) (#6312) 2026-06-17 03:10:22 -07:00
test_lifespan_shutdown.py Studio: make lifespan shutdown resilient to a dead default executor (#6307) 2026-06-15 22:51:46 -07:00
test_linux_external_media_paths.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_llama_admission.py Studio: queue local GGUF OpenAI-compatible requests before llama-server (#7047) 2026-07-10 17:05:48 -03:00
test_llama_cpp_cache_aware_disk_check.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_llama_cpp_context_fit.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_llama_cpp_effective_parallel_slots.py Studio: queue local GGUF OpenAI-compatible requests before llama-server (#7047) 2026-07-10 17:05:48 -03:00
test_llama_cpp_freshness.py Studio: source CPU llama.cpp prebuilts from unslothai/llama.cpp (#6311) 2026-07-08 05:34:59 -07:00
test_llama_cpp_load_progress.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_llama_cpp_load_progress_live.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_llama_cpp_load_progress_matrix.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_llama_cpp_max_context_threshold.py studio: deterministic VRAM auto-fit for GGUF (MTP reserve, compute buffer, total-based budget) (#6312) 2026-06-17 03:10:22 -07:00
test_llama_cpp_mmproj_fallback.py fix(studio): stop false MTP/vision capability reports (#7332) 2026-07-24 02:13:52 -07:00
test_llama_cpp_mtp_detection.py fix(studio): stop false MTP/vision capability reports (#7332) 2026-07-24 02:13:52 -07:00
test_llama_cpp_no_context_shift.py Studio: GPU memory configuration for GGUF models (#6414) 2026-07-19 05:46:22 -07:00
test_llama_cpp_props_readback.py Studio: GPU memory configuration for GGUF models (#6414) 2026-07-19 05:46:22 -07:00
test_llama_cpp_slot_resume.py persist llama.cpp KV cache across idle auto-unload (slot save/restore) (#7204) 2026-07-20 00:12:42 -07:00
test_llama_cpp_stall_timeout.py Studio: make Stop and stall deadlines interrupt a wedged stream portably (#7236) 2026-07-20 05:29:18 -07:00
test_llama_cpp_start_failure_classification.py report a complete load once llama-server is healthy (#6790) 2026-07-03 14:13:54 +01:00
test_llama_cpp_stream_cancel.py Studio: make Stop interrupt a llama.cpp generation stalled mid-stream (#7117) 2026-07-14 05:11:56 -07:00
test_llama_cpp_tool_loop.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_llama_cpp_update.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_llama_cpp_vulkan_probe.py Studio: add Vulkan llama.cpp support (#5819) 2026-07-09 03:39:48 -07:00
test_llama_cpp_wait_for_health.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_llama_cpp_wait_for_vram_settle.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_llama_cpp_windows_nvidia_path.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_llama_route.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_llama_route_timeouts.py Studio: harden OpenAI-compatible GGUF streaming (#6950) 2026-07-09 12:09:08 -03:00
test_llama_server_args.py persist llama.cpp KV cache across idle auto-unload (slot save/restore) (#7204) 2026-07-20 00:12:42 -07:00
test_llama_stats.py Studio: trim serving-log noise and surface llama-server engine stats (#6377) 2026-06-17 05:37:57 -07:00
test_llm_assist_startup_opt_in.py Studio: make Helper LLM startup pre-cache opt in (#6113) 2026-06-09 15:28:34 +02:00
test_load_progress_ready_fraction.py report a complete load once llama-server is healthy (#6790) 2026-07-03 14:13:54 +01:00
test_load_progress_throttle.py Studio: quiet noisy logs, log real progress, and speed up Windows/macOS dataset prep (#7087) 2026-07-15 06:49:52 -07:00
test_local_llama_cpp_link.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_local_model_format.py Studio: redesign Select model dropdown to match Hub design (#6364) 2026-06-22 04:33:04 -07:00
test_log_filter_no_truncation.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
test_logging_middleware.py Studio: quiet noisy logs, log real progress, and speed up Windows/macOS dataset prep (#7087) 2026-07-15 06:49:52 -07:00
test_login_rate_limit.py Studio: harden background consumer loops and streaming paths against silent UI freezes (#6653) 2026-06-26 03:31:33 -07:00
test_mcp_config_import.py studio: show MCP "Import config" on the add-server form (#6030) 2026-06-11 16:17:22 +01:00
test_mcp_flatten_result.py Studio: render image content returned by MCP tools (#7081) 2026-07-14 00:30:21 -07:00
test_mcp_server.py feat(studio): expose an opt-in MCP control plane (#7191) 2026-07-17 16:50:39 -07:00
test_mcp_servers.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_mcp_stdio_improvements.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_mcp_stdio_pr5863.py Studio: render image content returned by MCP tools (#7081) 2026-07-14 00:30:21 -07:00
test_mcp_stdio_sessions.py Studio: persistent stdio MCP sessions so server state survives across tool calls (#7080) 2026-07-14 02:28:43 -07:00
test_message_content.py fix(studio): handle multimodal list content in inference text paths (#4383) (#6480) 2026-06-23 01:26:11 -07:00
test_middleware.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_mlx_inference_backend.py Studio: reuse MLX prompt cache across turns instead of re-prefilling (#7311) 2026-07-22 02:35:33 -07:00
test_mlx_repair.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_mlx_stop_checkpoint.py Fix resume training crash recovery and MLX checkpoints (#6796) 2026-07-21 02:34:58 -07:00
test_mlx_training_worker_config.py Add has_blackwell_gpu to the mlx worker test's wheel_utils stub (#6980) 2026-07-08 07:22:54 -07:00
test_mmproj_vram_accounting.py Studio: account for mmproj VRAM in GGUF fit budget (#5825) (#5849) 2026-06-12 15:04:08 +01:00
test_model_defaults_none_guard.py Studio macOS: faster startup, MLX self-heal, drop obsolete prebuilt pins (#6494) 2026-06-22 02:20:08 -07:00
test_model_ids.py studio: list the full local model catalog from /v1/models (#6519) 2026-06-26 20:42:06 -03:00
test_model_picker_regression.py Feat/model picker per model config v2 (#7207) 2026-07-20 22:53:22 -07:00
test_model_update_robustness.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_models_get_model_config_case_resolution.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_mtp_drafter_companion.py Studio: don't re-download updated GGUFs on load (#7209) 2026-07-17 19:05:46 -03:00
test_mtp_mla_target_ctx.py Studio: gate the MTP target-KV reserve to MTP spec mode, not just MLA (#6449) 2026-06-19 05:51:35 -07:00
test_mtp_vram_budget.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_multimodal_document.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_namespace_shadow_guard_pr6269.py Studio: self-heal unsloth namespace shadows; clearer failed-load messages (#6532) 2026-06-21 22:43:31 -07:00
test_native_context_length.py Expose runtime context length for hub models (#6154) 2026-06-11 22:13:53 +03:00
test_native_template_trust_remote_code.py studio: tool calling for DeepSeek (R1/V3/V3.1), GLM 4.x, Kimi K2 on safetensors + MLX (#5624) 2026-07-06 15:40:46 -07:00
test_nudge_tool_calls_wiring.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_nvfp4_load_error_message.py Show concise NVFP4 inference errors (#7145) 2026-07-15 07:17:40 -07:00
test_offline_embedding_minimal.py Studio: fail closed on index-referenced nested pickle shards in the offline embedding gate (#7366) 2026-07-23 20:06:30 -07:00
test_offline_gguf_cache_fallback.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_offline_inference_parent.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_openai_auto_switch.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_openai_catalog.py Studio: opt-in OpenAI /v1 model auto-switch and idle keep-warm (#6392) 2026-07-01 06:42:23 -07:00
test_openai_citation_markers.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_openai_citation_markers_edge.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
test_openai_code_execution.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_openai_compaction.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_openai_container_crud.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
test_openai_image_generation.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_openai_models_path_leak.py studio: return a clean model id from the OpenAI API instead of the local .gguf path (#6518) 2026-06-26 16:07:53 -03:00
test_openai_responses_translation.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_openai_tool_passthrough.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_openai_tool_result_fallbacks.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
test_orchestrator_unload_cancel.py fix(studio): honor MLX adapter state in compare mode (#7196) 2026-07-19 00:27:55 -07:00
test_passthrough_healing.py Studio: Inkling support fixes (#7153) 2026-07-15 11:22:38 -07:00
test_password_prompt.py Studio: reject whitespace-only passwords (#7341) 2026-07-23 00:44:37 -07:00
test_password_prompt_backstop.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_permission_mode.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_personalization_settings.py Studio: remove the edge fades appearance setting (#7143) 2026-07-15 06:39:23 -07:00
test_picker_service.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_pr5624_regressions.py studio: tool calling for DeepSeek (R1/V3/V3.1), GLM 4.x, Kimi K2 on safetensors + MLX (#5624) 2026-07-06 15:40:46 -07:00
test_presence_penalty.py Studio: apply presence_penalty on the safetensors and MLX inference paths (#6923) 2026-07-06 22:24:47 -07:00
test_preview.py Studio: shareable per-checkpoint preview links (#6486) 2026-06-24 06:31:53 -07:00
test_preview_followups.py Studio: require signed capability tokens for /p preview links (#6666) 2026-06-25 21:40:48 -07:00
test_preview_routes.py Studio: require signed capability tokens for /p preview links (#6666) 2026-06-25 21:40:48 -07:00
test_preview_sharing_settings.py Studio: require signed capability tokens for /p preview links (#6666) 2026-06-25 21:40:48 -07:00
test_preview_token.py Studio: require signed capability tokens for /p preview links (#6666) 2026-06-25 21:40:48 -07:00
test_pricing.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
test_pricing_edge.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_process_lifetime.py Reap Studio child processes when the parent dies abnormally (#6425) 2026-06-18 05:51:22 -07:00
test_providers_api.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_providers_db_models.py fix(studio): persist connection model selections for remote clients (#7298) 2026-07-23 19:11:50 -07:00
test_pytorch_mirror.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_rag_captioning.py Studio RAG: disable trust_env on loopback llama-server httpx clients (#6775) 2026-07-01 03:58:08 -07:00
test_rag_chunking.py Studio: clean-room compact RAG (knowledge bases, hybrid search, fast indexing) (#5910) 2026-06-09 21:17:04 -07:00
test_rag_embed_llama_server.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_rag_embeddings.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_rag_ingestion.py Whole-document context for RAG chat attachments (#6693) 2026-06-30 15:55:23 +02:00
test_rag_job_events_queue_lifecycle.py Studio: harden background consumer loops and streaming paths against silent UI freezes (#6653) 2026-06-26 03:31:33 -07:00
test_rag_loopback_trust_env.py Studio RAG: disable trust_env on loopback llama-server httpx clients (#6775) 2026-07-01 03:58:08 -07:00
test_rag_ocr_fallback.py Whole-document context for RAG chat attachments (#6693) 2026-06-30 15:55:23 +02:00
test_rag_parsing.py Studio: extract text from PDF web results (#7154) 2026-07-16 19:48:12 -03:00
test_rag_preview.py Whole-document context for RAG chat attachments (#6693) 2026-06-30 15:55:23 +02:00
test_rag_reconcile_orphaned.py Studio: harden background consumer loops and streaming paths against silent UI freezes (#6653) 2026-06-26 03:31:33 -07:00
test_rag_retrieval.py Studio: clean-room compact RAG (knowledge bases, hybrid search, fast indexing) (#5910) 2026-06-09 21:17:04 -07:00
test_rag_store.py Studio: clean-room compact RAG (knowledge bases, hybrid search, fast indexing) (#5910) 2026-06-09 21:17:04 -07:00
test_rag_whole_document.py Whole-document context for RAG chat attachments (#6693) 2026-06-30 15:55:23 +02:00
test_recommended_folders_has_model.py Studio: redesign Select model dropdown to match Hub design (#6364) 2026-06-22 04:33:04 -07:00
test_recommended_folders_permission.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_resolve_quant_gguf.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_response_template_markers.py Studio: fix the manual response-template markers that never match their rendered templates (#7062) 2026-07-11 21:29:19 -07:00
test_responses_api.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_responses_tool_passthrough.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_rocm_multi_gpu_vram_system_wide.py studio: show system-wide VRAM in the multi-GPU System tab view on ROCm (#7216) 2026-07-22 03:55:35 -07:00
test_rocm_oom_guard.py Recognize Radeon 8065S (Gorgon Halo / Ryzen AI Max 400) as gfx1151 (#7290) 2026-07-21 18:07:41 -07:00
test_rocm_windows_vram_7072.py Studio: fix per-GPU VRAM reporting on Windows ROCm (#7238) 2026-07-20 05:27:53 -07:00
test_s3_dataset.py feat(studio): implement S3 dataset loading (completes #5951) (#6222) 2026-06-12 14:52:04 +02:00
test_safetensors_capability_advertise.py Fix Studio reasoning channel rendering (#7121) 2026-07-17 19:30:37 -03:00
test_safetensors_reasoning_stream.py Fix Studio reasoning channel rendering (#7121) 2026-07-17 19:30:37 -03:00
test_safetensors_tool_loop.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_safetensors_toolcall_wiring.py Studio: persistent stdio MCP sessions so server state survives across tool calls (#7080) 2026-07-14 02:28:43 -07:00
test_sampling_resolution.py Unsloth run/start: per-model recommended sampling and override flags (#7335) 2026-07-23 20:49:54 -07:00
test_sandbox_sitecustomize.py Studio: stream live tool output with SSE heartbeats, fix web page extraction, and surface interrupted turns (#7083) 2026-07-15 08:41:00 -07:00
test_sandbox_tools.py fix(studio): resolve bare git on Windows sandbox PATH (#7323) 2026-07-23 19:15:01 -07:00
test_secure_tools_execute.py Keep server-side tools enabled under --secure (#6403) 2026-06-18 05:52:40 -07:00
test_secure_tunnel_gate.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_security_gate_consistency.py Run the malware gate on the RAG embedding model before it loads (#6887) 2026-07-07 04:30:21 -07:00
test_server_disk_logging.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_setup_cache_env_hf_home.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_setup_llama_cpp_backend.py feat(studio): add UNSLOTH_LLAMA_CPP_BACKEND env var to force CPU fallback #7213 (#7228) 2026-07-20 00:33:56 -07:00
test_sf_client_tools_passthrough.py Fix Studio reasoning channel rendering (#7121) 2026-07-17 19:30:37 -03:00
test_shutdown_preserves_live_worker.py Studio: offer the latest transformers release for brand-new architectures (#7056) 2026-07-15 05:25:26 -07:00
test_slot_offload_fit.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_sse_streaming_headers.py Studio: simplify the inference backend (#6490) 2026-06-21 20:01:09 -03:00
test_ssm_runtime.py Fix test isolation: restore sys.modules after the pre-import gate test (#6578) 2026-06-22 08:45:34 -07:00
test_startup_banner_loopback.py Fix Windows Studio UTF-8 startup handling (#6614) 2026-07-01 13:47:33 +01:00
test_startup_llama_probe_non_blocking.py Studio macOS: faster startup, MLX self-heal, drop obsolete prebuilt pins (#6494) 2026-06-22 02:20:08 -07:00
test_stt_download_validation.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_stt_ggml_sidecar.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_stt_review_fixes.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_stt_review_fixes_2.py Studio STT: only load safetensors weights for custom dictation models (RCE fix) (#7364) 2026-07-23 03:15:45 -07:00
test_stt_sidecar.py Studio STT: only load safetensors weights for custom dictation models (RCE fix) (#7364) 2026-07-23 03:15:45 -07:00
test_studio_api.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_studio_train_validation.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
test_tensor_parallel.py Studio: GPU memory configuration for GGUF models (#6414) 2026-07-19 05:46:22 -07:00
test_think_prefill_reemit.py Fix Studio reasoning channel rendering (#7121) 2026-07-17 19:30:37 -03:00
test_thinking_parameter.py feat: add Anthropic-compatible thinking parameter (#5856) 2026-06-15 10:35:33 +01:00
test_tool_approvals.py Studio: Add inline confirmation (Allow/Always allow/Deny) for tool calls (#5869) 2026-06-12 10:55:26 +02:00
test_tool_call_parser_strict.py Studio: Inkling support fixes (#7153) 2026-07-15 11:22:38 -07:00
test_tool_confirm_loop.py Studio: persistent stdio MCP sessions so server state survives across tool calls (#7080) 2026-07-14 02:28:43 -07:00
test_tool_confirm_stream.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_tool_loop_controller.py Studio: don't drop parallel tool calls after an internal no-op (#7157) 2026-07-16 19:47:22 -03:00
test_tool_message_empty_content.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_tool_output_streaming.py Studio: stream live tool output with SSE heartbeats, fix web page extraction, and surface interrupted turns (#7083) 2026-07-15 08:41:00 -07:00
test_tool_policy_gates.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
test_tool_policy_state.py unsloth run: add --enable-tools/--disable-tools server-side tool policy (#5277) 2026-05-05 12:45:15 +04:00
test_tool_stream_generator_drain.py Studio: stream live tool output with SSE heartbeats, fix web page extraction, and surface interrupted turns (#7083) 2026-07-15 08:41:00 -07:00
test_tool_strip_guard.py Studio: Gemma tool-call streaming follow-ups + nested-XML escape fix (#6476) (#6611) 2026-07-06 10:39:37 -07:00
test_tool_xml_strip.py Studio: parse Mistral [TOOL_CALLS] and rehearsal tool-call shapes (#5704) 2026-07-06 18:52:13 -07:00
test_torchao_select.py Studio: fix flash-attn and torchao install on Blackwell (sm_100+) GPUs (Closes #6961) (#6970) 2026-07-08 06:38:10 -07:00
test_torchao_stub_worker_parity.py Studio: install torchao Windows ROCm stub in the inference worker (#7000) 2026-07-13 19:20:25 -03:00
test_tp_vision_regression.py Studio: GPU memory configuration for GGUF models (#6414) 2026-07-19 05:46:22 -07:00
test_trained_model_scan.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_training_before_spawn.py Studio: free chat model VRAM at training start only when the GPU is tight (#6243) 2026-06-18 09:04:01 -07:00
test_training_config_popover_source.py studio: show the active run's saved config in the Training Progress popover (#7217) 2026-07-19 03:45:29 -07:00
test_training_history_update.py Studio: require signed capability tokens for /p preview links (#6666) 2026-06-25 21:40:48 -07:00
test_training_nan_loss_handling.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_training_preflight.py Add MLX backend support for CLI unsloth train (#6709) 2026-07-08 03:25:26 -07:00
test_training_progress_prep_timeout.py Studio: harden background consumer loops and streaming paths against silent UI freezes (#6653) 2026-06-26 03:31:33 -07:00
test_training_progress_stream_nan.py Studio: harden background consumer loops and streaming paths against silent UI freezes (#6653) 2026-06-26 03:31:33 -07:00
test_training_pump_resilience.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_training_raw_support.py MLX Training updates (#5656) 2026-06-14 04:58:50 -07:00
test_training_resume.py Fix resume training crash recovery and MLX checkpoints (#6796) 2026-07-21 02:34:58 -07:00
test_training_runs.py (feat) Add project names to studio training runs (#6512) 2026-06-29 16:06:36 +02:00
test_training_stop_watchdog.py Fix resume training crash recovery and MLX checkpoints (#6796) 2026-07-21 02:34:58 -07:00
test_training_streaming.py (feat) Add project names to studio training runs (#6512) 2026-06-29 16:06:36 +02:00
test_training_vram_coexistence.py Add Intel XPU support to Unsloth Studio (#4724) 2026-07-24 02:22:07 -03:00
test_training_worker_flash_attn.py Studio: fix flash-attn and torchao install on Blackwell (sm_100+) GPUs (Closes #6961) (#6970) 2026-07-08 06:38:10 -07:00
test_training_worker_import_discipline.py Studio: don't pin transformers before the training worker activates the 5.x sidecar (#6968) 2026-07-08 05:33:16 -07:00
test_training_xet_fallback.py Studio: Xet-primary model downloads with automatic HTTP fallback on stall (#6372) 2026-06-16 06:17:54 -07:00
test_transformers_dtype.py Studio: Fix torch_dtype deprecation warning on startup and ASR load (#6999) 2026-07-13 17:34:25 -03:00
test_transformers_latest.py Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
test_transformers_version.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_trc_approval_cache.py Studio: persistent per-user trust_remote_code approval cache (#6551) 2026-06-22 05:12:49 -07:00
test_utils.py Studio: validate Hugging Face tokens before use (#7261) 2026-07-20 14:40:14 +01:00
test_validate_gguf_runtime_message.py Studio: show an actionable message when the GGUF runtime is missing (#6327) 2026-06-18 06:00:00 -07:00
test_validate_model_error.py Harden model fetching (#6391) 2026-06-18 05:39:52 -07:00
test_vision_cache.py Fix offline checkpoint load/export: "tokenizer is weirdly not loaded" (#6554) 2026-06-25 23:16:53 -07:00
test_vram_estimation.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
test_web_fetch_binary_guard.py Studio: extract text from PDF web results (#7154) 2026-07-16 19:48:12 -03:00
test_web_fetch_extraction.py Studio: stream live tool output with SSE heartbeats, fix web page extraction, and surface interrupted turns (#7083) 2026-07-15 08:41:00 -07:00
test_whisper_cpp_freshness.py Studio: add local speech-to-text dictation engine (#7095) 2026-07-23 01:39:03 -07:00
test_windows_external_drive_paths.py Studio: add configurable model download location (#7274) 2026-07-23 01:34:38 -07:00
test_windows_gpu_detection_mock.py studio: deterministic VRAM auto-fit for GGUF (MTP reserve, compute buffer, total-based budget) (#6312) 2026-06-17 03:10:22 -07:00
test_worker_activates_correct_transformers.py Studio: don't pin transformers before the training worker activates the 5.x sidecar (#6968) 2026-07-08 05:33:16 -07:00
test_yaml_trust_remote_code_removed.py Harden trust_remote_code consent: scan GGUF-only auto_map and drop pre-set TRC defaults (#6478) 2026-06-22 02:10:35 -07:00